服務器安全之
imail安全設(shè)置及防止垃圾郵件
SMTP 服務處理所有發(fā)送/接受的郵件。
由于SMTP 協(xié)議和Internet 網(wǎng)絡協(xié)議的開放性,很難把有危害性的郵件或是你不想要的郵件和正常的郵件區(qū)分開來。不管如何,有一些技術(shù)可以讓你保證你的Imail 服務器的安全。本章所討論的選項,大多數(shù)你可以在SMTP Security 標簽找到。
SMTP協(xié)議安全的技術(shù)背景
如果你不了解垃圾郵件和其他相關(guān)技術(shù)術(shù)語,我們將下面做一些背景介紹。.
為Internet 傳遞消息所設(shè)計的SMTP 允許電子郵件從Internet 上的一臺電腦主機傳遞到另外一臺電腦主機直到電子郵件到達目的地。這在Internet 早期是必須的。因為,當時的電子郵件必須跨越不同的網(wǎng)絡才能到達目的地。隨著Internet 的發(fā)展,電子郵件已經(jīng)可以直接被發(fā)送到目的地而無須跨越多臺電腦主機了。之所以保留這種設(shè)計模式,是考慮到可能需要通過創(chuàng)建一個連接(或多個連接)轉(zhuǎn)發(fā)郵件到其他的電腦(或者是成百上千
臺電腦),讓這些電腦發(fā)送郵件。
現(xiàn)在,已經(jīng)已經(jīng)有了許多方法對付這些垃圾郵件和有危害的病毒等不速之客。
許多電腦公司或ISP 供應商拒絕接受來自某些地址的郵件。另外,采用防火墻或其他技術(shù)也可以達到相同的目的。一旦那些發(fā)送不速之客的郵件服務器被人們知道并且據(jù)之門外。那些郵件服務器的管理員會利用SMTP 的開放性的特征—利用Internet 上的其他的郵件服務器的轉(zhuǎn)發(fā)功能來發(fā)送他們的郵件。甚至他們利用這些方法修信息頭以隱藏他們的郵件的真實來源。
當你的郵件服務器被用來做這些垃圾郵件的轉(zhuǎn)發(fā)服務器發(fā)送到數(shù)以萬計的郵件地址時,你的郵件服務器的資源很快的被消耗,影響你的正常郵件的發(fā)送。
IMail 服務器采用了幾種方法保護您的郵件服務器。以下章節(jié)會說明這些安全選項。
安全設(shè)置的準備工作本節(jié)就這些安全選項作一番準備工作,讓你對他們有一個大概的了解。
郵件轉(zhuǎn)發(fā)選項郵件轉(zhuǎn)發(fā)選項。IMail 郵件服務器(或其其它任何郵件服務器) 可以接受目的地是其它主機的郵件然后把它發(fā)送到該主機。這就是郵件轉(zhuǎn)發(fā)功能。如果你的郵件用戶在他們各自的電腦上通過你的Imail 郵件服務器發(fā)送郵件到其他郵件主機,那么你的Imail 郵件服務器必須提供轉(zhuǎn)發(fā)功能。
本地郵件不需要郵件裝發(fā)功能。這是因為,一封發(fā)往本機的郵件或者產(chǎn)生自本機的郵件不需要郵件轉(zhuǎn)發(fā)功能。所以,如果你的客戶都直接在該郵件服務器發(fā)送/接受郵件,或者他們都通過Web 郵件發(fā)送/接受,那你可以選擇禁止郵件轉(zhuǎn)發(fā)功能( No Mail Relay )。
如果你擔心那些垃圾郵件制造者使用你的Imail 郵件服務器轉(zhuǎn)發(fā)郵件,你可以使用以下選項限定合法的轉(zhuǎn)發(fā)權(quán)限。
• Relay mail for 選項指定一個或一段范圍的IP 地址。從這些地址連接你的Imail郵件服務器發(fā)送郵件的有權(quán)限轉(zhuǎn)發(fā)郵件。
• Relay mail for local hosts only 選項限定只有本地機發(fā)送者有權(quán)限轉(zhuǎn)發(fā)郵件。Relay mail for local users only 只有Imail 的用戶有權(quán)限轉(zhuǎn)發(fā)郵件。
• 當你使用選項“Relay for” 時, 你可能有用戶從你未指定的IP 地址發(fā)送郵件。你可以使用SMTP AUTH(SMTP 認證)命令。確認用戶在他們的郵件客戶端軟件中選擇了“user authorization”(用戶認證)選項(注意,不同的郵件客戶端軟件有不同的名字)。SMTP AUTH 會在用戶發(fā)送郵件是對用戶帳號和密碼進行認證。對于郵件服務端和客戶端來說,這些操作是透明的。
認證接收的郵件
有很多方法可以用來檢查接受的郵件的郵件頭和正文信息以過濾垃圾郵件。
• 在Kill file 輸入垃圾郵件的郵件地址或域名(例如: @domain.com)。
• 利用分發(fā)規(guī)則在接受的郵件的郵件頭和郵件正文中搜尋特定的信息。例如,你可以在郵件頭或正文中搜尋“$$$ GET RICH QUICK” 。如果你找到,你可以把這封郵件轉(zhuǎn)移到你指定的郵箱中。分發(fā)分發(fā)規(guī)則支持強大的表達式搜索。你可以利用規(guī)則和信息管理協(xié)作轉(zhuǎn)移那些垃圾郵件到管理員的郵箱中。這樣,你的用戶就不會收到垃圾郵件了。請參考第四章“User Mail Accounts”(用戶郵件帳號)。
• Disable SMTP “VRFY” command 關(guān)閉SMTP 驗證命令選項.
The SMTP VRFY command(SMTP驗證)用來驗證一臺郵件主機上的合法用戶帳號,當然,也可以用來測試某用戶是否為該郵件主機上的合法用戶。關(guān)閉該命令可以防止垃圾郵件制造者探測合法的用戶帳號然后冒用該帳號發(fā)送垃圾郵件。如果你選擇該選項,當Imail郵件服務器受到一個SMTP VERY(SMTP 驗證) 請求時,將會返回如下消息:
252 Cannot VRFY user
• 采用以下選項之一以確認非法的使用或是檢查郵件頭.
自動拒絕可能的黑客攻擊
拒絕發(fā)送者為空(NULL <>)的郵件
檢查合法的發(fā)送者
關(guān)于這些選項的具體信息,請參閱“Validating Incoming Mail” (檢驗接受的郵件)
訪問控制選項
如果你想拒絕來自某一IP 地址的郵件, 請使用Control Access(訪問控制). 相關(guān)信息
參考“Setting Access to the SMTP Server”( SMTP 服務的訪問設(shè)置).
改變SMTP 歡迎消息
當你登入SMTP 時, 該服務將返回一條歡迎消息. 該消息包括郵件服務期的版本信息,發(fā)
行商和操作系統(tǒng)信息. 你可以更該歡迎消息以隱藏這些信息. 隱藏這些信息有助于你保護
你的郵件系統(tǒng)免受黑客的攻擊或是垃圾郵件制造者的入侵. 參考“Changing Service
Welcome Message for SMTP, POP3, and IMAP4” (改變SMTP,POP3,IMAP4 服務的歡迎
消息).
SMTP 安全設(shè)置選項
你可以設(shè)置哪些用戶有權(quán)限訪問你的郵件服務器. 你有多種方法可以控制你的SMTP 安全
設(shè)置. 本節(jié)討論如何利用SMTP 安全選項防止非法的訪問和郵件. 參考本章的
“Security Strategies”(安全計劃).
IMail 服務器
如何設(shè)置以下這些SMTP 服務的選項:
1 單擊SMTP Security(SMTP 安全) 標簽. 你可以看到SMTP Security屬性頁.
2 選擇任一各選項(下面的章節(jié)會有相關(guān)描述)設(shè)置SMTP 服務的安全.
3 單擊Apply 保存設(shè)置. 單擊OK to保存你的設(shè)置并且退出對話框.
注意
如果你對SMTP 的設(shè)定作了任何的改動,你必須停止SMTP 服務然后重新啟動SMTP. 這
樣,你的修改才會有作用.
Setting Mail Relay Options 設(shè)置郵件轉(zhuǎn)發(fā)選項
你可以利用Mail Relay Options 郵件轉(zhuǎn)發(fā)選項防止未經(jīng)允許的郵件通過你的郵件服務
器轉(zhuǎn)發(fā). Relay mail for 讓你可以控制你的Imail 服務器. 你可以只接受那些產(chǎn)生自本
地的或目的是本地郵箱的郵件. 你可以定義某些系統(tǒng)或地址為被認為是本地的.
在設(shè)置郵件轉(zhuǎn)發(fā)選項時你必須考慮的
在使用“Relay for” 選項是你必須考慮以下的問題..
• 你的郵件用戶在發(fā)送郵件時,郵件是通過Imail 服務器轉(zhuǎn)發(fā)的.所以,你必須讓Imail知道你的郵件用戶系統(tǒng)的IP 地址.
• 如果你的某一個用戶需要從不確定的IP 地址發(fā)送郵件,你可以讓你的用戶在他的郵件客戶軟件中使用“user authorization”(用戶認證) 選項. 當使用這個選項后, Imail服務器利用SMTP AUTH(SMTP 認證) 命令檢查合法用戶的帳號和密碼.
• 如果你有一臺Imail 服務器被設(shè)定為某一臺遠端郵件服務器的備份服務器,并且你想限制你的服務器轉(zhuǎn)發(fā)服務的訪問, 使用選項Relay for Addresses (對這些地址的郵件轉(zhuǎn)發(fā)) 指定作為備份服務器的Imail 郵件服務器的主機的地址. 參考”第三章: IMail 的配置”.
Relay mail for anyone 轉(zhuǎn)發(fā)任意發(fā)送者的郵件
允許SMTP 服務接受目的地為其他主機的郵件并分發(fā)到正確的主機.這是默認的設(shè)定.
該設(shè)定是你的SMTP 服務對所有的用戶開放. 某些垃圾郵件發(fā)送者可以通過你的服務器發(fā)
送郵件,甚至是他們發(fā)送的郵件看上去是從你的服務器上產(chǎn)生的. 參考
“SMTP 協(xié)議安全的背景”.
Relay mail for 轉(zhuǎn)發(fā)來自指定地址的郵件允許SMTP 服務轉(zhuǎn)發(fā)來自指定的IP 地址的郵件(郵件服務器把這些地址認為是本地的地址).
如果想指定IP 地址, 單擊addresses(地址) 按鈕. 然后“Access Control”(訪問控制)
對話框出現(xiàn).
1 單擊Add(增加) 按鈕. 對話框“Accept as Local”(認為來自本地) 出現(xiàn).
2 在IP Address(IP 地址) 框中, 輸入你指定的IP 地址.
如果想批量增加IP 地址,選擇Group of Computers 選項. 在IP Address(IP 地址)
和Subnet Mask(掩碼) 框中, 輸入IP 地址和掩碼.這樣,這一段中的IP 地址都將被認
為是本地地址.
例如, 如果你有一個C 類地址156.21.50.0, 輸入地址156.21.50.0 和掩碼
255.255.255.0. 于是,這一區(qū)域中的254個地址將被認為是本地地址. 來自這些IP 地址
的郵件被允許轉(zhuǎn)發(fā)郵件.
3 單擊OK 把這些IP 地址添加到列中. Imail 將對來自列表中的IP 地址轉(zhuǎn)發(fā)郵件.
4 單擊OK 保存更該. 注意,你必須停止服務然后重新啟動服務以使這些更該生效.
如果那些被認為非本地的系統(tǒng)試圖通過你的Imail 郵件系統(tǒng)發(fā)送郵件,將會受到以下的信息: 550 unknown local host %s, not a gateway
No Mail Relay 不允許郵件轉(zhuǎn)發(fā)在該選項下, SMTP 服務將拒絕轉(zhuǎn)發(fā)所有的來自其他IP 地址的郵件. 如果你選擇了該設(shè)定,確認“Disable SMTP Auth Reporting”(關(guān)閉SMTP 認證報告)沒有被選中. 該設(shè)定將強迫用戶認證.
注意
如果你使用的郵件客戶端為Outlook 或Eudora, 你必須選擇
“my server requires authentication”. 該選項在不同的客戶端上有不同的表達方式.
Relay mail for local hosts 只為本地主機轉(zhuǎn)發(fā)郵件
檢查接受郵件的“From” 地址并確定包含一個正確的Imail 服務器主機名字. 該名字必須為主機名或者是虛擬主機的名字, 或者是一個主機的正確的存在于該Imail 系統(tǒng)的別名. 如果不是, 服務器將不會轉(zhuǎn)發(fā)該郵件. 如果一個主機有別名,你必須在accept.txt文件中加入這個別名.
你可以和本選項結(jié)合文件accept.txt 使用使Imail 可以接受被命名的遠程主機并認為是”本地”主機.
當你在使用選項” “store and forward” 轉(zhuǎn)發(fā)其他郵件服務器的郵件時,你不能使用本選項.
Relay mail for local users 只為本地用戶轉(zhuǎn)發(fā)郵件檢查接受郵件的“From” 地址并確定包含一個正確的Imail 服務器主機名字, 然后檢查該主機的用戶帳號. 該選項不會檢查用戶的別名,如果某個用戶希望使用別名,該別名
必須存在于accept.txt. 如果該主機的名字或用戶帳號不正確,服務器不會轉(zhuǎn)發(fā)郵件.
你可以和本選項結(jié)合文件accept.txt file 使用使Imail 可以接受遠端主機和用戶并把他們認為是”本地”主機和”本地”用戶.
當你在使用選項” “store and forward” 轉(zhuǎn)發(fā)其他郵件服務器的郵件時,你不能使用本選項.
Using the accept.txt file 使用文件accept.txt 該文件讓你可以告知Imail 哪些主機和用戶希望被認為是”本地” 的. 該文件可以和選項Relay for Local HostsOnly(只為本地主機轉(zhuǎn)發(fā)郵件) 和Relay for Local Users Only(只為本地用戶轉(zhuǎn)發(fā)) 結(jié)合使用..
如何創(chuàng)建accept.txt 文件:
1 利用Windows 記事本或其它的文本編輯軟件,建立一個名字為accept.txt 的文件.
2 每一行輸入一個IP 地址或是主機名字. 不要用空格符或是分隔符.
例如,輸入主機:
mail1.31896.net
mail5.31896.com
例如,輸入用戶:
fred@mail1.31896.net
bob@mail5.31896.com
文件accept.txt 使用絕對匹配來匹配主機或是郵件地址. 不支持廣義匹配或部分匹配.
3 保存文件accept.txt 到: [IMail Top Directory]\accept.txt
Setting Access to Local Mail Groups 本地郵件組的訪問設(shè)置你可以利用以下的選項設(shè)置對你的郵件服務器上的本地郵件組的訪問(這些選項不影響郵
件列表,標準別名或是其他的程序別名)
Allow remote mail to local groups 允許遠端郵件到本地組當選中該項時,SMTP 在接受到一封遠端郵件后將檢查一個在Imail Client application( Imail 客戶端程序) 中定義的本地組,如果發(fā)現(xiàn)該遠端郵件地址存在于本地組時, Imail 將把這封遠端郵件重新發(fā)送到本地組中定義的相對應的用戶信箱中.
Allow remote view of local groups 允許從遠端查看本地組When selected當使用該選項后, SMTP 服務遠端的主機執(zhí)行命令“EXPN” 查看本地主機中的某個組中的所有用戶名.
注意
以上所描述的設(shè)置不會影響郵件列表.對郵件組的別名有影響.如果你想讓郵件組的別名可以正常工作,你必須選中“Allow remote mail to local groups”(允許遠端郵件到本地組)
Validating Incoming Mail 驗證接受的郵件你可以利用以下的選項檢查接受的郵件是來自合法的用戶或是指定的拒絕訪問的郵件地址.
Refuse NULL <> Senders 拒絕發(fā)信人為空的郵件如果該選項被選中, Imail 服務器將拒絕接受發(fā)信人郵件地址為空(<>)的郵件. 接受發(fā)信人地址為空的做法會使垃圾郵件制造者更容易通過你的郵件服務器發(fā)送垃圾郵件. 然而,在Internet 標準協(xié)議RFC 822 中要求郵件服務器可以接受發(fā)信人地址為空的郵件. 并且Microsoft Exchange 的
postmaster 發(fā)送的郵件的發(fā)信人地址是為空的., 所以,當你使用本選項時,會使Imail郵件服務器的用戶無法接受Micorsoft Exchange 的postmaster 發(fā)送的郵件.
Check valid sender 檢查合法發(fā)送者If 如果你使用了該選項, Imail 要求用戶在發(fā)送的郵件的MAIL FROM 或是REPLY-TO 中有合法的郵件地址(user@host),注意為空(<>) 的地址受選項Refuse NULL < > Senders 的控制.
Auto-deny possible hack attempts 自動拒絕可能的黑客的攻擊If 如果SMTP 服務接收到超過512 字符的SMTP DATA 命令,發(fā)送該SMTP DATA 命令的遠端IP 將被暫時放入”deny access”(拒絕訪問)文件中直到重新啟動服務. 在SMTP 接受的數(shù)據(jù)中可以有超過512個字符,但如果SMTP DATA 命令超過512 個字符, Imail 將認為是黑客攻擊而拒絕該遠端IP . 您無法在“deny access” 文件中看到該IP ,但您可以在日志文件中看到.
Disable SMTP ‘VRFY’ command 關(guān)閉SMTP ‘驗證’命令SMTP VRFY 命令用來驗證一臺主機上的用戶賬號. 如果你使用了該命令,當Imail 服務器接收到SMTP VRFY 命令后將返回消息: 252 Cannot VRFY user
注意當你使用“peer” 模式Imail 服務器時, 請不要使用Disable SMTP VRFY 命令. 一臺peer 模式的郵件服務器需要用命令驗證存在于其他peer 模式的郵件服務器的用戶賬號. 參考“Setting Up “Peer” Imail Servers”(設(shè)置Peer 模式Imail 服務器).
Edit kill file. 該文件允許你指定一個郵件地址或郵件主機. 任何來自該郵件地址或主機的郵件都將被拒收. 單擊按鈕Edit kill file, 該文件將再記事本中打開, 按照一下格式輸入,一行一條:
userid@host
@host
例如,你可以輸入郵件地址fred@31896.net 以拒絕來自該地址的郵件. 你也可以輸入主機名31896.net 以拒絕所有來自該主機的郵件. Imail 服務器將會在接受的郵件中檢查MAIL FROM: user@host ,如果發(fā)現(xiàn)存在于kill 文件中是, Imail 將返回消息:
501 unacceptable mail address
文件kill.lst 位于Imail 的目錄下.
Setting Access to the SMTP Server 設(shè)置對SMTP 服務的訪問你可以設(shè)置一個或多個IP 地址,使之有權(quán)限訪問SMTP 服務,或者被拒絕訪問. 沒有權(quán)限訪問SMTP 服務的將被拒絕連接. 如果你知道那些未被認證得用戶的IP 地址時這是十分有用的. 注意,在大多數(shù)的情況下,你不需要使用該命令. 因為你不知道那些發(fā)送郵件
給你用戶的主機的地址.
如何拒絕來自一臺或多臺主機的訪問:
1 單擊Control access. 出現(xiàn)訪問控制對話框.
2 選擇Granted Access 選項.
3 單擊按鈕Add . 出現(xiàn)Deny Access On 對話框.
4 在IP Address 框中, 輸入你希望拒絕被訪問SMTP 服務的電腦的IP 地址. 如果你希望拒絕多臺電腦,選擇選項Group of Computers . 在IP Address 和Subnet Mask 框中, 輸入IP 地址和子網(wǎng)掩碼, 如此就可以拒絕該網(wǎng)段內(nèi)的電腦的SMTP 訪問連接了.
例如, 如果你想拒絕一個C 類地址156.21.50.0內(nèi)的電腦的SMTP 訪問, 輸入IP 地址156.21.50.0 和子網(wǎng)掩碼255.255.255.0. 如此,就可以拒絕該地址段內(nèi)的254 臺系統(tǒng)的SMTP 訪問了.
5 單擊按鈕OK 增加到列表中. 所有在列表中的電腦都沒有權(quán)限訪問SMTP.
6 單擊按鈕OK 保存改變. 你必須重新啟動服務以使改變生效.
如何使某臺或多臺電腦有權(quán)限訪問SMTP 服務:
1 單擊按鈕Control access. 出現(xiàn)對話框Access Control .
2 Select the Denied Access option.
3 單擊按鈕Add . 出現(xiàn)對話框Grant Access .
4 在IP Address 框中, 輸入你希望有權(quán)限訪問SMTP 的那臺電腦的IP 地址.
如果,想給多臺電腦賦予權(quán)限,選擇選項Group of Computers . 在IP Address 和Subnet Mask 框中, 輸入IP 地址和子網(wǎng)掩碼, 如此就可以讓該網(wǎng)段內(nèi)的電腦的SMTP 訪問連接了.
例如, 如果你想允許一個C 類地址156.21.50.0內(nèi)的電腦的SMTP 訪問, 輸入IP 地址156.21.50.0 和子網(wǎng)掩碼255.255.255.0. 如此,就可以接受該地址段內(nèi)的254 臺系統(tǒng)的SMTP 訪問了.
1 單擊按鈕OK 增加該地址到列表中. 所有的電腦都沒有權(quán)限訪問SMTP 服務除了該列表中的電腦.
2 單擊按鈕OK 保存改變. 注意你必須重新啟動服務以使改變生效.
Copying Inbound and Outbound Mail 產(chǎn)生所有郵件的副本
在SMTP Security 一欄中,你可以設(shè)置使所有接收和發(fā)送的郵件都產(chǎn)生一副本并且發(fā)送到一個指定的郵箱中。
1 在Copy All Mail 選項中, 在框Mail address 中, 輸入你希望接收副本的郵箱地址。
2 打開Enable 選項。如果你關(guān)閉了選項Copy All Mail , 確認你同時關(guān)閉了選項Enable .
3 單擊按鈕Apply 保存設(shè)置
海騰數(shù)據(jù)中心(技術(shù)部整理)
2007-10-12