任開軍
摘要:Cent0S作為linux系列的一種發(fā)行版本,目前得到了很多大型企業(yè)的青睞。很多企業(yè)把郵件服務架設在CentOS之上,而在CentOS平臺上比較方便的郵件服務器是Sendmail、dovecot。該文主要闡述了基于CentOS6.4系統(tǒng)下,Sendmail、dovecot服務的安裝、配置、測試等過程。
關(guān)鍵詞:CentOS6.4;mail;Sendmail;dovecot
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)17-0068-02
Linux作為開源的操作系統(tǒng)從其一出現(xiàn),就憑借其開放、安全、穩(wěn)定的特性得到全世界大批用戶的青睞,其應用也日益廣泛。在眾多的Linux發(fā)行版本中,CentOS(Community Enterprise Operating System) 是來自于Red Hat Enterprise Linux依照開放源代碼規(guī)定釋出的源代碼所編譯而成。很多企業(yè)把郵件服務架設在CentOS之上,而在CentOS平臺上比較方便的郵件服務器是Sendmail。本文主要闡述了基于CentOS6.4服務器,Sendmail郵件服務器安裝、配置、測試等過程。電子郵件系統(tǒng)由郵件用戶代理MUA(Mail User Agent)和郵件傳送代理MTA(Mail Transfer Agent)兩部分構(gòu)成。
1 實驗環(huán)境的搭建,DNS服務的配置與測試
本文采用以下網(wǎng)絡參數(shù)作為配置數(shù)據(jù),讀者可以根據(jù)自己的實際參數(shù),進行相應的替換。將CentOS服務器IP設置為:192.168.10.100,子網(wǎng)掩碼為255.255.255.0,并且安裝配置DNS服務,創(chuàng)建域名gzx.edu。測試客戶端PC1的IP為192.168.10.101,子網(wǎng)掩碼為255.255.255.0,DNS為:192.168.10.100。測試客戶端PC2的IP為192.168.10.102,子網(wǎng)掩碼為255.255.255.0,DNS為:192.168.10.100。
在CentOS服務器中利用yum安裝bind軟件包,命令如下:yum install –y bind 。DNS的配置涉及四個配置文件:
1)/etc/named.conf在這個配置文件修改3處any;
11行 listen-on port 53 {any}; 監(jiān)聽所有。
12行 listen-on-v6 port 53 {any};針對ipv6設置。
17行 allow-query {all};查詢所有。
2)/etc/named.rfcl912.zones在這個配置文件添加正反向根域文件;
在配置文件中添加如下代碼行:
Zone“gzx.edu”IN{
Type master;
File“gzx.zone”:
Allow—update{ none;};
};
Zone“10.168.192.in—addr.arpa”IN{
Type master;
File“named.gzx”;
Anow—update{none;};
};
切換到正向和反向解析文件的目錄中,通過cp命令復制正向和反向解析的模板。
1)在正向解析文件 /var/named/gzx.zone 中添加以下內(nèi)容:
mail IN MX 10 mail.gzx.edu.
mail IN A 192.168.10.100
2)在反向解析文件/var/named/named.gzx 中添加以下內(nèi)容:
100 IN PTR mail.gzx.edu.
3)重新啟動并設置DNS服務器開機自啟動:
4)在客戶端利用nslookup命令測試郵件交換記錄,以下是測試結(jié)果。
最后,要注意在防火墻的設置中,要開放DNS服務。
2 sendmail的安裝及配置
2.1 sendmail的安裝
首先用戶可以在終端輸入如下所示命令進行查詢軟件是否已安裝,如果有返回結(jié)果則表示已經(jīng)安裝。
[root@localhost root]# rpm -qa|grep sendmail
如果提示軟件包沒有安裝或者沒有搜索結(jié)果,那這就需要用戶自行安裝這個Sendmail服務。用戶可以直接安裝光盤里Sendmail相關(guān)的服務軟件包,也可以通過設置yum源來進行軟件安裝。在利用yum進行安裝的時候,首先在/etc/yum.repos.d路徑下要找到CentOS-Media.repo文件,將其中的enable=0改成enable=1,并且需要把baseurl的參數(shù)設置成軟件包的路徑。通過查看軟件包屬性發(fā)現(xiàn)其在/media路徑下,可以直接把baseurl的參數(shù)設置為/media。
接著還需要通過mount命令實現(xiàn)掛載。命令格式為:mount /dev/cdrom /media。最后需要注意的是我們采用本地源進行安裝的話,還需要將yum網(wǎng)絡源配置文件CentOS-Base.repo進行改名,否則會先在網(wǎng)絡源中尋找適合的包,改名之后直接從本地源讀取。
2.2 sendmail的配置
Sendmail 服務配置文件是sendmail.cf,位于/etc/mail目錄下。一般說來在安裝了LINUX系統(tǒng)之后,他將自動生成一個適合本系統(tǒng)使用的sendmail.cf文件。但是這個文件配置很復雜,語法深奧難懂,很少有人會直接去修改。用戶只需編輯sendmail.mc文件,再通過m4命令將sendmail.mc文件編譯生成sendmail.cf。郵件服務器具體的配置過程如下:
1)修改/etc/mail/sendmail.mc,修改模板文件。在第116行,將其中的127.0.0.1改為0.0.0.0。這樣修改的意思是讓sendmail可以監(jiān)聽正確的網(wǎng)絡接口,因為sendmail默認只監(jiān)聽localhost,即IP地址為127.0.0.0.1,而該地址無法在網(wǎng)絡中提供實際服務。
2)將sendmail.mc生成sendmail.cf。第一種方法可以采用m4命令完成“# m4 sendmail.mc > sendmail.cf”。第二種方法,可以采用“#make all”完成編譯。以上兩種方法,均需要將路徑切換到/etc/mail下。
3)Vim local-host-names,添加域名(實驗創(chuàng)建的域名為gzx.edu)
4)設置郵件中繼。
郵件中繼(Mail Relay)是指將郵件從一個郵件傳輸代理(MTA)傳到另一個MTA的動作。郵件中繼可以通過修改/etc/mail/access文件,然后通過makeup命令轉(zhuǎn)換成對應得數(shù)據(jù)庫文件。但是通過DHCP動態(tài)獲取IP地址的客戶機,由于IP地址是動態(tài)的,所以通過設置/etc/mail/access文件實現(xiàn)中繼方法不方便。下面我們利用設置SMTP驗證,實現(xiàn)用戶級別的郵件中繼控制。在centos6.X系統(tǒng)中,提供SMTP驗證的是saslauthd服務,saslauthd服務由cyrus-sasl軟件包提供。Saslauthd服務默認已經(jīng)安裝好,如果沒有,請參考sendmail軟件包按照方式完成saslauthd服務安裝。
以下是sendmail的SMTP驗證配置方法。
打開/etc/mail/sendmail.mc文件,去掉52、53行的注釋符“dnl”。存盤退出后,利用m4命令完成編譯。
在終端窗口用service sendmail restart命令重新啟動郵件服務器,然后再重新啟動saslauthd服務。
3 POP3服務的安裝與配置
為了使用戶在客戶機上接收電子郵件,還需要配置POP3或IMAP服務,因為sendmail本身不提供這兩種服務,它只提供發(fā)送郵件的功能,也就是充當MTA。在centos6.X系統(tǒng)中則由dovecot軟件包來提供。dovecot軟件包不僅提供POP3和IMAP服務,還同時提供POP3S、IMAPS等服務。通過以下命令安裝dovecot“#yum install –y dovecot”,具體方法參考前面sendmail軟件包的安裝過程。
1)打開POP3和IMAP支持,并且開放監(jiān)聽端口。
在終端窗口打開/etc/dovecot.conf文件,找到第二十行,去掉注釋符號,即打開了POP3和IMAP支持。
找到第26行,將內(nèi)容改成以下形式:listen = * ,表示監(jiān)聽所有網(wǎng)絡接口。
2)配置郵件服務器收件箱位置,打開/etc/dovecot/conf.d/10-mail.conf文件,將以下一行的#去掉,修改為如下內(nèi)容。
3)配置認證方式,本實驗進行普通認證方式,關(guān)掉SSL,打開/etc/dovecot/conf.d/10-ssl.conf文件,找到第6行,將其修改為“ssl=no”。打開/etc/dovecot/conf.d/10-auth.conf文件,找到第9、97行,將其修改為如下內(nèi)容。
4)建立幾個系統(tǒng)賬號,給客戶端發(fā)送郵件用。
從我們的機器安全角度考慮,將創(chuàng)建的系統(tǒng)賬號加入mail組,并且設置為不能登錄到系統(tǒng),本實驗創(chuàng)建user1、user2兩個用戶,命令行的方式為
4 客戶端郵件服務測試
打開測試客戶端中的Outlook Express電子郵件客戶端進行測試。在Windows客戶機上將DNS服務器指定為192.168.10.100,這樣就可以使郵件服務器的域名mail.gzx.edu生效。
1)首先要對Outlook Express進行必要的初始化配置,包括本地接收電郵的名稱,smtp和pop3服務器的IP地址為192.168.10.100,用戶名和密碼相關(guān)賬戶的設置。
2)給PC1 中的OE設置本地賬戶為user1@mail.gzx.edu,并給user2發(fā)送郵件。
3)給PC2中的OE設置本地賬戶為user2@mail.gzx.edu,點擊發(fā)送/接收按鈕測試郵件收發(fā)是否正常,測試成功。
5 總結(jié)
Sendmail是發(fā)展歷史悠久的郵件系統(tǒng),sendmail在可移植性、穩(wěn)定性方面有一定的保證。但是sendmail具有一些缺點,其特色功能過多而導致配置文件比較復雜,而且sendmail一般默認配置都是具有最小的安全特性,從而使sendmail很容易受到攻擊。我們可以通過進一步學習,熟悉配置文檔中的選項含義及其影響,可以大大增強服務的安全性。
參考文獻:
[1] 白戈力. Red Hat Enterprise Linux 服務器配置實例教程[M]. 機械工業(yè)出版社,2011.