我如何知道我的 Linux 服务器是否已被黑客入侵?

我如何知道我的 Linux 服务器是否已被黑客入侵?

Linux 服务器被黑客入侵的迹象有哪些?是否有工具可以定期生成并通过电子邮件发送审计报告?

答案1

  1. 保留原始副本将关键系统文件(例如 ls、ps、netstat、md5sum)复制到某个地方,并对其生成 md5sum,然后定期将其与当前版本进行比较。Rootkit 一定会修改这些文件。如果您怀疑原始文件已被泄露,请使用这些副本。
  2. 助手或者绊线将告诉您任何已被修改的文件 - 假设它们的数据库没有被篡改。
  3. 配置 syslog 以将日志文件发送到远程日志服务器不会被入侵者篡改。查看这些远程日志文件是否存在可疑活动
  4. 阅读你的日志定期使用日志监视或者日志检查来综合关键信息。
  5. 了解你的服务器. 了解哪些类型的活动和日志是正常的。

答案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 中未报告的进程,您应该有一些线索可以开始深入研究。

嗨嗨。

相关内容