一、处理服务器遭受攻击的一般思路
系统受到攻击并不可怕。可怕的是,没有办法面对这次袭击。以下是服务器受到攻击后的一般处理概念的详细说明。
1.切断网络
所有攻击都来自网络。因此,在得知系统受到黑客攻击后,首先要做的是断开服务器与网络的连接。除了切断攻击源,它还可以保护服务器上的其他网络。
2.查找攻击源
您可以通过分析系统日志或登录日志文件以及打开的端口,正在运行的进程以及可疑的进程来查看可疑信息。应根据经验和综合判断来追踪和分析这一过程。以下部分详细介绍了此过程的处理思路。
3.分析入侵原因和途径
由于该系统已被入侵,原因是多方面的。它可能是系统漏洞或程序漏洞。有必要找出导致它的原因,并找出攻击的方式并找到攻击的来源。只有了解攻击的原因和路径,才能删除攻击源并修复漏洞。
4.备份用户数据
服务器受到攻击后,需要立即备份服务器上的用户数据,并检查攻击源是否隐藏在数据中。如果攻击源是用户数据,请务必将其完全删除,然后将用户数据备份到安全的地方。
5.重新安装系统
永远不要认为你可以完全消除攻击源,因为没有人比黑客更了解攻击者。服务器受到攻击后,最安全,最简单的方法是重新安装系统,因为大多数攻击程序都会附加到系统文件中。或者在内核中,重新安装系统以完全删除攻击源。
6.修复程序或系统漏洞
在发现系统漏洞或应用程序漏洞后,首先要做的是修复系统漏洞或更改程序错误,因为只有在修复错误后才能在服务器上正式运行该错误。
7.恢复数据和连接网络
将备份数据重新复制到新安装的服务器,然后打开服务,最后打开与服务器的网络连接以提供外部服务。
二、检查并锁定可疑用户
当发现服务器受到攻击时,必须首先切断网络连接。但是,在某些情况下,例如无法立即断开网络连接时,您必须登录以检查是否存在可疑用户。如果可疑用户登录系统,则需要立即使用。用户锁定然后中断该用户的远程连接。
1.登录系统查看可疑用户
以root用户身份登录并执行“w”命令列出已登录系统的所有用户,如下图所示。
此输出允许您检查是否有可疑或不熟悉的用户登录,您还可以根据用户名和用户登录的源地址及其运行过程来确定他们是否是非法用户。
2.锁定可疑用户
一旦找到可疑用户,应立即锁定。例如,在执行“w”命令后,发现nobody用户应该是可疑用户(因为默认情况下没有人没有登录权限),因此首先锁定用户并执行以下操作:
[root @ server~]# passwd -l nobody
锁定后,用户可能仍然登录,因此用户应该离开线路。根据上面“w”命令的输出,用户登录的pid值可以按如下方式获得:
[root @ server~]# ps -ef | grep @ pts/3 531 6051 6049 0 19: 23? 00: 00: 00 sshd: nobody @ pts/3 [root @ server~]# kill -9 6051
这使可疑用户无人接听。如果此用户尝试再次登录,则表示已无法登录。
3.通过last命令查看用户登录事件
last命令记录登录系统的所有用户的日志。它可用于查找未授权用户的登录事件。最后一个命令的输出来自/var/log/wtmp文件。一些有经验的入侵者会删除/var /。记录/wtmp以清除您自己的行踪,但仍然显示此文件中的线索。
三、查看系统日志
查看系统日志是查找攻击源的最佳方式。可以检查的系统日志包括/var/log/messages,/var/log/secure等。这两个日志文件可以记录软件的运行状态和远程用户的登录状态。您还可以查看每个用户目录的.bash_history文件,尤其是/root目录下的.bash_history文件,该文件记录用户执行的所有历史命令。
四、检查并关闭系统可疑进程
有许多用于检查可疑进程的命令,例如ps,top等,但有时只有进程的名称无法知道路径。您可以通过以下命令查看它:
首先,您可以使用pidof命令找到正在运行的进程的PID。例如,要查找sshd进程的PID,请执行以下命令:
然后输入内存目录,查看PID目录下exe文件对应的信息:
这将找到该进程的完整执行路径。如果仍有句柄来查看文件,可以按如下方式查看目录:
[root @ server~]# ls -al/proc/13276/fd
通过这种方式,您可以基本上找到任何进程的完整执行信息,此外还有许多类似命令可帮助系统操作员查找可疑进程。例如,您可以通过指定port或tcp,udp协议找到进程PID,然后找到相关进程:
五、检查文件系统的完好性
在有些时候,攻击者的程序隐藏很深,例如rootkits后门程序,在这种情况下ps、top、netstat等命令也可能已经被替换,如果再通过系统自身的命令去检查可疑进程就变得毫不可信,此时,就需要借助于第三方工具来检查系统可疑程序,例如前面介绍过的chkrootkit、RKHunter等工具,通过这些工具可以很方便的发现系统被替换或篡改的程序。