中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Linux下Web郵件服務(wù)器的安全設(shè)置

2018-12-31    來(lái)源:愛(ài)站科技

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

Linux下Web郵件服務(wù)器的安全設(shè)置大家清楚嗎?那么接下來(lái)就由愛(ài)站頻道的小編給小伙伴們分享一篇關(guān)于Linux下Web郵件服務(wù)器的安全設(shè)置吧,感興趣的朋友跟小編一起來(lái)了解一下吧!

我們使用的軟件是帶有mod_ssl和PHP4的Apache,還有Webmail軟件Aeromail。之所以選擇這一組合,是因?yàn)樗鼈兊拈_(kāi)發(fā)和維護(hù)都非;钴S,安裝非常簡(jiǎn)單,功能也非常豐富。

假設(shè)系統(tǒng)上還沒(méi)有安裝Web服務(wù)器或者SSL庫(kù)。首先要安裝基本的郵件服務(wù)器、IMAP服務(wù)器,并且確保它們只接收本地連接。接著,要構(gòu)建一個(gè)強(qiáng)大的Web服務(wù)器,它支持SSL(加密套接字協(xié)議層)連接和PHP腳本語(yǔ)言。接下來(lái),安裝用于在一個(gè)Web頁(yè)面上顯示郵件的軟件就非常簡(jiǎn)單了。

下面是要下載的文件表:

-rw-r--r-- ? 1 jose jose ? 22841 Nov 19 15:18 aeromail-1.40.tar.gz
-rw-r--r-- ? 1 jose jose 2847497 Oct 25 19:14 apache_1.3.14.tar.Z
-rw-r--r-- ? 1 jose jose 1866035 Oct 25 13:27 imap.tar.Z
-rw-r--r-- ? 1 jose jose ? 748253 Oct 25 19:15 mod_ssl-2.7.1-1.3.14.tar.gz
-rw-r--r-- ? 1 jose jose 2086131 Sep 24 11:46 openssl-0.9.6.tar.gz
-rw-r--r-- ? 1 jose jose 2225976 Nov 5 13:31 php-4.0.3pl1.tar.gz

之所以選擇這些版本是因?yàn)樗鼈兲峁┝舜蟛糠值墓δ,并且非常穩(wěn)定。在自己架設(shè)服務(wù)器時(shí),建議最好使用最新的可用版本,并且隨時(shí)關(guān)注補(bǔ)丁的發(fā)布。

現(xiàn)在有了所需要的軟件就可以開(kāi)始工作了。應(yīng)該說(shuō),整個(gè)配置過(guò)程不會(huì)花太多的時(shí)間,在本文中,我們把所有的文件都置于同一個(gè)目錄之下(/webmail),而Apache則安裝于缺省的目錄之下,即/usr/local/apache/htdocs。

安裝前的準(zhǔn)備
我們要在電腦中安裝一個(gè)軟件包用于實(shí)現(xiàn)監(jiān)聽(tīng)服務(wù)。一般來(lái)說(shuō),Linux工作站在安裝過(guò)程中不會(huì)安裝該軟件。這個(gè)程序就是inetd服務(wù)器,它可以監(jiān)聽(tīng)一些郵件收發(fā)的后臺(tái)程序。在Red Hat 6.2的安裝中,包含該程序的RPM文件是inetd-0.16-4.i386.rpm。在Red Hat 6.2中,下面的步驟將完成inetd后臺(tái)程序的安裝:

# rpm -ivh inetd-0.16-4.i386.rpm
# /usr/sbin/inetd
# /sbin/chkconfig inetd on

構(gòu)建IMAP服務(wù)器
IMAP(Internet Message Access Protocol)是用戶(hù)從不同的計(jì)算機(jī)訪(fǎng)問(wèn)郵件的一種方式。它的工作方式是在一臺(tái)中央計(jì)算機(jī)上存儲(chǔ)信息,并且允許用戶(hù)訪(fǎng)問(wèn)信息的一個(gè)拷貝。你可以讓本地工作站和服務(wù)器同步,此外也可以為郵件創(chuàng)建一個(gè)文件夾,并且具有完全的訪(fǎng)問(wèn)權(quán)限。這一點(diǎn)和POP3不同。
首先,下載文件,并且將其解壓縮:

