我看到很多包含此行的日志:
Nov 7 03:47:41 s1 sshd[23430]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 05:08:16 s1 sshd[24474]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 06:33:59 s1 sshd[25526]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 08:06:33 s1 sshd[26601]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 09:24:14 s1 sshd[27460]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 10:59:49 s1 sshd[28821]: Received disconnect from XX.XXX.XX.XX: 11:
Nov 7 12:14:39 s1 sshd[29894]: Received disconnect from XX.XXX.XX.XX: 11:
我在这里只粘贴了 7 行,但日志文件中有数百行。IP 始终相同。
有人告诉我,这表明我的服务器已被黑客入侵,并且攻击者设法以某种方式清除了注册登录信息的日志条目,因为为了出现“断开连接”消息,我必须之前对同一 IP 有“接受...”消息。这是真的?
我的问题是:
- 通过这些日志我能断定我的服务器确实被黑客入侵了吗?
- 此消息到底是什么意思?我曾在某处读到过:11 代表:“SSH2_DISCONNECT_BY_APPLICATION”,但我不明白它真正的含义。
服务器运行 CentOS 并关闭了 SSH 密码验证。唯一显示“已接受公钥...”的日志来自我自己的公共 IP 地址。所以我猜他们不是通过这种方法登录的,除非攻击者真的在清除任何痕迹,对吗?
提前谢谢了。
答案1
这是暴力攻击
该方法尝试通过发送登录请求然后测试结果来查找登录访问权限,只要结果未登录,它就会重试另一个登录名/密码组合,直到获得访问权限
主要针对互联网:
- FTP(通常为端口 21)
- SSH(通常为端口 22)
- TS(通常为端口 3389)
- 网站登录页面(通常为端口 80 和 443)
为了防止此类攻击:
- (如果可能)更改默认端口
- 设置复杂的密码
- 尝试避免使用基本登录名(admin/root/administrator,...)
- 有一个“失败尝试”延缓器,这样会花费太多时间来找到好的登录名/密码组合。
如今大多数系统工具都足够安全,可以抵御此类攻击
我认为除非您的登录/密码级别较低,否则您不会被黑客入侵。除了尝试失败之外,此日志没有说明任何内容。
如果黑客登录了,他们会删除所有日志,而不仅仅是一些日志(浪费了太多时间)。
您可以做的是(如果您真的认为自己已被黑客入侵)检查您是否有一段没有日志或缺少日志的时期。
建议你可以使用一些工具来防止类似这样的攻击fail2ban
供参考,您的案例中的消息SSH2_DISCONNECT_BY_APPLICATION
意味着这是来自用 Java 编写的僵尸网络的僵尸登录尝试
答案2
这只是来自浏览互联网的探测器的“垃圾邮件”。如果您不允许密码验证,它们并不危险。这些消息可能只是噪音,因为它们通常不知道除密码之外的任何其他验证。
为了减少噪音,可以设置一些fail2ban
,fwknop
或者将服务移至其他端口。