Ubuntu
Postfix - 如何防止外部客戶端將我的伺服器用作中繼?
我在 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