sendmail開啟基於sasl的smtp認證

sendmail預設是不會認證發信人身份的,這就導致你的郵件伺服器可能會被人隨意的傳送垃圾郵件。

而開啟smtp認證之後,只有認證身份的使用者才可以傳送郵件,這樣就很好的解決了上面的安全因患。

軟體包安裝:

開始設定前首先要確保你的CentOS上已經安裝瞭如下四個軟體包(sasl認證相關)。

cyrus-sasl-2.1.10-4.i386.rpm
cyrus-sasl-md5-2.1.10-4.i386.rpm
cyrus-sasl-plain-2.1.22-5.el5
cyrus-sasl-devel-2.1.22-5.el5

一般CentOS 6.5系統中都會內建前兩個包,我們執行安裝命令安裝餘下兩個包。

[root@localhost ~]# yum install *sasl-p*
[root@localhost ~]# yum install *sasl-d*

*sendmail配置部分:*

編輯/etc/mail/sendmail.mc檔案

[root@localhost ~]# vim /etc/mail/sendmail.mc

轉到第52行(因軟體版本號差異,行號可能不同)可以看到如下兩條語句,去掉這兩行前面的註釋dnl #(注:前往不要留有空格,否則報錯)。

修改後如圖:

TRUST_AUTH_MECH的作用是使sendmail不管access檔案中如何設定, 都能relay那些透過EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式驗證的郵件,注意這裡是對需要relay的郵件進行驗證,這點很重要,只有這樣透過驗證的郵件才會被 relay以防止sendmail伺服器被濫用。

confAUTH_MECHANISMS的作用是確定系統的認證方式。Outlook Express支援的認證方式是LOGIN。

儲存並退出。

生成對應的sendmail.cf檔案。

[root@localhost ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

重啟sendmail服務。

[root@localhost ~]# service sendmail restart

啟動saslauthd服務,用於支援sasl認證。

[root@localhost ~]# service saslauthd start

至此,配置工作完成,現在開始測試吧~