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

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