一、需求背景
linux服务器疑似被人控制,在此溯源谁在什么时间连接到服务器。
二、操作命令
1、定位爆破主机root账户的IP是多少
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more[root@localhost root]# grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more3480 127.0.0.17 192.168.3.327 192.168.3.206 192.168.3.941 192.168.3.13
2、定位哪些IP正在爆破
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c25611 127.0.0.11 192.168.3.328 127.0.0.11 192.168.3.3260 127.0.0.11 192.168.3.3216 127.0.0.11 192.168.3.3236 127.0.0.11 192.168.3.321 192.168.3.132 192.168.3.201 192.168.3.94
3、定位爆破用户的字典
grep "Failed password" /var/log/secure|perl -e 'while($_=){ /for(.*?) from/; print "$1n";}'|uniq -c|sort -nr4、查询登陆成功的IP
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more5、查询登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'Aug 13 03:20:59 root 127.0.0.1Aug 13 03:25:21 root 127.0.0.1Aug 13 03:45:20 root 127.0.0.1Aug 13 22:34:35 root 127.0.0.1Aug 14 00:09:54 root 127.0.0.1Aug 14 03:36:22 root 127.0.0.1
可以很明显看出,这几个时间不对,非下班时间登陆,证明服务器可能被爆破。
此时禁用掉root账户,修改默认22端口,之后无其他问题了。