$ tar -zxvf imap.tar.Z

然后進(jìn)入新建的目錄中并且編譯IMAP服務(wù)器。因?yàn)槭褂玫氖荓inux,所以這個(gè)過(guò)程非常簡(jiǎn)單:

$ cd imap-2000
$ make slx
(輸出結(jié)果省略)

安裝新的IMAP服務(wù)器也非常簡(jiǎn)單,只需將其放到合適的位置即可:

# cd imapd
# cp imapd /usr/sbin/imapd

現(xiàn)在要告訴計(jì)算機(jī)如何監(jiān)聽(tīng)imapd連接,以及如何處理這些連接。首先,編輯inetd配置文件inetd.conf:

# vi /etc/inetd.conf

修改經(jīng)常要讀取的行:

#imap stream tcp nowait root /usr/sbin/tcpd imapd

將其改為:

imap stream tcp nowait root /usr/sbin/tcpd imapd

也就是去掉行前的“#”號(hào),告訴inetd該行不是注釋行。然后告訴inetd重新讀取這些配置。我們通過(guò)向inetd進(jìn)程發(fā)送HUP信號(hào)來(lái)達(dá)到這一目的。首先要得到進(jìn)程的ID號(hào):

# ps -ax | grep inetd
7699 ? ? ? S ? ? 0:00 inetd

此處的7699指的是inetd的進(jìn)程ID號(hào),當(dāng)然你自己配置時(shí)ID號(hào)可能會(huì)不同。下面告訴inetd重新讀取配置文件:

# kill -HUP 7699

最后,要確保inetd拒絕任何不速之客。在現(xiàn)實(shí)中,很多黑客喜歡通過(guò)突破imapd服務(wù)來(lái)突破系統(tǒng),為此,我們限制該服務(wù)器僅限于連接本地機(jī)器。這就意味著只有本地的Web服務(wù)器可以連接它。我們通過(guò)編輯以下文件來(lái)實(shí)現(xiàn)這一目的:

# vi /etc/hosts.deny

在其中加入用于IMAP程序的一行:

imapd:ALL

接下來(lái)編輯允許連接的文件:

# vi /etc/hosts.allow

并且在文件的未尾加上下面的內(nèi)容:

imapd: 127.0.0.1

到此為止,第一部分的安裝就完成了。

配置SSL庫(kù)
下面要為安全的Web服務(wù)器編譯所需的庫(kù)。這些庫(kù)提供了SSL需要的功能。在你查看電子郵件時(shí),需要有一個(gè)安全的Web服務(wù)器來(lái)保護(hù)你的密碼,以及所有流到Web服務(wù)器的信息。這樣可以避免別有用心的人通過(guò)監(jiān)聽(tīng)會(huì)話(huà)來(lái)獲取密碼。 編譯和安裝庫(kù)的過(guò)程非常簡(jiǎn)單。從包含所需文檔的目錄開(kāi)始,首先解開(kāi)文檔:

$ tar -zxvf openssl-0.9.6.tar.gz

然后,要配置和編譯庫(kù)。配置過(guò)程很方便,系統(tǒng)可以自動(dòng)找出所需信息,編譯過(guò)程也是自動(dòng)進(jìn)行的。

$ cd openssl-0.9.6
$ ./config
(輸出結(jié)果省略)
$ make
(輸出結(jié)果省略)

下面,以root的身份在缺省目錄下安裝軟件。因?yàn)槭褂肙penSSL的程序通常認(rèn)為它位于默認(rèn)位置(/usr/local/ssl),因此最好不要對(duì)其進(jìn)行更改。

#make install

現(xiàn)在就完成了所需庫(kù)的安裝。其它的程序也可以使用這些庫(kù)了。

支持PHP4
下面是本例中最耗時(shí)間的一個(gè)過(guò)程,但是實(shí)現(xiàn)起來(lái)也不是很困難。我們要構(gòu)建一個(gè)強(qiáng)大的Web服務(wù)器,它要支持PHP4腳本語(yǔ)言,并且可以通過(guò)SSL進(jìn)行安全連接。要做到這一點(diǎn),首先要把這些部件和服務(wù)器軟件結(jié)合起來(lái),然后編譯它。

