我已经在 Internet 上运行了 Ubuntu 8.04 服务器几天了……我为 FTP 和 SSH 打开了端口 21 和 22……所有其他端口都关闭了。
我跑了
netstat
发现了这个
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 68 10.7.1.71%134645824:ssh 125.211.221.145%8:47777 ESTABLISHED
似乎 125.211.221.145 已经建立了与服务器的 SSH 连接......并且正在发送数据包......有人可以在没有身份验证的情况下建立 SSH 连接吗?
我对该地址进行了反向 DNS 查找...根据此资源,它似乎来自中国...
http://www.ipaddresser.com/
我假设大多数服务器一直在抵御这样的事情,但是让某人坐在这样的端口上是不寻常的吗?有没有办法在服务器级别阻止某些 IP?
服务器位于强大的 Cisco 防火墙后面。
所有“已建立”的意思是 tcp 会话是打开的。这并不意味着他们已成功通过身份验证。例如,Nmap 将在扫描端口 22 时创建一个完整的、合法的 TCP 会话。(它正在验证守护进程是否
sshd
为密码。要弄清楚实际发生了什么,您需要花一些时间来处理日志。花大部分时间寻找成功和失败的登录。同样,只需运行“
who
”即可让您知道是否有人通过该连接实际登录。的输出
last
也很有用。Insyte 打败了我。
要从该 IP 删除所有连接:
iptables -A INPUT -s 125.211.221.145 -j DROP
您可以使用 BlockHosts 之类的包来停止所有此类未经请求的连接。这是一个很好的教程——它适用于 Debian Etch,但几乎所有的教程也适用于 Ubuntu。
我运行了一个名为 fail2ban 的程序,它读取常见守护进程(如 ssh 和 ftp)的日志。它使用正则表达式来监控这些日志中的失败登录尝试,并更新防火墙规则以阻止入侵者的 ip。您可以自定义fail2ban 的行为,例如在阻止ip 之前尝试失败的次数以及阻止ip 的时间。它工作得很好,我很满意。在这里查看。
虽然我不熟悉 gareth_bowles 的 BlackHosts,但我怀疑它类似于 fail2ban。