在 Messaging Server 上部署協力廠商篩選軟體需要執行以下 5 項動作:
決定要部署哪些垃圾郵件篩選程式,以及多少台伺服器上進行部署。Messaging Server 可讓您最多使用四種不同的垃圾郵件/病毒程式篩選內送郵件。這些程式可在獨立的系統上執行、在與 Messaging Server 相同的系統上執行 (單一系統部署中),或在與 MTA 相同的系統上執行 (兩層部署中)。 需要的伺服器數目取決於郵件負載、硬體效能和其他因素。請參閱您的垃圾郵件篩選軟體文件,或與您的代表聯絡,以取得有關確定站點之硬體需求的使用準則。
安裝和配置垃圾郵件篩選軟體。請參閱您的垃圾郵件篩選軟體文件,或與您的代表聯絡,以取得此資訊。
載入和配置篩選用戶端程式庫。這包括在 MTA option.dat 檔案中指定用戶端程式庫和配置檔案,以及在篩選軟體的配置檔案中設定所需的選項。載入與配置垃圾郵件篩選軟體用戶端程式庫
指定要篩選的郵件。可以依使用者、網域或通道篩選郵件。指定要篩選的郵件。
指定如何處理垃圾郵件。可以將垃圾郵件捨棄、歸檔至資料夾、標記在主旨行等等。指定要在垃圾郵件上執行的動作
舊版本的 Messaging Server 僅支援 Brightmail 篩選技術,因此,關鍵字和選項具有 sourcebrightmail 或 Brightmail_config_file 之類的名稱。這些關鍵字和選項已變更為更通用的名稱,例如 sourcespamfilter 或 spamfilter_config_file。先前的 Brightmail 名稱仍然保留,以確保相容性。
每個垃圾郵件篩選程式均需要為提供用戶端程式庫檔案和配置檔案。載入與配置用戶端程式庫包括兩項作業:
在 option.dat 檔案中指定垃圾郵件篩選軟體程式庫路徑 (spamfilter X_library) 和配置檔案 (spamfilterX_config_file )。除這些選項之外,許多其他選項也可用於指定垃圾郵件篩選 LDAP 屬性及垃圾郵件上使用的篩選動作。
在垃圾郵件篩選軟體配置檔案中指定所需的選項。每個垃郵件篩選程式均具有不同的配置檔案和配置選項。有關垃圾郵件篩選軟體的小節和篩選軟體文件中都有相關描述。請參閱使用 Symantec Brightmail Anti-Spam和使用 Symantec Anti-Virus Scanning Engine (SAVSE)。
Messaging Server 最多可呼叫四個不同的篩選系統對郵件進行篩選。例如,您可以同時透過 Symantec AntiVirus Scan Engine 和 SpamAssassin 篩選郵件。每個篩選軟體由 1 到 4 來識別。這些數字顯示為各種垃圾郵件篩選選項、LDAP 屬性以及通道關鍵字的一部分;X 用作篩選器識別碼。例如,sourcespamfilterXoptin 或 spamfilterX_config_file。如果識別碼從關鍵字或選項名稱中省略,則其預設為 1。
以下 option.dat 設定可指定 Messaging Server 同時透過 Symantec AntiVirus Scan Engine 和 SpamAssassin 篩選郵件:
spamfilter1_library=Symantec_Library_File spamfilter1_config_file=Symantec_Config_File spamfilter2_library=SpamAssassin_Library_File spamfilter2_config_file=SpamAssassin_Config_File |
如果使用其他選項或關鍵字配置系統,請使用選項或關鍵字末尾處的對應數字。例如,sourcespamfilter2optin 對應 SpamAssassin。sourcespamfilter1optin 對應 Symantec AntiVirus Scan Engine。無須連續使用數字。例如,如果要暫時停用 Symantec AntiVirus Scan Engine,則只需註釋 spamfilter1_library 配置檔案。
如果垃圾郵件篩選軟體已安裝且可使用 Messaging Server 執行,則需要指定要篩選的郵件。可以將 Messaging Server 配置為依使用者、網域或通道篩選郵件。以下小節描述了這些情形:
表示式 optin 表示選取接收郵件篩選的使用者、網域或通道。
它可適用於針對每個使用者指定篩選。例如,如果垃圾郵件或病毒篩選是做為優惠服務提供給 ISP 客戶的,您可以指定可接收此服務的使用者和不可接收此服務的使用者。使用者篩選的一般步驟如下:
指定啟動垃圾郵件篩選軟體的使用者 LDAP 屬性。
在 option.dat 中設定 LDAP_OPTINX 選項。範例:
LDAP_OPTIN1=SymantecAV LDAP_OPTIN2=SpamAssassin |
在接收垃圾郵件篩選的使用者項目中設定篩選器屬性。
篩選器屬性有多個值並且取決於伺服器。如果使用步驟 1 中的範例則項目為:
SymantecAV: virus SpamAssassin: spam |
對於可同時篩選病毒和垃圾郵件的程式 (如 Brightmail),有效值為 spam 和 virus。用作多值屬性時每個值均需要單獨的屬性項目。例如,如果將 Brightmail 的篩選器屬性設定為 Brightmail,則項目為:
Brightmail: spam Brightmail: virus |
此範例假設在使用。還假設在 option.dat 檔案中已將 LDAP_OPTIN1 設定為 Brightmail。使用者 Otis Fanning 在其使用者項目中將 Brightmail 屬性設定為 spam 和 virus。Brightmail 將對其郵件進行篩選,以檢查是否為垃圾郵件和帶有病毒。使用者級別的篩選範例顯示 Otis Fanning 的 Brightmail 使用者項目。
dn: uid=fanning,ou=people,o=sesta.com,o=ISP objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: inetUser objectClass: ipUser objectClass: inetMailUser objectClass: inetLocalMailRecipient objectClass: nsManagedPerson objectClass: userPresenceProfile cn: Otis Fanning sn: fanning initials: OTF givenName: Otis pabURI: ldap://ldap.siroe.com:389/ou=fanning,ou=people,o=sesta.com,o=isp,o=pab mail: Otis.Fanning@sesta.com mailAlternateAddress: ofanning@sesta.com mailDeliveryOption: mailbox mailHost: manatee.siroe.com uid: fanning dataSource: iMS 5.0 @(#)ims50users.sh 1.5a 02/3/00 userPassword: password inetUserStatus: active mailUserStatus: active mailQuota: -1 mailMsgQuota: 100 Brightmail: virus Brightmail: spam |
如果使用 Symantec AntiVirus Scan Engine 和 SpamAssassin,則項目類似於:
SymantecAV: virus SpamAssassin: spam |
請參閱使用 Symantec Brightmail Anti-Spam、使用 SpamAssassin或使用 Symantec Anti-Virus Scanning Engine (SAVSE)
您可以指定接收篩選的網域。此功能的一個範例就是是否將防垃圾郵件或防毒篩選作為優惠服務提供給 ISP 網域客戶。指定網域篩選的一般步驟如下:
指定啟動篩選軟體的網域 LDAP 屬性。
在 option.dat 中設定 LDAP_DOMAIN_ATTR_OPTINX 選項。範例:
LDAP_DOMAIN_ATTR_OPTIN1=SymantecAV LDAP_DOMAIN_ATTR_OPTIN2=SpamAssassin |
在接收垃圾郵件篩選的網域項目中設定篩選器屬性。
篩選器屬性有多個值並且取決於伺服器。如果使用步驟 1 中的範例則項目為:
SymantecAV: virus SpamAssassin: spam |
對於可同時篩選病毒和垃圾郵件的程式 (如 Brightmail),有效值為 spam 和 virus。用作多值屬性時,每個值均需要單獨的屬性值項目。例如,如果將 LDAP_DOMAIN_ATTR_OPTIN1 設定為 Brightmail,則項目為:
Brightmail: spam Brightmail: virus |
此範例假設在使用。還假設已在 option.dat 檔案中將 LDAP_DOMAIN_ATTR_OPTIN1 設定為 Brightmail。在 Sun LDAP Schema 1 DC 樹狀結構的 sesta.com 網域項目中,將 Brightmail 屬性設定為 spam 和 virus。對於 Sun LDAP Schema 2,您亦應在接收垃圾郵件篩選的網域項目中設定 Brightmail。
Brightmail 會篩選所有傳送至 sesta.com 的郵件,以檢查其是否為垃圾郵件和帶有病毒。以下顯示網域級別的篩選範例。
dn: dc=sesta,dc=com,o=internet objectClass: domain objectClass: inetDomain objectClass: mailDomain objectClass: nsManagedDomain objectClass: icsCalendarDomain description: DC node for sesta.com hosted domain dc: sesta inetDomainBaseDN: o=sesta.com,o=isp inetDomainStatus: active mailDomainStatus: active mailDomainAllowedServiceAccess: +imap, pop3, http:* mailRoutingHosts: manatee.siroe.com preferredMailHost: manatee.siroe.com mailDomainDiskQuota: 100000000 mailDomainMsgQuota: -1 mailClientAttachmentQuota: 5 Brightmail: spam Brightmail: virus |
如果使用 Symantec AntiVirus Scan Engine 和 SpamAssassin,則項目類似於:
SymantecAV: virus SpamAssassin: spam |
請參閱使用 Symantec Brightmail Anti-Spam、使用 SpamAssassin或使用 Symantec Anti-Virus Scanning Engine (SAVSE),以取得更多範例和詳細資訊。
依來源或目標通道進行篩選會使垃圾郵件篩選更靈活、更精確。例如,您可能希望以下列方法進行篩選:
僅限於從特定 MTA 轉送至後端郵件儲存的郵件
來自特定 MTA 的所有送進郵件。
來自特定 MTA 的所有外寄郵件。
來自特定 MTA 的送進郵件和外寄郵件。
Messaging Server 可讓您指定依來源通道或目標通道進行篩選。表 14–1 中說明的通道關鍵字即為進行此作業的機制。以下範例展示如何設定通道級別的篩選。
在所有內送 SMTP 伺服器 (負責將郵件傳送至後端郵件儲存主機) 的 imta.cnf 檔案中,增加一條重寫規則。範例:
msg_store1.siroe.com $U@msg_store1.siroe.com
透過 destinationspamfilterXoptin 關鍵字增加對應於該重寫規則的通道。範例:
tcp_msg_store1 smtp subdirs 20 backoff "pt5m" "pt10" "pt30" \ "pt1h" “pt2h” “pt4h” maxjobs 1 pool IMS_POOL \ fileinto $U+$S@$D destinationspamfilter1optin spam msg_store1.siroe.com |
這些範例假設一個由數字 1 指定的篩選程式。它們使用下表中的關鍵字。
表 14–1 垃圾郵件篩選器的 MTA 通道關鍵字
通道關鍵字 |
說明 |
---|---|
指定即使使用者或網域未透過 LDAP_OPTIN LDAP 屬性指定這些篩選服務,防垃圾郵件軟體 X 仍篩選目標為此通道的所有郵件。(在 option.dat 中,篩選軟體 X 由 spamfilterX 定義。)篩選參數取決於篩選程式,並遵循關鍵字。例如,Brightmail 的參數通常為 spam、virus 或 spam,virus。SpamAssassin 參數為 spam。 在此範例中所有目標為郵件儲存的郵件均由進行垃圾郵件掃描: ims-ms destinationspamfilter1optin spam,virus. . . |
|
指定即使使用者或網域未透過 LDAP_OPTIN LDAP 屬性指定這些服務,防垃圾郵件軟體 X 仍篩選來自此通道的所有郵件。此關鍵字後接系統範圍的預設參數,可用的參數視篩選程式而定。例如,對於 Brightmail,參數為 spam、virus 或 spam,virus。對於 SpamAssassin,參數為 spam。如果 switchchannel 生效,則應將此關鍵字置於切換至的通道上。 |
範例 1 對所有郵件進行垃圾郵件和病毒篩選,這些郵件從 MTA 轉送至稱為 msg_store1.siroe.com 的後端郵件儲存
在 imta.cnf 檔案 (負責將郵件傳送至後端郵件儲存主機) 中,增加一個重寫規則。範例:
msg_store1.siroe.com $U@msg_store1.siroe.com
透過 destinationspamfilterXoptin 關鍵字增加對應該重寫規則的通道。範例:
tcp_msg_store1 smtp subdirs 20 backoff “pt5m” “pt10” “pt30” “pt1h” \ “pt2h” “pt4h” maxjobs 1 pool IMS_POOL fileinto $U+$S@$D \ destinationspamfilter 1optin spam,virus msg_store1.siroe.com
範例 2 對經由 MTA 的所有內送郵件 (通常,所有內送的郵件都經由 tcp_local 通道) 進行垃圾郵件篩選:
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ sourcespamfilter1optin spam tcp-daemon
範例 3 對經由 MTA 外寄至網際網路的所有郵件進行篩選。(通常,所有外寄至網際網路的郵件都經由 tcp_local 通道。)
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam tcp-daemon
範例 4 對經由 MTA 的所有內送和外寄郵件進行篩選:
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ sourcespamfilter1optin spam destinationspamfilter1optin spam tcp-daemon
範例 5 在兩層系統中篩選目標為本機郵件儲存的所有郵件,而不使用使用者 optin:
ims-ms smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam tcp-daemon
範例 6 對所有內送和外寄的郵件進行垃圾郵件和病毒篩選 (假定您的軟體對垃圾郵件和病毒均可進行篩選):
tcp_local smtp mx single_sys remotehost inner switchchannel \ identnonelimited subdirs 20 maxjobs 7 pool SMTP_POOL \ maytlsserver maysaslserver saslswitchchannel tcp_auth \ destinationspamfilter1optin spam,virus sourcespamfilter1optin \ spam,virus tcp-daemon
垃圾郵件篩選程式分析郵件並將垃圾郵件或非垃圾郵件的判定結果傳回目前版本的 Messaging Server。然後,Messaging Server 對郵件執行動作。動作藉由篩選郵件篩選程式語言指定的。可能的動作包括捨棄郵件、將郵件歸檔至資料夾、增加標頭和向主旨行增加標記等等。帶有 if-then-else 描述的複雜篩選程序檔亦有可能。
篩選程序檔是透過表 14–2 中說明的 MTA 垃圾郵件篩選器選項 (option.dat) 指定的。主要的垃圾郵件篩選器動作選項包括 SpamfilterX_null_action (指定傳回的垃圾郵件判定結果值為空值時所要執行的篩選規則) 和 Spamfilter X_string_action (指定傳回的垃圾郵件判定結果為字串時所要執行的篩選規則)。
垃圾郵件篩選程式通常向 MTA 傳回字串或空值表示該郵件為垃圾郵件。某些程式還傳回垃圾郵件分值 — 評定郵件為垃圾郵件之可能性的數字。此分值可用作動作序列的一部分。以下範例顯示如何指定對篩選的郵件採取的動作。每個範例均假設一個由數字 1 指定的篩選程式。
範例 1:將垃圾郵件與判定結果值 (空值) 一同歸檔至檔案 SPAM_CAN。
spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;
可在傳回字串的垃圾郵件上執行相同的動作:
spamfilter1_string_action=data:,require "fileinto"; fileinto "SPAM_CAN”;
範例 2:將垃圾郵件與傳回的判定結果字串一同歸檔至以傳回的判定結果字串命名的檔案 (這是 $U 的工作)。即,如果傳回的判定結果字串為 spam,則將該郵件儲存在稱為 spam 的檔案中。
spamfilter1_null_action=data:,require "fileinto"; fileinto "$U”;
範例 3:捨棄帶有字串判定結果值的垃圾郵件。
spamfilter1_string_action=data:,discard
可在傳回空值的垃圾郵件上執行相同的動作:
spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;
範例 4。此行將 Spam-test: FAIL 標頭增加至由字串判定結果值確定為垃圾郵件的每個郵件。
spamfilter1_string_action=data:,require ["addheader"];addheader "Spam-test: FAIL”;
範例 5。此行將字串 [PROBABLE SPAM] 增加至傳回字串的垃圾郵件的主旨行:
spamfilter1_string_action=data:,addtag “[PROBABLE SPAM]”;
範例 6。如果標頭包含 resent-from 和 User-1,此行將假設字串判定結果值並對電子信箱 testspam 中的垃圾郵件進行歸檔。如果郵件不包含此標頭,則將郵件歸檔至 spam
spamfilter1_string_action=data:,require "fileinto"; \ if header :contains ["resent-from"] ["User-1"] { \ fileinto "testspam"; \ } else { \ fileinto "spam";};
因為判定結果字串可藉由大多數垃圾郵件篩選器軟體進行配置,所以您可以根據傳回的字串指定不同的動作。這可透過相符的配對選項 spamfilterX_verdict_n 和 spamfilterX_action_n 執行。
範例 7。這些相符的配對選項捨棄傳回的判定結果字串為 remove 的垃圾郵件。
spamfilter1_verdict_0=remove spamfilter1_action_0=data:,discard |
請參閱垃圾郵件篩選軟體的特定小節,以取得有關如何指定垃圾郵件判定結果字串的說明。
表 14–2 MTA 垃圾郵件篩選器選項 (option.dat)
適用於 SpamAssassin 的 MTA 選項 |
說明 |
|
---|---|---|
指定篩選軟體 X 配置檔案的完整檔案路徑和名稱。預設:無 |
||
指定篩選軟體 X 共用程式庫的完整檔案路徑和名稱。預設:無 |
||
控制篩選程式庫 X 報告的某些故障是否作為暫時性故障處理或被忽略。預設值 0 指定垃圾郵件篩選問題會導致暫時性處理故障。將值變更為 1 會導致在某些 (但可能並非所有) 篩選程式庫發生故障的情況下,略過垃圾郵件篩選器處理。尤其是,如果系統阻塞而未在程式庫程式碼中傳回,則 MTA 的一些部分也可能阻塞。還可以設定為 -2 和 2。它們分別與 0 和 1 相同,但是如果垃圾郵件篩選外掛程式報告發現問題,它們將造成發出系統記錄訊息。 預設:0 |
||
指定用於針對使用者啟動篩選軟體 X 之 LDAP 屬性的名稱。這應為 inetMailUser 物件類別中的屬性。 此屬性本身可以有多個值且區分大小寫。對於 SpamAssassin,它的值應為小寫的 spam。 預設:無 |
||
指定用於針對網域啟動篩選軟體 X 之屬性 LDAP 的名稱。適用於目標網域。除應屬於物件類別 mailDomain 之外,其餘與 LDAP_optin 相同。 預設:無 |
||
指定一個字串,如果發現該字串是由 LDAP_optinX 或 LDAP_domain_attr_optinX 定義的屬性值,則會導致 MTA 執行該屬性不存在所執行的動作。即,停用對該項目的篩選。請參閱指定要篩選的郵件 預設:空字串。依預設空屬性被忽略。(這與 iPlanet Messaging Server 5.2 不同,在 5.2 版中,空 optin 屬性藉由空 optin 清單觸發篩選。可透過將 spamfilterX_null_optin 設定為虛擬字串來復原 5.2 版的運作方式。)) |
||
定義一種篩選規則用於指定當篩選軟體 X 判定結果傳回空值時如何處理郵件。可透過使用檔案 URL 在外部儲存篩選表示式。例如:file:///var/opt/SUNWmsgsr/config/null_action.sieve。此外,請勿使用篩選 reject 動作拒絕垃圾郵件,因為這樣做會向無辜的一方 (其位址用於傳送垃圾郵件) 傳送「未傳送通知」。預設:data:,discard; |
||
定義一種篩選規則用於指定當判定結果為字串時如何處理郵件。可透過使用檔案 URL 在外部儲存篩選表示式。例如: file:///var/opt/SUNWmsgsr/config/null_action.sieve。此外,請勿使用篩選 reject 動作拒絕垃圾郵件,因為這樣做會向無辜的一方 (其伺服器用於傳送垃圾郵件) 傳送「未傳送通知」。 預設:data:,require "fileinto"; fileinto "$U; 其中,$U 為判定結果傳回的字串。 |
||
spamfilterX_verdict_n 和 spamfilterX_action_n 組成相符的一對選項,其中,n 是 0 到 9 之間的一個數字。這兩個選項可讓您為任意判定結果字串指定篩選器。執行方法為:將 spamfilterX_verdict_n 和 spamfilterX_action_n 分別設定為判定結果字串和篩選器,其中,n 是 0 到 9 之間的一個整數。例如,站點可透過指定以下內容使「reject」判定結果導致篩選 reject 動作:
所有 spamfilterX_verdict_n 選項及相應動作選項的預設值均為空字串。 預設:無 |
||
請參閱 spamfilterX_verdict_n。預設:無 |
||
某些篩選程式庫可以根據收件者位址執行一組動作。spamfilterX_final 指定傳送至篩選程式庫的收件者位址類型。值 0 可導致使用中間位址;1 可導致傳送收件者位址的最終格式。 預設:0 |
||
轉寄對於垃圾郵件篩選器處理而言是個挑戰。考量指定 forward 傳送選項以及指定其他使用者轉寄位址的使用者項目。此外,使用者項目設定為選擇加入某些特定類型的篩選。是否應該將篩選套用至轉寄的郵件?一方面,對特定使用者而言正確的篩選選擇對其他使用者卻不一定正確。另一方面,結束篩選作業可能會成為違反站點安全策略的手段。 沒有一個答案在所有情況下都是正確的,因此 OPTIN_USER_CARRYOVER 控制在轉寄時如何將垃圾郵件篩選 optin 清單從一個使用者或別名項目傳送至其他項目。這是位元編碼的值。各種位元值涵義如下: 位元 0 (值 1)。每個 LDAP 使用者項目無條件地置換先前使用中的任何使用者/網域 optin。 位元 1 (值 2)。如果使用者的網域具有 optin 屬性,則會置換先前任何使用中的使用者/網域/別名 optin。 位元 2 (值 4)。如果使用者具有 optin 屬性,則會置換先前使用中的任何使用者/網域/別名 optin。 位元 3 (值 8)。由 [optin] 非位置參數指定的 optin 置換先前使用中的任何使用者/網域/別名 optin。 預設:0 (如果一個使用者具有轉寄至其他使用者的投遞項目,則 optin 將會累積。此預設可確保站點安全策略在轉寄時有效;而其他設定則無法確保這一點。) |