首先解開(kāi)在安裝過(guò)程中所需的源代碼:

$ tar -zxvf Apache_1.3.14.tar.gz
$ tar -zxvf mod_ssl-2.7.1-1.3.14.tar.gz
$ tar -zxvf php-4.0.3pl1.tar.gz

注意,在此mod_ssl有兩個(gè)版本號(hào),即2.7.1和1.3.14。這是因?yàn)槠渲杏幸恍┽槍?duì)Apache的補(bǔ)丁和附加的代碼。我們一定要使用和Apache源代碼相對(duì)應(yīng)的版本,否則將無(wú)法正常工作。

首先要做的事情是把這些來(lái)自mod_ssl的源代碼補(bǔ)丁應(yīng)用到Apache中。在這個(gè)過(guò)程中,只需指明Apache源代碼所處的位置即可:

$ cd mod_ssl-2.7.1-1.3.14
$ ./configure --with-Apache=../Apache_1.3.14
$ cd ..

在這一步驟中,要注意是否有錯(cuò)誤提示,否則它很有可能和下面步驟的錯(cuò)誤混雜在一起。如果的確有錯(cuò)誤提示,那么請(qǐng)檢查mod_ssl的版本是否和所用的Apache版本一致。

下面,要對(duì)Apache源代碼的目錄樹(shù)進(jìn)行預(yù)配置。這樣做的目的是為了讓PHP源代碼知道所有有關(guān)Apache系統(tǒng)的信息。

$ cd Apache_1.3.14
$ ./configure --prefix=/usr/local/Apache --without-confadjust
$ cd ..

現(xiàn)在就已經(jīng)完成了PHP在A(yíng)pache中的安裝。在這個(gè)部分,要編譯PHP的大部分模塊,因此可能要花一些時(shí)間。此外,還要PHP能夠支持IMAP客戶(hù)端功能。該功能是基于Web的電子郵件系統(tǒng)所需要的。

$ cd php-4.0.3pl1
$ ./configure --with-Apache=../Apache_1.3.14 --with-imap=../imap-2000

現(xiàn)在開(kāi)始安裝:

$ make install
$ cd ..

現(xiàn)在已經(jīng)做好了編譯Apache服務(wù)器的準(zhǔn)備。它要能夠支持SSL和PHP4,因此要在配置時(shí)告訴它要包括這些部分,還要指明SSL庫(kù)的位置,也就是上述安裝OpenSSL的位置。

$ cd Apache_1.3.14
$ SSL_BASE=/usr/local/ssl ./configure \ --enable-module=ssl --without-
confadjust \ --activate-module=src/modules/php4/libphp4.a

這里需要注意的是,libphp4.a還不存在,但這一步要確保它被編譯進(jìn)服務(wù)器中。下面就可以編譯和安裝Web服務(wù)器和SSL證書(shū)了。

$ make
$ make certificate

這一步驟可以為服務(wù)器生成一個(gè)交互式的證書(shū)。這用于和Web終端之間用密碼的信息交流中。與此同時(shí),還要回答以下問(wèn)題:

Signature Algorithm ((R)SA or (D)SA) [R]: R
(omitted)
1. Country Name (2 letter code) [XY]: China
2. State or Province Name (full name) [Snake Desert]: BeiJing
3. Locality Name (eg, city) [Snake Town]: BeiJing
4. Organization Name (eg, company) [Snake Oil, Ltd]: Home
5. Organizational Unit Name (eg, section) [Webserver Team]: Parents
6. Common Name (eg, FQDN) [www.snakeoil.dom]: friend.dsl.isp.com
7. E-mail Address (eg, name@FQDN) [www@snakeoil.dom]: friend@isp.com
8. Certificate Validity (days) [365]: 365
STEP 3: Generating X.509 certificate signed by Snake Oil CA [server.crt]
Certificate Version (1 or 3) [3]: 3
(輸出結(jié)果省略)
Encrypt the private key now? [Y/n]:n
(輸出結(jié)果省略) 最后,可以安裝整個(gè)服務(wù)器、配置和證書(shū):

#make install

為了能夠讀懂PHP文件(該過(guò)程由服務(wù)器處理),需要編輯配置文件。同時(shí),還要強(qiáng)迫Webmail終端使用SSL。

