前言:
之前一直認為放在公網(wǎng)的機器一定要開iptables,放在內(nèi)網(wǎng)的是比較安全的懂拾,這次事件教會我:內(nèi)網(wǎng)機器攘须、該開iptables也得開胰耗!你無法保證內(nèi)網(wǎng)其他機器不會被攻擊進而成為攻擊者祟剔!
起因:
從2017年12月19日開始隔躲,我們發(fā)現(xiàn)服務(wù)器上的程序運行緩慢,開始我們以為是hadoop本身的問題物延,于是針對Hadoop進行優(yōu)化宣旱,在20日開始,服務(wù)器開始出現(xiàn)反復(fù)的重啟叛薯。針對重啟原因我們排除了CPU溫度原因浑吟、電源管理程序兼容性的原因,并且機房的工作人員也到機房確認了硬件無故障耗溜。在后續(xù)工作中我們發(fā)現(xiàn)top命令和ambari監(jiān)控提供的CPU占用情況有極大的出入组力。
問題描述:
CPU占用高,top命令顯示CPU使用正常抖拴,可用vmstat查看到燎字,后續(xù)有ambari metrics和monitorix證明top顯示有問題。
下圖為其中一臺機器的monitorix監(jiān)控信息
其中24日至26日空白部分為該機器宕機未記錄
可以看出CPU實際使用率是非常高的阿宅。(下圖為一臺正常的沒什么操作的機器的監(jiān)控情況)
問題分析:
top命令顯示的不正澈蜓埽可能是由于遭到了rootkit攻擊,ps和top等系統(tǒng)文件被替換洒放,CPU占用率異可能是被植入了挖礦程序蛉鹿,結(jié)合阿里給出的解決方案進行檢查(鏈接地址: https://helpcdn.aliyun.com/knowledge_detail/41206.html )
檢查結(jié)果如下:
刪除掉被隱藏的惡意模塊后重啟機器、檢查CPU運行情況拉馋,發(fā)現(xiàn)下降至正常水平榨为。
后續(xù)處理:
分析造成本次感染的原因可能是由于其中一臺服務(wù)器的redis-server的漏洞導(dǎo)致惨好』蛙睿考慮到是內(nèi)網(wǎng)環(huán)境,僅開放了公網(wǎng)的22端口訪問日川,從公網(wǎng)感染的可能性極低蔓腐,可能是從內(nèi)網(wǎng)進行的入侵。我們將針對iptables策略進行更細化的制定龄句,增強對服務(wù)器的安全維護回论,避免因程序漏洞導(dǎo)致的被入侵。
后記:
以上處理僅僅是去除了病毒的挖礦模塊分歇,接下來就是分析病毒的入侵方法傀蓉,經(jīng)過檢查,我在一臺裝有redis的機器上的/root/.ssh/目錄下找到了dump.rdb文件职抡,這是典型的redis入侵的特征葬燎,打開后內(nèi)容如下:
亂碼+秘鑰
對這個ID進行baidu
惡貫滿盈的對手!
接下來還發(fā)現(xiàn)Iptables修改后重啟被自動被加入一些output chain,均為一些莫名其妙的IP
考慮是被加入了開機啟動項和定時任務(wù)谱净,定時任務(wù)之前被我清理過窑邦、開機啟動項中我找到了一個wipefs的目錄,隨手百度一下就發(fā)現(xiàn)問題也是命大
按照如下網(wǎng)頁操作
https://www.cnblogs.com/liuchuyu/p/7490338.html
rm -rf /bin/wipefs
rm -rf /etc/init.d/wipefs
rm -rf /bin/ddus-uidgen
rm -rf /etc/init.d/acpidtd
rm -rf /etc/rc0.d/S01wipefs
rm -rf /etc/rc1.d/S01wipefs
rm -rf /etc/rc2.d/S01wipefs
rm -rf /etc/rc3.d/S01wipefs
rm -rf /etc/rc4.d/S01wipefs
rm -rf /etc/rc5.d/S01wipefs
rm -rf /etc/rc6.d/S01wipefs
rm -rf /etc/rc.d/rc0.d/S01wipefs
rm -rf /etc/rc.d/rc1.d/S01wipefs
rm -rf /etc/rc.d/rc2.d/S01wipefs
rm -rf /etc/rc.d/rc3.d/S01wipefs
rm -rf /etc/rc.d/rc4.d/S01wipefs
rm -rf /etc/rc.d/rc5.d/S01wipefs
rm -rf /etc/rc.d/rc6.d/S01wipefs
rm -rf /etc/rc0.d/acpidtd
rm -rf /etc/rc1.d/acpidtd
rm -rf /etc/rc2.d/acpidtd
rm -rf /etc/rc3.d/acpidtd
rm -rf /etc/rc4.d/acpidtd
rm -rf /etc/rc5.d/acpidtd
rm -rf /etc/rc6.d/acpidtd
rm -rf /etc/rc.d/rc0.d/acpidtd
rm -rf /etc/rc.d/rc1.d/acpidtd
rm -rf /etc/rc.d/rc2.d/acpidtd
rm -rf /etc/rc.d/rc3.d/acpidtd
rm -rf /etc/rc.d/rc4.d/acpidtd
rm -rf /etc/rc.d/rc5.d/acpidtd
rm -rf /etc/rc.d/rc6.d/acpidtd
再重啟壕探、發(fā)現(xiàn)沒問題了冈钦。但是到這里還需要考慮系統(tǒng)的 ps top等命令是否被替換了,我們還需要進行恢復(fù)李请,這是后話了瞧筛。