WEB开发网
开发学院网络安全安全技术 设定OpenSSH账户权限 避免恶意攻击 阅读

设定OpenSSH账户权限 避免恶意攻击

 2009-01-19 13:51:07 来源:WEB开发网   
核心提示:然而,这些攻击不仅仅会转换为一种恼人的东西,设定OpenSSH账户权限 避免恶意攻击,更是一种对日志文件空间的浪费,对于刚开始对付这种攻击的人员来说,还需要猜测正确的账户,任何通过其他用户(即不在被准许用户列表中的用户)的登录企图都会导致失败,明确地设置谁能够通过OpenSSH登录到系统中将有助于击溃大约99%的强力攻

然而,这些攻击不仅仅会转换为一种恼人的东西,更是一种对日志文件空间的浪费。对于刚开始对付这种攻击的人员来说,明确地设置谁能够通过OpenSSH登录到系统中将有助于击溃大约99%的强力攻击,而不管你的系统真实的安全程度如何。

首先,千万不要准许以根用户身份通过SSH登录进入,除非你绝对有必要这样做,而且需要采用SSH密钥。千万不要允许在不需要口令(空口令)的情况下以根据用户登录到系统中。为此,编辑/etc/ssh/sshd_config(在某些系统中即为/etc/sshd_config),并增加:

以下是引用片段:
PermitRootLogin without-password

这就会容许根用户身份登录,不过只能采用一个恰当的SSH密钥才可以登录,其对应的公共部分必须在/root/.ssh/authorized_keys中设置。

其次,明确地定义哪些用户能够登录。因此需要再次编辑sshd_config文件,并增加:

以下是引用片段:
AllowUsers root
AllowUsers freedom

上述的命令仅允许用户root和freedom通过ssh登录。在这里需要注意,一旦你启用了AllowUsers选项,任何没有被列示的用户将不能登录。换句话说,虽然进行了PermitRootLogin设置,如果我们没有设置PermitRootLogin,并将“AllowUsers freedom”放置在配置文件中,即使用了一个正确的口令,根用户也不能登录。因此,随着时间的推移,需要不断地关注这个列表,并确保不再需要访问系统的用户要从列表中清除。

实际上,你不但可以通过指定所允许的用户来强化安全,还可以通过设定一个“用户@主机”模式指定用户可以从哪台主机登录。

让我们举个例子,如果你设置了freedom@192.168.2.18,那么授与给用户账户“freedom”的访问权将只能源自IP地址为192.168.2.18的计算机。在这里我们可以指定多种模式,如freedom@192.168.2.*,就会允许用户freedom可以从网络192.168.2.0的所有主机登录。

OpenBSD的Manual Pages列示了可允许模式的更祥细信息(网址为:http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config),您不妨一看。

最后一点,如果你不需要基于PAM验证,就要设置:

以下是引用片段:
UsePAM no

这本来是默认的选项,如果你需要基于PAM的身份验证(sshd自身不能实现)时,就应当启用之。例如,如果拥有一个通过LDAP验证的用户账户时,就需要启用。如果不启用UsePAM,此用户将永远不能登录。不过,一旦你启用了UsePAM,其它选项并不会象你所期望的那样工作。例如,“PermitRootLogin without-password”就不会正常工作,而且如果没有提供一个合法的ssh密钥,就会退回到这样一种情况:对根用户的口令,需要根据身份验证的提示才得以实现。

在这一点上,仅通过采用AllowUsers关键字,就可以减轻多数的强力攻击企图,因为攻击不但需要猜测正确的口令,还需要猜测正确的账户。

任何通过其他用户(即不在被准许用户列表中的用户)的登录企图都会导致失败,即使提供了正确的口令也是如此。

Tags:设定 OpenSSH 账户

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接