除了說明如何部署 SAVSE 外,本小節還說明有關部署其他支援 ICAP 的防垃圾郵件/防病毒程式的資訊。本節包含以下小節:
SAVSE 是 TCP/IP 伺服器應用程式和提供病毒掃描服務的通訊應用程式程式設計介面 (API)。它是專門為保護通過或儲存於網路基礎架構裝置的通訊流而設計的,它會偵測並保護系統免受所有主要檔案類型 (包括行動碼和壓縮檔案格式) 中的病毒、蠕蟲和特洛伊木馬的影響。請參閱 Symantec website 以取得詳細資訊
目前版本的 Messaging Server 僅支援 SAVSE 掃描功能。不支援修復或刪除功能。
這是 Symantec 單獨授權的產品。
僅支援掃描模式,不支援 SAVSE 配置中的掃描並修復或掃描並刪除模式。
SAVSE 或其他支援 ICAP 的伺服器可在自身的獨立系統上執行,或與 Messaging Server 在同一系統上執行 (在單一系統部署中),或者與 MTA 在同一系統上執行 (在兩層部署中)。如果在 MTA 與郵件儲存之間使用本機郵件傳送協定 (LMTP),則必須從 MTA 呼叫篩選,而不可從郵件儲存呼叫篩選。如果在 MTA 與郵件儲存之間使用 SMTP,則可以從任意一方呼叫篩選,並可以在任一系統或獨立的協力廠商系統上執行篩選。
若要使用執行 SAVSE 的多台伺服器,則必須在其前端使用負載平衡器。僅使用一個位址來為 SpamAssassin 配置 MTA。
安裝和配置 SAVSE。請參閱 Symantec 軟體文件,以取得有關安裝與配置的資訊。另請參閱SAVSE 選項。
載入和配置 SAVSE 用戶端程式庫。這包括將用戶端程式庫 libicap.so 和配置檔案 (必須建立此檔案) 指定至 MTA。請參閱載入與配置垃圾郵件篩選軟體用戶端程式庫。
指定要進行病毒篩選的郵件。可以依使用者、網域或通道篩選郵件。請參閱指定要篩選的郵件。
指定要對垃圾郵件執行的動作。可以將病毒捨棄、歸檔至資料夾、在主旨行進行標記等等。請參閱指定要在垃圾郵件上執行的動作
依需要設定其他篩選器配置參數。請參閱表 14–2指定要在垃圾郵件上執行的動作
以下範例可測試到達本機郵件儲存的郵件並捨棄帶有附加病毒的郵件。前三個步驟可以任何次序執行。
建立 SAVSE 配置檔案。
此檔案的名稱和位置在下一步驟中指定。此處使用的名稱為 SAVSE.opt。此檔案的範例顯示如下:
host=127.0.0.1 port=1344 mode=0 verdict=virus debug=1 |
host 和 port 指定執行 SAVSE 程式的系統之名稱以及 SAVSE 程式偵聽內送請求時所在的連接埠號碼 (對 SAVSE 來說,預設值為 1344)。mode=0 指定如果偵測到郵件中包含病毒,則將傳回由 verdict 指定的字串 (此處為 virus)。debug=1 開啟除錯處理。請參閱SAVSE 選項,以取得有關 ICAP 配置參數的說明。
建立 option.dat 檔案。範例:
! for Symantex Anti-virus Scan Engine spamfilter1_config_file=/opt/SUNWmsgsr/config/SAVSE.opt spamfilter1_library=/opt/SUNWmsgsr/lib/libicap.so spamfilter1_optional=1 spamfilter1_string_action=data:,discard |
spamfilter1_config_files 指定 SAVSE 配置檔案。
spamfilter1_library 指定 SAVSE 共用程式庫的位置。
spamfilter1_optional=1 指定即使因 SAVSE 程式而發生故障, MTA 仍將繼續作業。
spamfilter1_string_action 指定對垃圾郵件執行篩選動作。此值可指定捨棄帶有病毒的郵件。由於這是預設值,所以無需指定,除非要變更此值。
指定要篩選的郵件。
若要篩選進入本機郵件儲存的所有郵件,請將 destinationspamfilter1optin spam 關鍵字增加至 ims-ms 通道,以變更 imta.cnf 檔案:
! ! ims-ms ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" "pt30m" "pt1h" "pt2h" "pt4h" maxjobs 4 pool IMS_POOL fileinto $U+$S@$D destinationspamfilter1optin virus ims-ms-daemon |
重新編譯配置並重新啟動伺服器。僅 MTA 需要重新啟動。無需執行 stop-msg。
# imsimta cnbuild # imsimta restart |
確定 SAVSE 已啟動。
它應該已自動啟動,否則啟動指令可能如下所示:/etc/init.d/symcscna start
將 mode 設定為 0 可與 spamfilterX_null_option 一起使用,以執行其他動作 (例如,確定郵件為垃圾郵件時,將其歸檔至特定的資料夾)。例如:
spamfilter1_null_option=data:,require "fileinto"; fileinto "VIRUS";
請注意,在大多數情況下,將被感染的郵件歸檔至資料夾並不是一個好方法。
可透過將 mode 設定為 1 來啟動動作。例如,可以將垃圾郵件結果納入拒絕郵件中,方法是將 mode 設定為 1,並將 MTA 中的 spamfilterX_string_action 選項設定為:
spamfilter1_string_action=data:,require "reject"; reject "Message contained a virus [$U]";
與 fileinto 相同,使用 reject 動作處理病毒並不是個好方法,因為它會將病毒傳回給寄件者。
還可以透過在 option.dat 檔案中增加一行來將標記增加至垃圾郵件標頭。範例:
spamfilter1_string_action=data:,addtag “[SPAM detected!]”;
可透過將 mode 設定為 2 以便在需要執行動作的情況下使用,而不考量是否已確定郵件含有病毒。增加可以後測試的標頭欄位明顯適用於模式 2:
spamfilterX_string_action=data:,require ["addheader"];addheader "$U"
SAVSE 選項檔案確實是一個較通用的 ICAP 選項檔案。其名稱和位置由 option.dat 中的 spamfilterX_config_file 設定。它由形式為 option=value 的行組成。必需的一個選項為 HOST。它必須設定為執行 ICAP 篩選伺服器的系統之名稱。必須設定此選項,即使 ICAP 伺服器在本地主機上執行。下面顯示了此選項檔案。
表 14–6 ICAP 選項
選項 |
說明 |
預設 |
---|---|---|
啟用或停用 ICAP 介面模組的除錯輸出。0 或 1。 |
0 |
|
指定 ICAP 結果的前綴。SAVSE 結果字串如下: Virus-Test: False Virus-Test: True; W32.Mydoom.A@mm.enc 此選項提供了變更結果之 Virus-Test: 部分的方法。請注意,如果指定空的 field 值,則會移除「:」。 |
Virus-test |
|
執行 ICAP 篩選伺服器的系統之名稱 |
localhost |
|
控制 ICAP 篩選結果至判定結果資訊的轉譯。亦即它指定郵件處理後所傳回的字串資訊。可以使用四種模式。請參閱ICAP mode 選項,以取得詳細說明。 0 - 如果郵件含有病毒,則傳回判定結果字串 (該字串由 verdict 選項指定)。MTA 選項 spamfilterX_string_action 可用於指定傳回判定結果字串時所採取的作業。如果 verdict 選項為空或未設定,則傳回空判定結果。MTA 選項 spamfilterX_null_action 可用於指定傳回空判定結果以及您想置換預設動作 (即捨棄郵件) 時所執行的作業。 如果該郵件不包含病毒,將傳回預設字串。預設字串不可配置且始終表示不採取任何動作並正常投遞。 1 - 如果發現郵件包含病毒,則傳回 ICAP 結果字串。 如果該郵件不包含病毒,將傳回預設字串。預設字串始終表示不採取任何動作並正常投遞。以下是兩個 ICAP 結果字串範例: VIRUS TEST: FALSEVIRUS-TEST: TRUE; W32.Mydoom.A@mm.enc 2 - 無條件地傳回 ICAP 結果字串;未傳回預設判定結果或空判定結果,並且從未使用 verdict 選項。此設定適用於無論郵件是否確定為含有病毒均需要採取一個動作的情況。增加可以後測試的標頭欄位明顯適用於模式 2: spamfilterX_string_action=data:,require ["addheader"];addheader "$U" 3 - 如果發現郵件包含病毒,則傳回 ICAP 結果字串;否則傳回 verdict 選項所指定的判定結果字串。此設定適用於發現病毒時採取一個動作,沒發現病毒時採取另一個動作的情況。您可以使用相符的選項對 spamfilterX_verdict_n 和 spamfilterX_action_n 來控制對 ICAP 結果字串執行的動作。您可以使用 spamfilterX_string_action 控制對 verdict 字串執行的動作。 |
0 |
|
指定執行 ICAP 伺服器時所在的連接埠號碼。 |
1344 |
|
字串。指定中間 SOCKS 伺服器的名稱。如果已指定此選項,則可透過指定的 SOCKS 伺服器間接地建立 ICAP 連線。 |
"" |
|
整數。指定中間 SOCKS 伺服器執行時所在的埠。 |
1080 |
|
字串。指定透過 SOCKS 伺服器建立連線時所使用的密碼。是否需要使用者名稱密碼視 SOCKS 伺服器的配置而定。 |
"" |
|
字串。指定透過 SOCKS 伺服器建立連線時所使用的使用者名稱。 |
"" |
|
指定用於 MODE 0 和 3 的判定結果字串。 |
"" |
處理郵件後,ICAP 防病毒程式 (如 SASVE) 將決定該郵件是否包含病毒。mode 可讓您指定 ICAP 程式傳回的、表示此判定結果的字串。字串選項為空、預設值、ICAP 結果字串或判定結果字串 (透過 verdict 選項指定)。請注意,預設值不是空、ICAP 結果字串,也不是由 verdict 指定的字串,而是由程式傳回的某些其他的不可配置的字串。下表概述了 mode 作業。
表 14–7 傳回的 ICAP mode 選項的判定結果字串
verdict\設定 |
是否病毒? |
mode=0 |
mode=1 |
mode=2 |
mode=3 |
---|---|---|---|---|---|
verdict="" (未設定) |
是 |
空 |
ICAP 結果 |
ICAP 結果 |
ICAP 結果 |
no |
預設 |
預設 |
ICAP 結果 |
預設 |
|
verdict=string |
是 |
verdict string |
ICAP 結果 |
ICAP 結果 |
ICAP 結果 |
no |
預設 |
預設 |
ICAP 結果 |
verdict string |
第一欄表示 verdict 選項是否已經設定。第二欄表示郵件是否包含病毒。模式欄表示傳回的各種模式字串。例如,如果 verdict 未設定,mode 設定為 0 且郵件不包含病毒,則 ICAP 程式傳回預設值。如果將 verdict 設定為 WARNING VIRUS!,mode 設定為 0,且郵件不包含病毒,則 ICAP 程式傳回字串 WARNING VIRUS!