設定 SMTP auth

設定 SMTP auth

03d0ea4f53163db4414e107e7e142228.png
 
很多時候需要架設 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 重啟測試囉!