我有3台专用服务器,全部运行在加拿大境内的CentOS。
在最新的服务器上,cPHulk开始检测(并列入黑名单)失败的login尝试。 从服务器上线的那一天开始。 从那时起,我每天从cPHulk得到15-30封电子邮件,让我知道“大量失败的login尝试”。
我注意到所有的尝试都来自中国,所以我安装了CSF,完全封锁了中国。 几天后,袭击又回来了,但来自不同的国家。 到目前为止,我已经绝望地阻止了四个国家,但我知道这不是一个合理的解决办法。 现在他们来自我无法阻止的国家,因为我可以期待来自这些国家的合法stream量。
我也遇到了似乎与国家没有关系的IP地址的攻击,比如在这个屏幕截图中:

我并不担心他们能够猜出密码,因为我使用的密码非常强大。
所以我的问题是, 为什么他们瞄准我的服务器,他们是如何迅速find它? 我怎样才能缓解这些login尝试,而不阻止整个国家? 在截图中的IP是从哪里来的? 我唯一的猜测是,我被分配了一个可怕的声誉的IP,但我的服务器pipe理经验和知识是有限的,所以我甚至不知道这样的合理性。
就像迈克尔·汉普顿(Michael Hampton)说的那样,他们(TM)对每个人都这样 他们的脚本检测到一个IP地址在端口上侦听,他们正在扔用户名和密码,看是否有任何东西粘住。 这是一个现场攻击的地图。
如果电子邮件困扰您,您可以将允许的loginIP列入白名单,并在有人从不在白名单上的网站login时向您发送电子邮件。
至于截图中的IP, 0.42.0.0 :
当计算机知道应该使用哪个IP地址时,地址0.0.0.0只能用作传出数据包的地址。 它从不被用作目的地址。 地址以“0”开头的。 有时用于广播直接连接的设备。
如果您看到以“0”开头的地址 在日志中,它们可能在您的networking中使用,可能与连接到家庭网关的计算机一样小。
此块由IETF(开发Internet协议的组织)在标准文档RFC 1122中进行分配,并在最佳当前实践文档RFC 6890中进一步logging。IANA被列为注册人,以明确此networking是没有分配给任何单一的组织。
这些文件可以在http://datatracker.ietf.org/doc/rfc1122 http://datatracker.ietf.org/doc/rfc6890
我很惊讶没有人提出这个问题,但是从这些非常常见的蛮力攻击中解脱出来的一个非常激烈的方法是设置一个像knockd一样的端口敲入守护进程。 因此,除非攻击者以正确的顺序扫描你的机器,否则它甚至不会find打开的SSH端口。 对于合法用户,许多SSH客户端都支持这个function,并且能够在连接到ssh服务器之前触发正确的端口序列。
但是很明显,对于正在运行的fail2ban jail和适当的查找和禁止时间的非平凡身份validation在几乎所有情况下都是足够的。
如果只是关于sshd – 看看例如这里https://unix.stackexchange.com/questions/21639/internet-ssh-server-security-considerations 。
我必须依靠使用用户名和密码,而不是密钥。 为了更安全起见,我在一个非标准的端口上启动sshd ,这似乎阻碍了> 99%左右的攻击。 然后,将sshd configs中的LoginGraceTime设置为10 也就是说,在3次尝试失败之后,下一次尝试只能在10秒之后进行 ,这样在closures连接之前10秒钟内会进行任何authentication尝试。 所以,蛮力是没有更强大的:)也确保设置PermitRootLogin no 。