close

依照前面章節設定完mail server與pop3 server之後,

只能算是簡單的將郵件收發功能架設起來而已,

目前僅能在區域網路寄信,實際上使用起來有很多不便的地方,

使用者在外面想寄信是不被允許的。

 

要讓使用者可以在任何地方寄信就需要修改郵件伺服器的認證機制,

加入SASL身份認證機制才行。

 

SASL可以透過 cyrus sasl 方式認證,透過 cyrus sasl 認證的方式如下:

先安裝 cyrus套件 yum install cyrus* -y

修改 /etc/postfix/main.cf

mynetworks = 127.0.0.0/8

這樣即使是區網內使用者,未經過身份認證也不能寄信,提高安全性。

注意:

如果把mynetwoks設定為127.0.0.0/8 only的話,在telnet進 mail server進行測試時就要小心,

mail from:bell@bell.idv.tw (必須填寫完整的email address)
rcpt to:bell@bell.idv.tw (必須填寫完整的email address)

沒有正確填寫完整的FQDN,mail server會拒絕你的寄信,這樣安全性會更高。

檔末新增以下設定:

#smtpd_sasl_type = dovecot
#smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =  permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client bl.spamcop.net,
    reject_rbl_client sbl-xbl.spamhaus.org

broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

mailbox_size_limit = 512000000
message_size_limit = 102400000 

最後兩行是設定郵箱大小與單一信件大小,信件預設是10240000,也就是10MB,
在現在的環境下已經顯得有點小了,我放大到100MB,管理者可視情況調整,
如果個人使用不想限制大小就把數值改為0即可。

重新啟動 postfix服務之後可以進行登入測試,看設定是否正確:

systemctl start saslauthd 
ssystemctl restart postfix

 

再用以下指令登入系統測試:

telnet localhost 25

ehlo localhost

要出現以下這兩行才是正確:

250-AUTH LOGIN PLAIN
 
250-AUTH=LOGIN PLAIN

成功畫面如下:

2020-03-09

arrow
arrow
    文章標籤
    centos8.1 SASL認證 cyrus
    全站熱搜

    呂阿谷 發表在 痞客邦 留言(0) 人氣()