偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你的Postfix郵件服務器安全么?

原創(chuàng)
系統(tǒng) Linux
Postfix最被人稱道的地方就在于其配置文件的可讀性很高。雖然Postfix的配置文件大部分都是注釋,但是為了服務器的安全,還是要花一些心思。本文介紹了Postfix郵件服務器在配置監(jiān)聽接口、主機名和域名、IP設置等方面的安全事項,以及SMTP安全認證的配置方法。

【51CTO獨家特稿】Postfix是Linux上常用的郵件服務器之一。本文對Postfix郵件服務器的參數(shù)進行了簡述,并著重介紹了配置過程中需要注意的安全事項。

快速配置Postfix郵件服務器

Postfix最被人稱道的地方就在于其配置文件的可讀性很高。Postfix的主配置文件是/etc/postfix/main.cf。

在main.cf文件中,參數(shù)都是以類似變量的設置方法來設置的,這些參數(shù)的使用主要包含兩部分的內容:

(1)定義和聲明變量:例如definename = good-better-best。等號左邊是變量的名稱,等號右邊是變量的值。

(2)引用變量:可以在變量的前面加上符號“$”來引用該變量,如:myname = $ definename(相當于definename = good-better-best)。

需要注意的是:等號兩邊需要有空格字符。此外,如果變量有兩個以上的設置值,就必須用逗號“,”或者空格符“ ”將它們分開。

在熟悉了上述變量的定義和引用方法后,下面詳細介紹如何安全、高效地配置Postfix服務器的相關選項。

1.設置Postfix服務監(jiān)聽的網絡接口

默認情況下,inet_interfaces參數(shù)的值被設置為localhost,這表明只能在本地郵件主機上寄信。如果郵件主機上有多個網絡接口,而又不想使全部的網絡接口都開放Postfix服務,就可以用主機名指定需要開放的網絡接口。不過,通常是將所有的網絡接口都開放,以便接收從任何網絡接口來的郵件,即將inet_interfaces參數(shù)的值設置為“all”,如下所示:

inet_interfaces = all

2.安全設置可接收郵件的主機名稱或域名

mydestination參數(shù)非常重要,因為只有當發(fā)來的郵件的收件人地址與該參數(shù)值相匹配時,Postfix才會將該郵件接收下來。通過該選項的設置可以過濾掉許多沒有經過認證和授權的郵件,從而節(jié)省服務器的存儲空間,以及節(jié)省用戶的郵件處理時間。

舉一個簡單的例子,用戶可以將該參數(shù)值設置為如下:

accept_domain = test.net
mydestination = $accept_domain

這就表明無論來信的收件人地址是X@test.net(其中X表示某用戶在test.net域中的郵件賬戶名),Postfix都會接收這些郵件。而除此之外的郵件,Postfix都不會接受。

3.安全設置可轉發(fā)郵件的網絡(IP設置)

有關安全設置可轉發(fā)郵件的網絡可以使用mynetworks參數(shù)來設置??蓪⒃搮?shù)值設置為所信任的某臺主機的IP地址,也可設置為所信任的某個IP子網或多個IP子網(采用“,”或者“ ”分隔)。

比如,用戶可以將mynetworks參數(shù)值設置為172.168.96.0/24,則表示這臺郵件主機只轉發(fā)子網172.168.96.0/24中的客戶端所發(fā)來的郵件,而拒絕為其他子網轉發(fā)郵件:

mynetworks = 172.168.96.0/24

除了mynetworks參數(shù)外,還有一個用于控制網絡郵件轉發(fā)的參數(shù)是mynetworks-style,它主要用來設置可轉發(fā)郵件網絡的方式。通常有以下三種方式:

(1)class:在這種方式下,Postfix會自動根據(jù)郵件主機的IP地址得知它所在的IP網絡類型(即A類、B類或是C類),從而開放的它所在的IP網段。

(2)subnet:這是postfix的默認值,postfix會根據(jù)郵件主機的網絡接口上所設置的IP地址、子網掩碼來得知所要開放的IP網段。

(3)host:在這種方式下,postfix只會開放本機。

通常,用戶一般不需要設置mynetworks-style參數(shù),而直接設置mynetworks參數(shù)。如果這兩個參數(shù)都進行了設置,那么mynetworks參數(shù)的設置有效。

4.設置可轉發(fā)郵件的網絡(域名設置)

上面介紹的mynetworks參數(shù)是針對郵件來源的IP來設置的,而relay_domains參數(shù)則是針對郵件來源的域名或主機名來設置的,其實從原理上來說是一致的,不過是區(qū)分了IP地址和域名而已,不過,relay_domains還需要依賴DNS這個基礎設施。

例如,用戶可以將relay_domains參數(shù)值設置為test.net,則表示任何由域test.net發(fā)來的郵件都會被認為是信任的,Postfix會自動對這些郵件進行轉發(fā),如下所示:

relay_domains = test.net

那么,要使它能在實際網絡中更好地轉發(fā)郵件,還必須進行相應的DNS設置。那么,需要在該網絡的DNS服務器上定義了一個主區(qū)域test.net,并在該區(qū)域配置文件中定義了以下記錄:

