如果我不停止创build数千个(精确到9000个)SSH进程,我的vServer主机会威胁取消我们的合同。 我不知道他们是否使stream程失效,或者当他们find这些stream程时是否这样。 他们寄给我一份包含数千行文件的文件
sshd 19716 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19739 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19753 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19776 0.0 0.0 0 0 ? Z Jan26 0:00 [sshd] <defunct>
我不知道这是怎么发生的,我想知道一个解决scheme,所以我不会取消再次打开服务器之前!
我唯一能想到的就是我经常连接到服务器,连接非常不稳定。 那么这可能会导致几个星期和几个月的过程中创build一千个过程?
我的服务器可能被黑客入侵吗? 我不使用fail2ban(我也不知道如何),但我使用密钥文件。
服务器在Debian上运行Apache和一个Tomcat。
未雨绸缪。 选项从最好到最差。
安装fail2ban。 这是您的最佳select,因为它会阻止任何尝试连接无效凭据的人。
安装iptables来限制到SSH的新连接。
# Create new SSHSCAN chain iptables -N SSHSCAN # Send new SSH attempts to SSHSCAN chain. iptables -A INPUT -m tcp -p tcp --dport 22 -m state --state NEW -j SSHSCAN # Identify a recent-match list, based on the source address iptables -A SSHSCAN -m recent --set --name SSH --rsource # Log and drop if there are more than 5 iptables -A SSHSCAN -m recent --update --seconds 10 --hitcount 5 --name SSH --rsource -j LOG --log-prefix "Anti SSH-Bruteforce: " --log-level 6 iptables -A SSHSCAN -m recent --update --seconds 10 --hitcount 5 --name SSH --rsource -j DROP
有关iptables最近匹配的更多信息,请查看信息 。
感谢@ gaurav-pundir的命令。
Optin 3设置了防火墙,以确保只有您可以访问:阻止SSH,以便只有您的IP(如果它是静态的)或您的提供商networking可以访问。 networking块选项不实用,你可能没有一个固定的IP可用。 即使这是最糟糕的,对于dynamic地址,即使您实现了其他选项之一,也可以考虑实施它。
编辑 :从你最近的列表看来,你的不稳定的连接是离开僵尸连接。 这不会解决你的问题,但不会造成任何伤害。