Ubuntu

Postfix - 如何防止外部客戶端將我的伺服器用作中繼?

  • February 5, 2015

我在 Ubuntu 14.04 上安裝了一個 postfix 伺服器。在機器上執行的 PHP 腳本使用它來發送外發電子郵件。此外,我使用 postfix 接收發送到本地帳戶的郵件,然後將其轉發到我的個人 gmail。

但是,這意味著任何人都可以連接到我的伺服器並將其用作垃圾郵件的開放中繼。如何防止遠端連接中繼電子郵件?

這是我的 main.cf:

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = aviacao.pt
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = aviacao.pt, localhost.localdomain, localhost
relayhost = 
mynetworks = 0.0.0.0/0
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

如果我更改mynetworks為,127.0.0.0/8那麼人們將無法向本地帳戶發送電子郵件。

smtpd_relay_restrictions應該防止任何人連接到我的伺服器並將其用作垃圾郵件的開放中繼。

的值mynetworks並不能確定其他人是否可以向您發送電子郵件。 127.0.0.0/8是一個正確的值 0.0.0.0/0 不是。

決定您帳戶的電子郵件是否username@example.com被接受的因素取決於通知 postfix 它應該接受該example.com域名的電子郵件的設置,例如mydestination

您擁有的 smtpd_relay_restrictions 設置是正確的,只是您定義了 mynetworks 完全開放(如下所示來自您的 main.cf)

mynetworks = 0.0.0.0/0

只需刪除我的網路;預設值應限制中繼訪問。例如,我的預設顯示如下所示。

postconf -d |grep mynetworks
mynetworks = 127.0.0.0/8 192.168.1.0/24

您應該真正測試您的伺服器以確保它不是開放中繼。有很多線上工具可用,例如:http ://www.mydnstools.info/smtprelay

參考:http ://www.postfix.org/SMTPD_ACCESS_README.html

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