我的服务器 (Unix) 出现了奇怪的问题。有几家供应商报告说我的服务器正在使用 SSH 协议向他们的服务器发送恶意请求。
我已经检查了 /var/log 下的系统日志,但什么也没发现。您能指导我如何阻止我的服务器执行这些恶意活动吗?
以下是从不同供应商收到的日志,抱怨您的服务器正在发送这些请求
*May 10 05:20:03 shared05 sshd[18300]: Invalid user dmcserver from 217.138.XX.YY port 41630
May 10 05:20:03 shared05 sshd[18300]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=217.138.XX.YY
May 10 05:20:05 shared05 sshd[18300]: Failed password for invalid user dmcserver from 217.138.XX.YY port 41630 ssh2
May 10 05:20:05 shared05 sshd[18300]: Received disconnect from 217.138.XX.YY port 41630:11: Bye Bye [preauth]
May 10 05:20:05 shared05 sshd[18300]: Disconnected from invalid user dmcserver 217.138.XX.YY port 41630 [preauth]*
注意:217.138.XX.YY 是我的服务器公共 IP 地址。
答案1
立即在外部防火墙上阻止出站 22
ss -p | grep ":ssh"
如果进程当前正在建立连接,将会告诉您哪些进程正在建立连接。
您可能需要擦拭盒子。
由于此端口并不总是打开的,您可以运行一些命令来记录操作,然后在操作发生时运行命令。
- IPTables 规则
iptables -I OUT -p tcp --dport 22 -j LOG --log-prefix="SSHAccessTrigger"
- 触发规则时捕获进程
tail -f /var/log/kern.log | awk '/SSHAccessTrigger/ {system("ss -p | grep ':ssh'")}'
这两者都必须以 root/sudo 身份运行,我会在 tmux 会话中运行它们并每小时检查一次,您应该已经在 FW 上阻止/丢弃了流量。