Php

如何找出神秘的垃圾郵件腳本來自哪裡?

  • April 9, 2015

我是一家小型 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使用noexecmount 選項將其掛載到。

但是,Apache 程序可寫的任何其他目錄仍然容易受到相同問題的影響。黑客需要一些時間才能找到新的可寫目錄,但他們最終會找到的。

唯一合適的解決方案是進行安全的 Web 伺服器安裝,並將數據遷移到那裡。

引用自:https://serverfault.com/questions/599176