![我如何知道我的 Linux 服务器是否已被黑客入侵?](https://linux22.com/image/481799/%E6%88%91%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%88%91%E7%9A%84%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E5%B7%B2%E8%A2%AB%E9%BB%91%E5%AE%A2%E5%85%A5%E4%BE%B5%EF%BC%9F.png)
Linux 服务器被黑客入侵的迹象有哪些?是否有工具可以定期生成并通过电子邮件发送审计报告?
答案1
- 保留原始副本将关键系统文件(例如 ls、ps、netstat、md5sum)复制到某个地方,并对其生成 md5sum,然后定期将其与当前版本进行比较。Rootkit 一定会修改这些文件。如果您怀疑原始文件已被泄露,请使用这些副本。
- 助手或者绊线将告诉您任何已被修改的文件 - 假设它们的数据库没有被篡改。
- 配置 syslog 以将日志文件发送到远程日志服务器不会被入侵者篡改。查看这些远程日志文件是否存在可疑活动
- 阅读你的日志定期使用日志监视或者日志检查来综合关键信息。
- 了解你的服务器. 了解哪些类型的活动和日志是正常的。
答案2
过去有一些事情让我有所警觉:
- 系统本应处于空闲状态,但负载过高
- 奇怪的段错误,例如来自标准实用程序
ls
(这可能发生在损坏的 root 工具包中) /
或中的隐藏目录/var/
(大多数脚本小子太笨或太懒,无法掩盖他们的踪迹)netstat
显示不应该存在的开放端口- 进程列表中的守护进程通常使用不同的版本(例如
bind
,但您总是使用djbdns
)
此外,我发现有一个可靠的迹象表明一个盒子已被破坏:如果你对你继承了系统的管理员的勤奋程度(更新等)有不好的感觉,请密切关注它!
答案3
你不知道。
我知道,我知道——但这确实是偏执而悲伤的事实;)当然有很多线索,但如果系统是专门针对的——可能就无法分辨。了解没有什么是完全安全的是件好事。但我们需要努力提高安全性,所以我将指出所有其他答案;)
如果您的系统受到损害,则任何系统工具都无法被信任来揭示真相。
答案4
有一种方法可以检查被黑的服务器kill
-
本质上,当您运行“kill -0 $PID”时,您正在向进程标识符 $PID 发送一个 nop 信号。如果进程正在运行,kill 命令将正常退出。(FWIW,由于您传递的是 nop kill 信号,进程不会发生任何事情)。如果进程未运行,kill 命令将失败(退出状态小于零)。
当你的服务器被黑客入侵/安装了 rootkit 时,它做的第一件事就是告诉内核隐藏受影响的进程,使其不出现在进程表中。然而,它可以在内核空间做各种有趣的事情来干扰进程。这意味着
a) 此检查并不是一项广泛的检查,因为编码良好/智能的 rootkit 将确保内核以“进程不存在”的答复进行回复,从而使此检查变得多余。b) 无论哪种方式,当被黑客入侵的服务器正在运行“坏”进程时,它的 PID 通常不会显示在 /proc 下。
所以,如果您到现在为止还在这里,方法是杀死 -0 系统中的每个可用进程(从 1 -> /proc/sys/kernel/pid_max 的任何进程)并查看是否有正在运行但未在 /proc 中报告的进程。
如果某些进程确实在运行,但未在 /proc 中报告,那么无论从哪个角度看,您可能确实遇到了问题。
下面是一个实现所有这些功能的 bash 脚本 -https://gist.github.com/1032229将其保存在某个文件中并执行它,如果您发现在 proc 中未报告的进程,您应该有一些线索可以开始深入研究。
嗨嗨。