今日发现系统卡顿,于是登陆服务器查看,发现.rsyslogds与xmrig进程占用CPU到100%,.rsyslogds与xmrig是门罗币挖矿病毒,应该是SSH被暴力破解,导致病毒被植入服务器,需要将病毒程序清除,提升ssh安全性,防止包里破解。
1.清除.rsyslogds
首先找到进程pid
ps -ef | grep .rsyslogds
根据pid寻找文件位置
ls -al /proc/11618
发现病毒程序位置在/usr/sbin/.rsyslogds
在执行rm -rf /usr/sbin/.rsyslogds时,发现无法执行
ll /usr/sbin/.rsyslogds
lsattr .rsyslogds
查看文件属性发现具有----ai-----属性。需要先移除
chattr -i .rsyslogds
chattr -a .rsyslogds
然后成功删除文件,再根据pid把所有.rsyslogds进程kill掉即可
kill -9 21334
kill -9 21605
2.清除xmrig
xmrig进程较为狡猾,每次ps -ef后,会切换pid,所以先删除文件,再使用看top中pid终结进程。最后删除 crontab -e
rm -rf ~/.moneroocean/
top
kill -9 23017
#清掉下面文件中定时任务,重启crontab
crontab -e
systemctl restart crond
3.ssh防暴力破解
通过定时任务读取/var/log/secure中失败IP,对连续5次失败的IP进行封禁。
vim /usr/local/bin/secure_ssh.sh
添加脚本
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
# 设定次数
define="5"
for i in `cat /usr/local/bin/black.list`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $define]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
添加定时程序
crontab -e
每3分钟执行一次检查与添加
*/3 * * * * sh /usr/local/bin/secure_ssh.sh
重启定时任务
systemctl restart crond
完成