# cd /usr/local/Apache/conf
# vi httpd.conf

首先更改服務(wù)器,使它可以解釋PHP文件。我們只需去掉下列行前面的“#”即可:

AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

雖然PHP4是向后兼容的,但是如果處理PHP3文件,將不能夠正確解析,所以就只把它作為一般的PHP文件來(lái)處理。也就是說(shuō)把上述第一行的“3”刪去。

接下來(lái)要設(shè)置服務(wù)器,以確保在讀取電子郵件時(shí)需要SSL。這是避免在網(wǎng)絡(luò)上使用普通文本傳送密碼。通過(guò)添加下列幾行來(lái)實(shí)現(xiàn)這一功能。


SSLRequireSSL


保存好配置文件,再進(jìn)行下一個(gè)部分的安裝和設(shè)置。

安裝Aeromail
現(xiàn)在就可以安裝Webmail軟件了。在本例中,選擇的是Aeromail。之所以選擇它是由于它簡(jiǎn)單、易于安裝和設(shè)置。

首先將文件包解壓縮至Web文檔目錄之下:

# cp aeromail-1.40.tar.gz /usr/local/Apache/htdocs/
# cd /usr/local/Apache/htdocs/
# tar -zxvf aeromail-1.40.tar.gz
# cd aeromail

下面來(lái)編輯Aeromail配置文件:config.inc。

#vi config.inc

這里面要做的最重要改變就是當(dāng)退出登錄或者取消登錄時(shí)對(duì)頁(yè)面進(jìn)行重定向。應(yīng)該把它定向到自己的Web服務(wù)器上。要做到這一點(diǎn),只需下面的行即可:

$SERVER_REDIR = "http://the.cushman.net/";

其它的變量,比如每一屏顯示的信息數(shù)、顏色主題等都是可以配置的。配置文件中的注解可以幫助你找到這些相關(guān)的內(nèi)容。

測(cè)試服務(wù)器
現(xiàn)在要進(jìn)行一些測(cè)試。首先要啟動(dòng)服務(wù)器:

# /usr/local/Apache/bin/Apachectl startssl

將看到如下內(nèi)容:

Apachectl startssl: httpd started

如果沒(méi)有看到上述內(nèi)容,那么可能是什么地方出現(xiàn)了問(wèn)題。最好的辦法是查看診斷日志文件,該文件位于../logs/error_log。

現(xiàn)在來(lái)看一看是否在監(jiān)聽(tīng)兩個(gè)新的端口。使用netstat來(lái)查看這些內(nèi)容:

# netstat -na | grep LISTEN
tcp ? 0 0 0.0.0.0:80 ? 0.0.0.0:* ? LISTEN
tcp ? 0 0 0.0.0.0:443 ? 0.0.0.0:* ? LISTEN

很顯然,有兩個(gè)正在監(jiān)聽(tīng)的套接字,80/TCP和433/TCP端口,F(xiàn)在我們要連接到服務(wù)器,并且測(cè)試安全Webmail連接。啟動(dòng)一個(gè)瀏覽器(Netscape、Konqueror等),并且在其URL中輸入服務(wù)器名,本例中為friend.dsl.isp.com,而安全的Aeromail站點(diǎn)的URL應(yīng)該是:https://friend.dsl.isp.com/aeromail/。 接下來(lái)要做的是接受證書(shū)。對(duì)于Netscape,需要有幾個(gè)步驟,現(xiàn)簡(jiǎn)述如下:

首先出現(xiàn)的是一個(gè)突出窗口,提示該站點(diǎn)是加密的,Netscape并不能識(shí)別這一簽字權(quán)。點(diǎn)擊“Next”繼續(xù)(如圖1)。

1

圖1 加密提示窗口
第二步將告訴一些有關(guān)證書(shū)的內(nèi)容,如果點(diǎn)擊“More Info”鈕,那么可以看到更多的相關(guān)信息。在此點(diǎn)擊“Next”鈕繼續(xù)(如圖2)。

2

圖2 有關(guān)證書(shū)的一些內(nèi)容
接下來(lái)要選擇是否接受證書(shū)以及接受多長(zhǎng)時(shí)間,一般都選擇第三項(xiàng),即“Accept this certificate forever”,之后點(diǎn)擊“Next”(如圖3)。

