![如何检查 Linux 服务器是否没有 rootkit/后门/僵尸网络等?](https://linux22.com/image/518274/%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E6%B2%A1%E6%9C%89%20rootkit%2F%E5%90%8E%E9%97%A8%2F%E5%83%B5%E5%B0%B8%E7%BD%91%E7%BB%9C%E7%AD%89%EF%BC%9F.png)
假如一台 Linux 服务器暴露在互联网上并且安全策略极低(读写匿名 Samba 文件夹、使用默认管理员密码的 Firebird 数据库服务器、没有防火墙等)一周,那么我该如何确保系统不被入侵,而无需完全格式化和重新安装,只能通过 SSH 远程访问?
答案1
通常我建议使用以下工具进行本地检查chkroot工具但如果运行检查的唯一方法是远程进行,那么我建议您尝试Rootkit 猎手反而。
Rookit Hunter 通过运行以下测试来检查 rootkit 和其他此类活动(请参阅项目信息更多细节):
- MD5 哈希比较
- 查找 rootkit 使用的默认文件
- 二进制文件权限错误
- 在 LKM 和 KLD 模块中查找可疑字符串
- 查找隐藏文件
我想补充一点,正如其他人所说,确保你的服务没有被篡改的唯一可靠方法是重建它。这些工具效果很好,但并不能 100% 保证成功。
答案2
操作系统安全评估中心检查rootkit并检测可疑活动。
答案3
我知道这个答案不是你想听到的,但我们还是继续吧。有一些工具可以检查系统,确保系统干净的最佳方法是清除服务器并重建。我会做以下事情:
- 将计算机从互联网上移除
- 备份数据和配置信息以删除设备
- 格式化存储
- 重新安装基本/标准设置/更新
- 使用旧数据作为参考重新配置服务器
- 恢复用户数据
如果您还没有读过的话,这里有一些我建议您阅读的资源。
[1]:http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901“Linux Rootkit 初学者”
答案4
您确实需要积极主动。没有可靠的方法来检测机器上的 rootkit,因此您需要首先阻止它们进入机器,并找到在它们进入时检测它们的方法(例如通过绊线和锁定接口)。
如果您认为某台机器已被以任何方式利用,您确实需要重新安装 - 除了重新安装之外,没有其他保证可以清理它的方法。这是迄今为止最安全的选择。