LNMP被掛馬自己動手解決
這幾天正忙專案事情,伺服器上線了產品還沒上線,老收到客戶端投訴伺服器連不上了,一開始以為php-fpm 掛了,可也沒那麼兒戲吧,才那麼幾個人在用,時間確實比較緊張也沒時間考慮了,直接service xxx restart ,好像可以了....可再沒多久又收到投訴,這時心想一定出大問題了,網路?木馬?馬上瀏覽其他網站,也沒問題,網路可以排除了。
接下來掃馬去...,用top查看了一下一個鬼東西在耗盡伺服器資源呢,安裝iftop檢視流量情況,就是大量往一些不明來歷的ip發包。怎麼辦?先禁止對外發包吧:
vi /etc/sysconfig/iptables
#允許發UDP包的服務(DNS)
-I OUTPUT -p udp --dport 53 -d 8.8.8.8 -j ACCEPT
-I OUTPUT -p udp --dport 53 -d XXX.XXX.XXX.XXX -j ACCEPT
#禁止php-ddos對外發udp包
-A OUTPUT -p udp -j DROP
儲存退出,service iptables restart 再回來iftop觀察,沒大量對外發包了。
用top檢視,再根據程序id,在/proc/程序id目錄找到對應的cmd檔案,shit!竟然冒認mysql在跑,果斷殺掉,然後根據程序物理路徑找到對應的木馬檔案,竟然直接存到mysql的資料目錄裡~~,還有一大堆不知啥東西的可執行檔案,有殺錯無放過,果斷全刪!!回來再看看top負載降下來了。
仔細想想,事情還沒結束呢,怎麼會被掛馬呢,有漏洞?我們有上傳檔案的程式碼,馬上檢查吧,果然上傳程式碼沒有嚴格限制可上傳的檔案型別,上傳目錄位置許可權也沒做現在....悲哀啊...馬上封堵去!~