我的网络服务器不断受到各种 IP 地址的攻击。他们尝试了五个密码,然后更改了 IP 地址。
我已经完成了各种锁定,例如使用 ssh-keys 和不允许密码,以及不允许远程 root 登录。
我可以做些什么来消除这些攻击企图吗?如果做不到这一点,我应该采取具体的防御措施吗?
答案1
我跟着这些说明为每次密码错误的 SSH 登录尝试添加 7 秒的延迟。我将我的 sshd 变成了暴力扫描仪的“tarpit”。
我还应该补充一点,我已经修改了 tarpit sshd 记录了失败的密码。这可能并不完全道德,因为它让根用户可以看到普通用户错误输入的密码,但由于我是唯一的“真实”用户,我认为这没关系。
我没有让它在非标准端口上运行,因为“tarpit”方面不会浪费任何人的时间。
答案2
这确实是生活的一个事实。您可以安装工具来过滤掉在几次失败的尝试后攻击您的主机。
拒绝主机分析您的日志文件并自动将攻击者添加到您的/etc/hosts.deny
文件中。
查看有关如何根据您的需求进行配置的文档。
更新:评论中建议的一些要点
确保将工具正确配置为 DenyHosts,因为您可能会将自己锁定在外(例如,您可以配置从不过滤的计算机或网络)
DenyHosts 不会提高系统安全性:它仅过滤 IP 级别的攻击(它可能会减少小型计算机上的负载并减少日志文件的大小,但仅此而已)
答案3
如果只有少数人需要通过 SSH 连接到系统,那么请考虑将 SSH 移动到非标准端口(例如 6422、8080 等)。仅此一项就可以大大减少登录尝试的次数(并可能保护您免受某些未修补的攻击的影响)例如,基于 SSH 漏洞的蠕虫)。