Php
如何找出神秘的垃圾郵件腳本來自哪裡?
我是一家小型 ISP 的數據中心經理,我們一直遇到神秘腳本在我們的伺服器上發送垃圾郵件的問題。這些 PHP 腳本會神秘地出現在 /tmp 中,有時也會出現在網站文件夾中。我們安裝了軟體“Gallery”,它需要危險的提升權限並允許注入這些腳本。此後,我通過 .htaccess 將該站點限制為僅訪問我們的辦公室,現在垃圾郵件已不再出現在網站文件夾中,但仍顯示在 /tmp 以及其他網站文件夾中。我們的伺服器在 Debian 2.6.26-29 上使用 Directadmin 執行 exim。
要查找我執行的垃圾郵件腳本:
server:/# grep cwd /var/log/exim/mainlog | grep -v /var/spool | awk -F"cwd=" '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -n 1 /home/xxx/domains/XXX/public_html/cgi-bin/formmail 2 / 2 /home/xxx/domains/xxx.com/public_html/wp 2 /home/xxx/domains/xxx.com/public_html 2 /home/xxx/domains/xxx.com/public_html 4 /usr/local/directadmin 11 /home/admin 303 /home/admin/domains/xxx/public_html/components 2947 /tmp
有誰知道如何找出這些腳本的來源?Apache 是垃圾郵件腳本的所有者。先感謝您。
您客戶的任何網站都可能包含易受攻擊的程式碼,黑客利用這些程式碼將這些腳本注入您的伺服器。
我希望您的新伺服器設置正確,以便客戶 PHP 腳本無法訪問系統範圍內
/tmp
的 . 就我個人而言,我更喜歡在 chroot 中安裝 PHP-FPM,儘管這不是一個簡單的練習。如果這些是 中的標準 shell 腳本
/tmp
,您可以通過創建單獨的分區來阻止它們的執行/tmp
,並/tmp
使用noexec
mount 選項將其掛載到。但是,Apache 程序可寫的任何其他目錄仍然容易受到相同問題的影響。黑客需要一些時間才能找到新的可寫目錄,但他們最終會找到的。
唯一合適的解決方案是進行安全的 Web 伺服器安裝,並將數據遷移到那裡。