是否有用於記錄和查看來自 Linux 伺服器的傳出 CURL 請求的 GUI 工具?
我見過幾個類似的問題——但沒有一個能真正回答這個問題。所以這裡是:
問題:一個腳本正在我們的一台伺服器上執行,該伺服器正在發出我們懷疑使用 CURL 的傳出文章(和其他)請求。它試圖在其他伺服器中查找漏洞——在這種情況下,特別是在執行 WordPress 的伺服器中,但還有其他請求。
QUESTION: 是否有可以用來監控和查看這些請求的來源的 GUI 工具,以便我們可以隔離腳本並關閉它?
我們正在執行一個 AWS 實例,我們確實有可用的 Webmin(如果有幫助的話),這是一台不能顯著減慢或阻礙其正常流量的生產機器。
提前感謝所有人的幫助!
我知道您正在尋找 GUI,但沒有帶有魔術按鈕“SHOW ME WHO HACKED ME”的 GUI。這不是電視,這是系統管理。您需要使用適當的工具。
對於初學者,您可以通過以下方式阻止其目標埠為 80 的所有傳出通信
iptables
:iptables -t filter -A OUTPUT -p tcp --dport 80 -j DROP
無論哪個程序嘗試啟動它,這都會放棄所有通信。然後你可以開始玩
netstat
並ps
找出在你珍貴的機器上哪個程序做壞事:netstat -np | grep ^tcp | grep ":80"
在我的機器上,上面命令的結果是這樣的:
tcp 0 0 192.168.1.2:34831 185.31.17.246:80 ESTABLISHED 22640/spotify tcp 0 0 192.168.1.2:48809 104.16.105.85:80 ESTABLISHED 10572/iceweasel
如您所見,只有兩個程序通過 HTTP 與某些伺服器通信——iceweasel 和 spotify。最後一列是
$$ process_number $$/$$ process_name $$. 有了這個,您可以查詢
ps
並獲取實際過程:ps axu | grep 22640
同樣,在我的機器上,它說(簡稱)這個:
mkudlac+ 22682 0.2 2.0 1003656 123440 ? Sl 09:12 0:31 /opt/spotify/spotify-client/Data/SpotifyHelper --type=renderer --js-flags=--harmony-proxies --no-sandbox --lang=en-US --lang=en-US --locales-dir-path=/opt/spotify/spotify-client/Data/locales --log-severity=disable --resources-dir-path=/opt/spotify/spotify-client/Data --disable-accelerated-2d-canvas --disable-accelerated-video-decode --channel=22640.1.2031916850
現在我知道執行檔的路徑和執行它的使用者。
將所有這些結合到“簡單”的一個襯裡:
netstat -np | awk '/^tcp/{print $5 "/" $7}' | grep ":80" | awk -F'/' '{print $1; if ($2 != "-") system("ps axu | grep " $2 " | grep -v grep"); print "================"; }'
我機器上的結果顯示:
104.16.104.85:80 mkudlac+ 10572 6.3 6.5 1016592 401108 ? Sl 11:38 2:18 iceweasel http://serverfault.com/questions/715556/is-there-a-gui-tool-to-log-and-view-outgoing-curl-requests-from-a-linux-server ================
第一行是目標 IP 地址。第二行是有關流氓程序的完整資訊。第三行是分隔符,以光學劃分巨大的輸出。
這些命令(至少
netstat
andps
)需要在 root 下執行。清除機器時,可以iptables
使用以下命令刪除阻塞命令:iptables -t filter -D OUTPUT -p tcp --dport 80 -j DROP
編輯:
為了能夠讓這個腳本無人看管並登錄到文件,你可以這樣改變它:
while (true); do netstat -np | awk '/^tcp/{print $5 "/" $7}' | grep ":80" | awk -F'/' '{print $1; if ($2 != "-") system("ps axu | grep " $2 " | grep -v grep"); print "================"; }' | tee -a hack.log; sleep 30; done
這將每 30 秒檢查一次惡意連接並將其寫入 hack.log 文件。