昨天我发现我的服务器通过 h00lyshit 漏洞被 root 了。到目前为止,我删除了所有可能与该漏洞相关的文件。我还删除了 中的所有 ssh 密钥~/.ssh/authorized_keys
。我将 root 密码更改为 25 个随机字符的密码,并更改了 mysql 密码。
另外,我认为攻击者来自意大利,由于我只需要从我的国家/地区访问,所以我阻止了除我自己的国家/地区之外的所有 IP 范围,这有帮助吗?
你们有什么好的建议吗?我打算通过 ssh 禁用 root(我知道我应该早点这么做 :( )。有没有办法检查他是否可以再次访问我的服务器?
幸运的是,没有造成任何损害,哦,如果有人感兴趣的话,我正在运行带有 2.6.26 内核的 Debian Lenny。
附言:这是我的第一个问题 :D
答案1
您应该从已知的良好备份中恢复服务器。没有真正的方法可以知道没有安装其他后门,对吧?
答案2
我会总是提倡在已知存在漏洞的情况下进行彻底重建。这是唯一安全的方法。
假设您有备份,并且它们是最新的,并且它们涵盖的不仅仅是服务器上的数据,那么您就有取证的材料。
如果您还没有使用 Chef 或 Puppet 等工具来快速重建至已知状态,那么现在就开始吧。
重建机器后,您需要考虑攻击媒介以及如何缓解攻击。您提到了您的 ssh 配置 - 还有许多其他配置 - 对于以 Redhat 为中心且偏执的方法,请看这里:
http://www.nsa.gov/ia/_files/factsheets/rhel5-pamphlet-i731.pdf
对于 Debian 和类似的方法,请参见此处:
Debian 点 org /doc/manuals/securing-debian-howto/
祝你好运。
答案3
不幸的是,由于他拥有 root 访问权限,因此无法真正知道黑客对系统做了什么。他们可能修改了日志以隐藏他们的踪迹和任何其他损坏。格式化并重新安装或从已知的良好备份中恢复是唯一安全的方法。祝你好运。
下次禁用 root 登录,更改 ssh 端口,并立即运行 iptables。
答案4
就我个人而言,如果我被 root 了,最好从备份中获取数据。如果没有,就从服务器中获取数据,然后启动并清除它。(http://www.dban.org/)