此服务器将用于Web应用程序,但我不确定如何评估执行此任务的工具.我过去曾尝试过一些工具,但不确定它们是如何叠加在一起的.如何评估我的SSH安全性以及我将用于执行该安全的工具和实用程序?
解决方法
广泛的,通过专门允许你想要的IP,然后阻止其他所有IP,使用iptables到防火墙端口22对任何不需要的IP.
您还可以指定用户是否可以使用密码登录,或者是否必须拥有证书,如果您怀疑人们会试图侵入他人的帐户,这可能是个好主意.
但是对于细节,我们必须知道你在做什么.
编辑
好的,考虑到您在评论中所说的内容,您希望防止未经授权访问本机.第二部分,确保您的用户不做任何坏事,超出了这个特定问题的范围,但也是一个值得讨论的话题.广泛但值得一提.
您需要编辑的主文件是/ etc / ssh / sshd_config,并且在每次配置更改后,您需要运行/etc/init.d/sshd restart(或/etc/init.d/ssh,如果它是debian / ubuntu系统).当您第一次学习如何配置ssh时,最好登录本地控制台,因为错误配置会切断您的访问.
步骤1:确保root无法通过ssh登录.
PermitRootLogin no
如果您必须具有root登录,则可以将其设置为“without-password”,这需要连接用户提供证书并进行身份验证.
第2步:允许(或拒绝)应该(或不应该)具有访问权限的任何特定用户
有许多配置指令可以执行此操作,如DenyUsers,AllowUsers,DenyGroups和AllowGroups.这些列出了由空格分隔的用户或组.
其中一个很好的事情是你可以指定user @ host,所以如果你只想让Bob能够从他的家用机器连接,你可以说
AllowUsers bob@bhome.local
步骤3:明确允许公钥认证
PubkeyAuthentication yes
这是默认设置,但我们希望确保它生效,因为我们将禁用用户在…中键入密码的功能
第4步:禁用密码验证
密码可以从键盘下方的便利贴中被窃取,窃听或复制.证书很难做到.确保人们不能使用密码:
PasswordAuthentication no
第5步:确保客户端使用现代协议
Protocol 2
OpenSSH支持2个创造性地称为“1”和“2”的协议. “1”是旧的,允许DES加密和其他不安全的东西.
您必须获得用户putty证书才能立即连接.最简单的方法是使用Putty网站(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)提供的PuttyGEN.
希望能帮助到你!