3

圖3 確認(rèn)是否接受證書(shū)
接下來(lái)選擇是否在每次提交信息時(shí)都會(huì)有一個(gè)警告。應(yīng)該說(shuō)這非常有用,但這也是很讓人討厭的。我一般都喜歡忽略警告并且不讓它彈出,所以只需選擇“Next”繼續(xù)(如圖4)。 4

圖4 選擇是否彈出警告
現(xiàn)在可以點(diǎn)擊“Finish”來(lái)完成這個(gè)過(guò)程了。

我們可以從三個(gè)地方知道正在使用安全的連接。首先是URL以https://開(kāi)頭,而不是以http://開(kāi)頭。此外,在頂部的按鈕條上有一個(gè)突出的小鎖圖標(biāo),在瀏覽器的左下角也有一個(gè)突出的小鎖圖標(biāo)(如圖5)。

5

圖5 結(jié)果設(shè)置過(guò)程
如果沒(méi)有看到這些內(nèi)容,那么就需要進(jìn)行診斷了?梢圆榭匆恍┑胤剑菏紫却_信在監(jiān)聽(tīng)著80/TCP和443/TCP端口用于一般和SSL Web連接。其次是確信用于Web服務(wù)器的SSL引擎正常工作。最后,確保確處于連機(jī)狀態(tài)。

使用Aeromail
現(xiàn)在已經(jīng)連接到了服務(wù)器上,這時(shí)會(huì)彈出一個(gè)認(rèn)證窗口。這是平常使用的用戶(hù)名和密碼,它將使用SSL加密連接來(lái)傳送(如圖6)。

6

圖6 人證窗口
現(xiàn)在,就已經(jīng)工作在一個(gè)完全安全的Web服務(wù)器下了。使用這一服務(wù)器可以保護(hù)諸如電子郵件連接等很多Web事務(wù)。

一旦認(rèn)證通過(guò)后,軟件就會(huì)讀取郵箱,并且準(zhǔn)備一個(gè)Web頁(yè)面。這是通過(guò)PHP軟件來(lái)實(shí)現(xiàn)的,它連接到IMAP服務(wù)器,并且讀取文件夾中的信息。這個(gè)頁(yè)面如圖7所示,可見(jiàn)我們收到了兩條信息。

7

圖7 收到兩條信息
信息以收到的時(shí)間為序進(jìn)行排列,最新的信息顯示在頂部。顯示的內(nèi)容有主題、發(fā)件人、收到時(shí)間以及信件大小。信息前面的選擇框用于信息的選擇,以便進(jìn)行刪除或者移動(dòng)操作。頂部的環(huán)狀箭頭用于檢測(cè)是否有新的郵件。底部的復(fù)選框用于選中所有顯示在本頁(yè)的信息,數(shù)字表示信息的頁(yè)數(shù)。我們可以通過(guò)編輯config.inc文件里的$MSG_COUNT變量來(lái)改變每屏顯示的信息數(shù)量。從圖7的頁(yè)面,我們可以看出它和平時(shí)使用的263等Webmail系統(tǒng)基本相同,只是功能要少一些。

到目前為止,我們已經(jīng)配置好了一個(gè)小的、安全的Webmail服務(wù)器。它可以讓你在世界的任何一個(gè)地方訪(fǎng)問(wèn)你的郵件。此外,這個(gè)服務(wù)器還可以擴(kuò)展一些其它的功能,這就需要你在使用的過(guò)程中自己來(lái)發(fā)現(xiàn)了。

以上就是關(guān)于Linux下Web郵件服務(wù)器的安全設(shè)置,想必都了解了吧,更多相關(guān)內(nèi)容請(qǐng)繼續(xù)關(guān)注愛(ài)站技術(shù)頻道。

標(biāo)簽: isp linux ssl ssl證書(shū) web服務(wù)器 安全 代碼 電子郵件 服務(wù)器 服務(wù)器軟件 腳本 權(quán)限 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀(guān)點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:普通用戶(hù)Linux來(lái)替代Windows服務(wù)器

下一篇:避免網(wǎng)絡(luò)服務(wù)器受惡意攻擊的方法