//定義郵件服務器的IP地址
patterson.test.net. IN  A  172.168.96.254
//定義郵件服務器的別名
mail.test.net. IN CNAME  patterson.test.net.
//定義優(yōu)先級別
test.net.  IN MX  10 mail.test.net.

上述記錄只對郵件服務器進行了定義,還有諸如SOA、NS等的定義,在這里就不再贅述。

配置Postfix使用SMTP安全認證

Postfix默認不會對外開放轉發(fā)功能,而僅對本機(localhost)開放轉發(fā)功能。但是,在實際應用中,必須在Postfix主配置文件中通過設置mynetworks、relay_domains參數(shù)來開放一些所信任的網段或網域,否則該郵件服務器幾乎沒有什么用處。在開放了這些所信任的網段或網域后,還可以通過設置SMTP認證,對要求轉發(fā)郵件的客戶端進行用戶身份(用戶賬戶名與密碼)驗證。只有通過了驗證,才能接收該用戶寄來的郵件并幫助轉發(fā)。同樣,Postfix中目前比較常用的SMTP認證機制是通過Cyrus SASL包來實現(xiàn)的。

默認情況下,Postfix并沒有啟用SMTP認證機制。要讓Postfix啟用SMTP認證,就必須對Postfix的主配置文件/etc/postfix/main.cf進行修改。用戶需要在main.cf文件中添加如下有關SMTP認證的設置部分:

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

其中,每個選項的具體含義如下:

(1)smtpd_sasl_auth_enable:指定是否要啟用SASL作為SMTP認證方式。默認不啟用,這里必須將它啟用,所以要將該參數(shù)值設置為yes。

(2)smtpd_sasl_local_domain:如果采用Cyrus-SASL版進行認證,那么這里不做設置。

(3)smtpd_recipient_restrictions:表示通過收件人地址對客戶端發(fā)來的郵件進行過濾。通常有以下幾種限制規(guī)則:

  1. permit_mynetworks:表示只要是收件人地址位于mynetworks參數(shù)中指定的網段就可以被轉發(fā)郵件。
  2. permit_sasl_authenticated:表示允許轉發(fā)通過SASL認證的郵件。
  3. reject_unauth_destination:表示拒絕轉發(fā)含未信任的目標地址的郵件。

(4)broken_sasl_auth_clients:表示是否兼容非標準的SMTP認證。有一些Microsoft的SMTP客戶端采用非標準的SMTP認證協(xié)議,只需將該參數(shù)設置為yes就可解決這類不兼容問題。

(5)smtpd_client_restrictions:表示限制可以向Postfix發(fā)起SMTP連接的客戶端。如果要禁止未經過認證的客戶端向Postfix發(fā)起SMTP連接,則可將該參數(shù)值設置為permit_sasl_authenticated。

(6)smtpd_sasl_security_options:用來限制某些登錄的方式。如果將該參數(shù)值設置為noanonymous,則表示禁止采用匿名登錄方式。

在完成上述設置后,必須使用

/etc/init.d/postfix reload

重新載入配置文件,或使用

/etc/init.d/postfix restart

重新啟動Postfix服務,以使該配置生效。這兩個命令的具體使用需要根據(jù)不同的Linux版本來選用。

此外,由于當Postfix要使用SMTP認證時,會讀取/usr/lib/sasl2/smtpd.conf文件中的內容,以確定所采用的認證方式,因此如果要使用saslauthd這個守護進程來進行密碼認證,就必須確保/usr/lib/sasl2/smtpd.conf文件中的內容為:

pwcheck_method: saslauthd

【51CTO.com獨家特稿,轉載請注明原文作者和出處?!?/p>

作者介紹:李洋(博客),博士畢業(yè)于中科院計算所。10多年來一直從事計算機網絡信息安全研發(fā)工作,曾主持和參與多項國家重點項目以及信息安全系統(tǒng)和企業(yè)信息安全系統(tǒng)的研發(fā)工作。具有Linux系統(tǒng)應用、管理、安全及內核的研發(fā)經驗,擅長網絡安全技術、協(xié)議分析、Linux系統(tǒng)安全技術、Linux系統(tǒng)及網絡管理、Linux內核開發(fā)等。

【編輯推薦】

  1. Squid代理服務器高級應用兩例
  2. FreeBSD 8.1下用nginx配置簡單web負載均衡
  3. 基于Postfix的大型郵件系統(tǒng)
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-12-04 10:24:25

2011-01-20 10:08:25

postfix安裝

2011-02-21 14:12:15

Postfix服務器安裝

2010-06-02 18:17:09

Postfix郵件

2010-05-25 16:45:33

postfix郵件服務

2011-01-18 15:47:20

2010-06-02 16:48:49

postfix郵件服務

2010-04-22 15:24:36

郵件安全網絡加密服務器

2016-10-13 13:23:48

服務器

2011-07-08 14:24:49

郵件服務器U-Mail

2018-01-31 11:20:48

2014-06-11 15:33:39

2010-06-02 17:07:25

Postfix 轉發(fā)

2018-07-06 09:48:00

2013-06-04 09:31:11

2019-10-15 09:09:15

FTP服務器 TFTP

2009-10-15 13:48:13

服務器維護常識

2019-11-21 08:50:54

CentOS 8Postfix郵件服務器

2009-04-10 23:28:00

2018-09-06 10:16:39

點贊
收藏

51CTO技術棧公眾號