Php

在禁用所有 MTA(Postifix、PHP Mail() 函式)等的 Linux 伺服器上減輕垃圾郵件

  • September 17, 2015

我們有一個執行相當標準的 LAMP 堆棧的 Debian Squeeze 伺服器(過去它是使用 Howtoforge 的 Perfect Server 指南設置的,所以我們使用 ISPConfig 作為我們的後端管理面板),它已經被很好地鎖定了到 MTA(沒有安裝,沒有後綴,沒有 EXIM 等)並且完全禁用了 php mail() 功能,埠 25 防火牆。

我們經常從例如 MegaRBL 收到垃圾郵件警告,但是將我們的伺服器 IP 標識為源

通常我們會追踪一個被黑的 Wordpress 網站,在那裡我們會看到一堆加密/混淆的腳本和其他垃圾,然後我們會對其進行核對並希望獲得最好的結果。

這種方法對我來說並不令人滿意,因為我想弄清楚他們是如何設法從這個伺服器發送垃圾郵件的。我猜測(這可能是完全錯誤的)他們設法放入被黑的 Wordpress 站點的腳本本身就是郵件傳輸代理。由於這些腳本被加密/混淆,我顯然無法深入了解他們正在做什麼。

我所有的Google搜尋和研究總是指向 Postfix 或 mail() 函式以及有關如何追踪並減少來自這些來源的垃圾郵件的各種指南 - 但我確信所有這些東西都已從我們的伺服器中刪除。

所以我的問題有三個:

  1. 有沒有可能我們發現的這些混淆腳本實際上是在沒有安裝在我的伺服器上的任何二進製文件的幫助下發送郵件的?(例如 Postfix、sendmail 等)
  2. 有沒有辦法記錄/檢測從我們的伺服器發出的這種類型的流量?
  3. 我錯過了什麼嗎?後綴已被刪除,我已經仔細檢查了 PHP mail() 功能是否已禁用,我已經搜尋了二進製文件以尋找任何可能與郵件相關的內容並將其刪除,但我擔心我可能只是遲鈍並遺漏了一些東西明顯的 …

我們為此做了一些事情。

選項 1 如果您不希望任何電子郵件出站,請檢查您的 OUTBOUND 防火牆是否設置為阻止 TCP/25,假設您不想發送電子郵件。

iptables -A OUTPUT -p tcp --dport 25 -j DENY
iptables-save

選項 2,安裝 postfix,並添加 BCC 以獲取已發送電子郵件的副本

postconf -e always_bcc=abusemonitor@example.com
service postfix restart

選項 3,將所有出站流量重定向到一個包羅萬象的選項,有幾個選項可以四處搜尋,我更喜歡使用 mailcatcher.me,還有一些其他選項,電子郵件包羅萬象(域和子域) Postfix

Mailcatcher.me 您需要將出站郵件重定向到它,以及可以執行 ruby​​ 的系統。

postconf -e relayhost=mailcatcherIP:1025
service postfix restart

選項 4,防火牆重定向,與您的網路管理員聯繫並設置 NAT 規則,以將來自 Web 系統內部 IP 的出站 25 重定向到另一個系統或過濾器,例如https://www.spamexperts.com等出站過濾器/服務/傳出過濾

最後作為額外資訊,postfix 是一個 MTA,但是您不需要 MTA 來發送電子郵件,只需能夠在 TCP/25 上打開連接。

如果您可以 telnet 到埠 25 上的 MX 記錄,您可以發送電子郵件(沒有 postfix/sendmail/etc)

如果您有一些應該允許使用 wordpress 發送電子郵件的客戶端,建議他們使用 Sendgrid 或 Mailchimp 外掛,他們可以通過 HTTPS 或客戶端 SMTPS 埠使用 API 工具(送出 587)

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