
很多時候需要架設 SMTP,但是又不希望開放 open relay 變成廣告信的跳板,但是又無法鎖定 IP 來限制。這個時候就需要 SMTP Auth 來解決了。
基本上預設的帳號密碼就是 Linux 的帳號密碼。如果你是走 AD 或是 LDAP 那就要另外研究設定囉!
安裝相關的套件,並啟用 saslauthd
# yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5 # chkconfig saslauthd on
如果你是 32 位元的則要到 /usr/lib/sasl2/smtpd.conf
# vi /usr/lib64/sasl2/smtpd.conf
修改內容如下:
pwcheck_method: saslauthd log_level: 3 mech_list: PLAIN LOGIN
修改設定
vi /etc/postfix/main.cf
# 在本檔案最後面增加這些設定資料: smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes # 然後找到跟 relay 有關的設定項目,增加一段允許 SMTP 認證的字樣: smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_rbl_client cbl.abuseat.org reject_rbl_client bl.spamcop.net reject_rbl_client cblless.anti-spam.org.cn reject_rbl_client sbl-xbl.spamhaus.org check_policy_service unix:/var/spool/postfix/postgrey/socket
如果需要某個 IP 被強制允許的話
#vi /etc/postfix/access 1.2.3.4 ACCEPT # postmap hash:/etc/postfix/access # vi /etc/postfix/main.cf inet_interfaces = all mynetworks = 127.0.0.0/8, hash:/etc/postfix/access
最後就把 service 重啟測試囉!