我的服务器似乎有大量不需要的已建立端口 22 连接。sudo netstat -natup | grep 'ESTABLISHED'
以 root 身份运行时,我收到一长串不需要的已建立连接,所有连接都具有相同的 PID,并且使用我的 IP 上的不同端口。
root@server:~# sudo netstat -natup | grep 'ESTABLISHED'
tcp 0 712 xxx.xx.xxx.xxx:54010 45.9.148.99:446 ESTABLISHED 51980/tsm
tcp 0 488 xxx.xx.xxx.xxx:58860 83.224.137.250:22 ESTABLISHED 51980/tsm
...and approx. 100 more
在我使用 终止此进程后sudo kill -9 [PID]
,此列表仅显示我的 ssh 连接几分钟。然后,无论我打开新的 ssh 连接还是关闭一个 ssh 连接,都会出现大量新的端口 22 连接,所有连接都具有相同的 PID,并且每个连接都通过我的 IP 地址上的不同端口进行访问。
对于防火墙,我使用 iptables。对于第一次出现的情况,我为 INPUT 和 FORWARD 设置了规则,以断开与特定 IP 地址的连接。这有效,但我无法添加列表中新出现的每个 IP 地址。
$ sudo iptables -I INPUT 1 -s 45.9.148.99 -j DROP
$ sudo iptables -I FORWARD -s 45.9.148.99 -j DROP
我是设置 Ubuntu 网络服务器的新手。任何帮助我都非常感谢。
更新:在 /var/log/auth.log 中,例如,我看到:
Mar 12 12:08:28 server sshd[56681]: Received disconnect from 218.75.147.238 port 51666:11: Bye Bye [preauth]
Mar 12 12:08:28 server sshd[56681]: Disconnected from authenticating user root 218.75.147.238 port 51666 [preauth]
我最近设置了 ssh 密钥并禁用了密码验证。
答案1
每一个服务器,只要有一个开放的互联网端口,就会成为机器人的目标,以尝试大量的漏洞。
两种常见的更好地保护您的方法:
- 安装一个反暴力破解软件,
fail2ban
例如crowdsec
- 将你的
ssh
端口更改为完全随机的高端口,这样不太可能成为攻击目标