停用 php 腳本發送郵件

停用 php 腳本發送郵件

我的問題是關於阻止 php 腳本發送郵件。它已被標記為與另一個有關伺服器安全性的更普遍的問題重複,但這不是這個問題的目的。

經過與駭客垃圾郵件發送者的長期艱苦鬥爭,他們以某種方式將流氓base64 編碼的php 檔案注入到我的Debian / Apache / PHP 伺服器上的各個Web 目錄中(這場艱苦的鬥爭涉及首先修補現有腳本並更改ftp 密碼、Web 服務密碼和mysql)密碼,然後從頭開始重建站點,安裝maldet - 這已經遏制了問題,但沒有完全消除它- 然後最後通過停止服務(但不是卸載)完全關閉postfix,然後在防火牆處阻止來自伺服器的連接埠25 流量)我仍然遇到問題。

我的問題幾個月後就消失了,根據 mxtoolbox,該伺服器已自動從黑名單中刪除。但今天我收到一封 mxtoolbox 電子郵件,說我的伺服器再次被許多服務列入黑名單。鑑於我已停用傳出連接埠 25 流量,我不完全明白這是怎麼可能的。

當出現問題時,我的 postfix mailq 會填滿來自伺服器上給定 Web 用戶的數十萬封電子郵件。

我的問題是這樣的:

  1. 鑑於我已使用停用連接埠 25 流量 iptables -A OUTPUT -p tcp --dport 25 -j REJECT,mxtoolbox 怎麼可能報告我的伺服器仍在發送垃圾郵件?當我檢查mailq時,郵件已備份。當我啟動 postfix 時,mailq 中的項目確實沒有按照我的預期發送,我(delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)在每個條目旁邊看到。

  2. X-PHP-Originating-Script透過查看mailq 中的垃圾郵件中的行來確定 RAT 的位置後,我可以找到並銷毀有問題的文件,這可以在 5 天到數月的時間內解決問題。如何完全阻止任何 php 腳本發送郵件?如果我輸入disable_functions = mailphp.ini 文件,我知道這會阻止使用內部函數,但不會阻止垃圾郵件發送者可以利用的自訂函數。

  3. 我還做錯了什麼?

警告:我知道#2 並不能從根本上解決我的問題,但是在幾年來我聽取了建議並以我所了解的多種方式強化了伺服器的安全性之後,我正在致力於「處理郵件信譽問題”而不是“解決期間所有安全問題”。

這是我的後續行動最後一個相關問題在 ServerFault 上。

答案1

你有選擇

  1. 刪除後綴
  2. 刪除 php-mail (Ubuntu/Debian 軟體包名稱)

然而,垃圾郵件發送者仍然可以編寫自己的 SMTP 程式碼。

檢查 SMTP 是否確實像這樣被阻止

telnet alt4.gmail-smtp-in.l.google.com 25

答案2

連接埠25 的防火牆控制仍然是您的最佳選擇,然後您可以告訴任何有效使用者透過經過驗證的伺服器(如mandrill 或smtps (tcp/587) 上的其他伺服器)發送電子郵件,或使用第3 方ESP 的電子郵件API

您仍然可以編寫透過套接字直接連接到 MX 伺服器的 php 程式碼,除非您使用防火牆方法。

您也可以將 TCP/25 重新導向到捕獲所有系統,以便您可以監控誰受到損害或濫用。

相關內容