未经请求的SSH连接

我已经有一个Ubuntu 8.04服务器运行,并在互联网上几天….我有端口21和22的FTP和SSH打开…所有其他端口都closures。

我跑了

netstat 

并find了这个

 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已经build立到服务器的SSH连接…并正在发送数据包…有人可能build立SSH连接,而无需身份validation?

我在地址上做了反向DNS查找……而且根据这个资源,它似乎从中国变成了…

 http://www.ipaddresser.com/ 

我认为大多数服务器都在阻止像这样的东西,但有这样的人坐在这样的端口是不寻常的? 有没有办法在服务器级别阻止某些IP?

服务器位于思科防火墙的后面。

所有“ESTABLISHED”意味着tcp会话是打开的。 这并不意味着他们已经成功validation。 例如,Nmap在扫描端口22时将创build一个完整的合法的TCP会话。(它正在validation守护进程是sshd ,检查版本string等)。这个人可能正在运行一个简单的端口扫描器,甚至试图蛮力你的密码。

为了弄清楚实际发生了什么事情,你需要在日志上花费一些高质量的时间。 花大部分时间寻找成功和失败的login。 也只是运行“ who ”会让你知道是否有人通过该连接实际login。

last的输出也可以是有用的。

Insyte击败了我。

从该IP删除所有连接:

iptables -A INPUT -s 125.211.221.145 -j DROP

  • 不要在端口22上运行ssh。
  • 不要允许连接到您在整个互联网上运行ssh的任何端口。 **如果你需要从随机的地方连接安装knockd。
  • 不要运行ftp。

您可以使用诸如BlockHosts之类的软件包来停止所有这种不请自来的连接。 这里有一个很好的教程 – 这是Debian Etch,但几乎所有的教程都适用于Ubuntu。

我运行一个名为fail2ban的程序,它读取常见守护进程(如ssh和ftp)的日志。 它使用正则expression式来监视这些日志中的失败的login尝试,并更新防火墙规则来阻止IP的入侵者。 您可以通过以下方式自定义fail2ban的行为,例如ip被阻止之前失败的尝试次数以及阻塞的时间。 它工作得很好,我对此很满意。 看看这里 。

虽然我不熟悉gareth_bowles的BlackHosts,但是我觉得它和fail2ban类似。