今天突然收到云平台发来的邮件说我的服务器网络异常过高,把我的外网隔离了。导致了我的服务器上不去外网的问题,故而里面的web平台也都无法访问了。
1.问题排查并解决
遇到这种弄情况,多半是因为服务器遭到了木马的植入,当作肉鸡进行网络攻击了,所以直接进行ps -ef 查看是否有可疑进程,发现没有问题。
也是偶然,有一天在地上班的路上手机公众号推送了一片文章《linux系统被入侵后处理实战》,这文章看的我心潮澎湃、印象颇深。
回到刚才问题上,ps -ef发现没有什么可以进程,怎么办呢?看一下ps命令文件的大小吧
du -sh /bin/ps 结果是1.2MB,一看必然有问题啊,因为真正的ps文件大小只有104K,所以去找了一个同版本的服务器,把ps命令传到受攻击的机器上。查看了下,果然有一些乱起八糟的进程,大概如下:
/usr/bin/pkgd/ps -ef
/usr/bin/bsd-port/getty
/usr/bin/.sshd
宁可错杀,绝不放过 rm -rf /usr/bin/pkgd/ /usr/bin/bsd-port/ /usr/bin/.sshd
killall -9 sshd
根据上面文档指引看到了,/bin/init.d目录下有两个文件,分别是selinux 和 DbsecuritySpt
果断删除 rm -rf /etc/init.d/DbSecuritySpt /etc/init.d/selinux
最后更改了root密码,问题解决了。
总结:
1.替换现有的ps文件
2.杀掉可疑进程
3.删除文件 /usr/bin/pkgd/ /usr/bin/bsd-port/ /usr/bin/.sshd /etc/init.d/DbSecuritySpt /etc/init.d/selinux
4.修改主机密码
针对这次攻击,总结了下防护思路:
1. linux系统安装后,启用防火墙,只允许信任源访问指定服务,删除不必要的用户,关闭不必要的服务等。
2. 收集日志,包括系统日志,登录日志,程序日志等,及时发现潜在风险。
3. 针对用户登录实时收集,包括登录时间,密码重试次数以及用户执行命令记录等。
4. 对敏感文件或目录变化进行事件监控,如/etc/passwd、/etc/shadow、/web、/tmp(一般上传文件提权用)等。
5. 进程状态监控,对新增或可疑进程做好记录并通知。
6. 对上线的服务器系统、Web程序进程安全漏洞扫描。
最后,没有绝对的安全,只有尽可能减少攻击面,提供系统防护能力。
网络安全,从我做起!