当我们遇到服务器被黑的情况应该怎么办呢?别着急,小编为大家详细解答。 1、了解服务器异常情况。 常见异常情况:异常的流量、异常tcp链接(来源端口,往外发的端口)、异常的访问日志(大量的ip频繁的访问个别文件)。 如果部署了监控系统的话(强烈建议部署zabbix,并增加对系统添加专门安全items),可以方便通过zabbix监控图和趋势对比了解这些信息: 比如系统被黑或者中木马的话,zabbix上表现常见为: 1)系统负载不正常增加(14天,按天对比,事故当天安时对比),主要是因为会有系统操作,起一些恶意进程会占用CPU,占用IO:比如起进程挖矿,会大量占用CPU;如果中勒索木马的话,会对系统文件加密,会大量占用占用CPU,占用IO。 2) 系统链接数不正常,对外流量不寻常的增加:木马利用当前服务器对外发包,进行二次扫描或者Ddos攻击。 异常上行流量监控表现 3) 服务器文件变化,文件被篡改:主要涉及目录有/tmp,/root/.ssh,/boot/,/bin,/sbin,/etc,/etc/crontab,/etc/init.d/ 等等。 关于服务器安全监控的有关内容,此处不在在赘述,后续笔者会推出专门文章予以阐述,敬请期待。 2、根据服务器情况判断 利用last,lastb发现异常的用户登录情况,ip来源。利用lastlog,/var/log/message,/var/log/secure,日志等,是否权限已经被攻陷。用history 发现shell执行情况信息,用top,ps,pstree等发现异常进程和服务器负载等情况,用netstat -natlp发现异常进程情况。用w命令发现当前系统登录用户的情况。 3、中标服务器处理: 如果发现异常用户,立即修改用户密码,pkill -kill -t tty 剔除异常用户。然后进行进一步处理。 1)发现异常进程,立即禁止,冻结禁止。 如果禁止后会自动重启,则需要判断crontab等来找到进程重启的原因,如果有cron项目恶意重启进程,先要对cron进行清理。如果,是进程有自启动机制保护进程被杀后重启的话,此时可暂时冻结异常进程(注意不是停止) 发现一个恶意进程后通过 ls –al /proc/Pid (Pid为具体的进程号),发现进程的启动路径,启动的文件所在目录等信息。 kill -STOP Pid 可以暂时冻结pid的进程,这时此进程将不能正常工作,不能占用系统资源,不往外发包。,被冻结的进程可以通过ps aux|grep –T来查到,此后如果需要可通过 skill -CONT Pid恢复进程。 2)如果发现异常连接数,通过iptables封禁相关端口或者ip 3) 查看网站访问日志,分析异常访问,对异常访问ip进行处理,对异常访问的文件进行处理 4)对清理移动木马,杀掉进程。 首先清理掉,木马创建的cron 计划项和主要是/etc/crontab文件,和cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ cron.weekly/等目录下的恶意计划项目; /etc/init.d/下的恶意启动项以及rcN目录下的启动项。记录下这些项目的内容涉及到的文件,然后全部清理到,注意截图保留相应的证据(文件时间签,文件内容等的截图)。 其次,根据ls -al /etc/proc/Pid/ 找的恶意木马文件,以及上一步的计划项和启动项目中涉及所有木马文件。所有进程项目的进程ID: 恶意进程的执行目录和文件 最后用一条命令 kill -9 所有的进程ID && rm -rf 所有涉及的文件和目录。 ok,搞定。然后注意观察服务器情况,如果有问题立马重复以上步骤请出。利用以上步骤可以完全清理所有木马,完全没有必要,已有问题就格盘重装系统,那是非常不专业,业务选手的做法。而且很多时候业务不允许有时间,有资源让你下线重装的。 以上就是我们的今日分享,希望对大家有所帮助。 |