服务木马排查思路
一、 检查系统日志
lastb | awk '{ print $3}' | sort | uniq -c | sort -n
lastb 是一个用于显示 Linux 系统中登录失败的用户相关信息的命令。它读取位于 /var/log 目录下的 btmp 文件,该文件记录了所有登录失败的尝试。可以从这里面查看是否有异常ip登录。
如果有异常ip登录,
解决方案:SHH 服务做防暴力破解,并编写脚本把这些 IP 添加到 iptables
防火墙拒绝掉,重要的是 22 号端口改为其他端口并限制 root 用户
二、 检查系统用户
查看是否有异常的系统用户
cat /etc/passwd
查看是否产生了新用户,UID 和 GID 为 0 的用户
grep "0" /etc/passwd
查看 passwd 的修改时间,判断是否在不知的情况下添加用户
ls -l /etc/passwd
查看是否存在特权用户
awk -F: '$3==0 {print $1}' /etc/passwd
查看是否存在空口令帐户
awk -F: 'length($2)==0 {print $1}' /etc/shadow
三、 检查异常进程
注意 UID 为 0 的进程
使用 ps -ef 命令查看进程
察看该进程所打开的端口和文件
lsof -p pid 命令查看
检查隐藏进程
ps -ef | awk '{print }' | sort -n | uniq >1
ls /proc/ |sort -n |uniq >2
diff 1 2
四、检查系统异常文件
文件特殊权限
find / -size +10000k -print
find ./ | xargs lsattr | grep '---\i'
rpm -Va #注意相关的/sbin,/bin,/usr/sbin,/usr/bin
输出格式说明:
S – File size differs
M – Mode differs (permissions)
5 – MD5 sum differs
D – Device number mismatch
L – readLink path mismatch
U – user ownership differs
G – group ownership differs
T – modification time differs
五、检查系统计划任务
检查配置文件同理 注意常用命令也需要检查,避免被替换
find /etc/cron -type f -exec md5sum {} \; > ./cron1-md5.txt
echo aaa >> /etc/cron.hourly/0anacron
find /etc/cron -type f -exec md5sum {} \; > ./cron2-md5.txt
diff cron1-md5.txt cron2-md5.txt
建议备份 md5 文件到本地。
六、 检查 rootkit
rkhunter -c
chkrootkit -q
这里不做详细排查,因为被 rootkit 之后系统已经不可靠,重装大法 了解
一下!重点在于找到系统被入侵的点。
七、安全配置 SSH 防暴力破解
1.将默认端口 22 修改为自定义的 2020 端口
[root@xu ~]# vi /etc/ssh/sshd_config
[root@xu ~]# grep Port
/etc/ssh/sshd_config
Port 2020
然后重启 sshd 服务