首页 > 如何识别自己的主机是否被入侵过

如何识别自己的主机是否被入侵过

最近bash的漏洞影响很广,我想知道一般情况下,怎么检查自己的服务器是否有被入侵过?


  1. 检查 last 命令中最近登录的时间和 IP, 但是这个记录非常容易被伪造,如果入侵者进来之后下载了一些数据(比如数据库)然后清除了记录,那么你也拿他没办法,所以下面也不讨论这种情况。

  2. 检查进程列表,有没有不认识进程,检查 netstat -lnp 有没有不认识的进程。PS: 进行此项检查前请确认 ps 和 netstat 未被替换。

  3. 检查 crontab, crond, atd, rc, initscript, systemd 的配置文件,看看有没有不认识的自启动项。PS: 进行此项检查之前请确认 cat/vi 或其他编辑器未被替换。

  4. 用包管理器检查已安装的软件包中有没有被新增、删除、篡改的文件(见 http://blog.rimuhosting.com/2011/10/12/checking-a-potentially-hacked-machine-and-reinstalling-packages-when-you-break-things/). PS: 进行此项检查前请先确认包管理器没有被替换。

  5. 检查所有帐号的密码和用户组设置,和 ~/.ssh/authorized_keys; 检查 /etc/sudoers.

以上是一个初始安装的 Linux 的情况,如果你安装了其他软件,可能还要针对性地做检查。


1 在终端里敲last命令,可以查看主机最近几次的登录时间,IP和登录的用户。如果里面有你不认识的IP,那么很不幸可能你的终端被入侵了。

2 查看你的服务器的access_log,如果里面有同一IP的大量访问信息,或者是一些比较奇怪的URL(这种情况也可能是有爬虫在爬你的网站),那么可能你的终端被入侵了。

3 最近这个bash漏洞,入侵者可能不大能拿到root权限,拿到的权限应该是类似www用户的一类权限,所以它能够做的就看一些你的配置文件等等。所以针对这种情况,你可以看一下你的诸如httpd.conf一类的配置文件的最近访问时候等。
关于漏洞的原理可以参照下这篇文章

【热门文章】
【热门文章】