情况一:发现公司一台正式生产服务器(有公网IP)的root密码被修改,导致无法登陆服务器
1)进入单用户模式修改root密码,服务器在身边,自己修改
2)打电话找IDC机房管理人员修改,如果有GRUB加密,告诉相关人GRUB密码
情况二:如果没有改密码,只是服务器被做肉鸡,大量发外数据包
1)last命令查看最近登录过本服务器的IP地址和时间,用IP138查询IP位置 #如阿里云主机有异地登录提醒
2)立刻查看sshd远程连接服务的secure日志
解决方案
第一步:首先将此非法IP屏蔽, 防止在处理过程中再次破坏
方法1:
使用iptables防火墙
iptables -A INPUT -s 188.173.171.146 -j DROP
方法2:
修改配置文件 vim /etc/hosts.deny
ALL : 114.8.23.4
第二步:找出黑客留下的后门帐号
方法1:
过滤bash,查看/etc/passwd 和/etc/group 中有无多余需要登录的用户
grep bash /etc/passwd
方法2:查看家目录
ls /home/
隐藏用户身份方法
1)隐藏家目录,指定家目录在其他目录
useradd -d /bin/email email
2)隐藏bash,把改完后内容插入到passwd中间位置
cp /bin/bash /sbin/nologin
vim /etc/passwd
改:email:x:500:501::/home/email:/bin/bash
为:email:x:43:43::/bin/email:/sbin/nologin
排查
方法1:
找一个好的服务器的passwd文件和被黑的服务器做比,对比两个文件是否一样
vimdiff /etc/passwd /opt/passwd-ok
方法2:
查看账户是否有对应的登录密码 vim /etc/shadow
隐藏用户身份方法-改进型
1)可以给系统默认的bin用户一个密码
echo 123456 | passwd --stdin bin
2)打开了sshd允许无密码登录,比如:sync帐号
vim /etc/ssh/sshd_config
#65 PermitEmptyPasswords no #是否允许以空的密码登入
3)修改passwd文件,去掉x。作用:密码占位符。去掉后,就说明这个用户没有密码
vim /etc/passwd
改:sync:x:5:0:sync:/sbin:/bin/sync
为:sync::5:0:sync:/sbin:/bin/sync
排查
方法1:
和好服务器上的sshd_config做对比
diff /etc/ssh/sshd_config /opt/sshd_config-ok
方法2:
diff /etc/passwd /opt/passwd