Sun Java System Messaging Server 6 2005Q4 管理指南

第 19 章 配置安全性和存取控制

Messaging Server 支援一整套靈活的安全性功能,可以避免郵件被截取、防止侵入者冒充您的使用者或管理員,並僅允許特定人員存取您郵件傳送系統的特定部分。

Messaging Server 安全性架構是 Sun Java System 伺服器整體安全性架構的組成部分。它建立在業界標準和公用協定之上,以最大程度地提高互通性和一致性。因此,若要實作 Messaging Server 安全性策略,您不僅需要閱讀本章,還需參閱其他數個文件。尤其是,Sun ONE Server Console 5.2 Server Management Guide 中的資訊是設定 Messaging Server 安全性所必需的。

本章包含以下各節:

關於伺服器安全性

伺服器安全性包含的主題非常廣泛。在大多數企業中,應確保只有經授權的人員才能存取伺服器;密碼或身份不會洩露;通訊時人們不會誤用身份;必要時通訊保密。這些都是對郵件傳送系統的重要需求。

可能有許多方式會對伺服器通訊的安全性造成威脅,因此加強其安全性的方式也有許多種。本章重點介紹設定加密、認證及存取控制。本章論述 Messaging Server 的以下安全性相關主題:

本章並未論及所有與 Messaging Server 相關的安全性問題和存取問題。在他處論述的安全性主題如下:

有大量文件包含各種安全性主題。如需有關此處提及之主題的額外背景資訊以及其他安全性相關資訊,請參見說明文件網站。

關於 HTTP 安全性

Messaging Server 支援使用者 ID/密碼認證、用戶端憑證認證以及 Access Manager。但是,各個協定在處理用戶端和伺服器之間的網路連線方面存在一些差異。

當 POP、IMAP 或 SMTP 用戶端登入 Messaging Server 時,系統會建立連線和階段作業。在階段作業持續期間,連線會一直保持,即從登入一直持續到登出。建立新連線時,用戶端必須向伺服器重新認證。

當 HTTP 用戶端登入 Messaging Server 時,伺服器會為用戶端提供唯一階段作業 ID。用戶端可使用此階段作業 ID 在階段作業期間建立多個連線。HTTP 用戶端無需為每個連線進行重新認證;僅當階段作業中斷並且該用戶端要建立新的階段作業時才需要重新認證。(如果 HTTP 階段作業閒置時間達到指定時間段,伺服器會自動中斷該 HTTP 階段作業,並且用戶端會登出;預設時間段為 2 小時。)

以下技術用於提高 HTTP 階段作業的安全性:

如需有關指定配置參數以提昇連線效能之資訊,請參閱第 5 章, 配置 POP、IMAP 和 HTTP 服務

如需有關 Access Manager 的資訊,請參閱第 6 章, 啟用單次登入 (SSO)

配置認證機制

認證機制是用戶端向伺服器證實其身份的特定方法。Messaging Server 支援由簡單認證和安全層 (SASL) 協定所定義的認證方法,並支援基於憑證的認證。SASL 機制在本節中描述。如需有關基於憑證的認證資訊,請參閱配置加密和基於憑證的認證

Messaging Server 支援以下用於基於密碼的認證的 SASL 認證方法。


備註 –

此功能已停用並會從將來的發行版本中移除。


伺服器使用詢問/回應認證機制向用戶端傳送詢問字串。用戶端使用該詢問與使用者密碼的雜湊進行回應。如果用戶端的回應符合伺服器自己的雜湊,則使用者通過認證。雜湊不可逆,因此使用者的密碼經由網路傳送時不會暴露。


備註 –

POP、IMAP 和 SMTP 服務支援所有的 SASL 機制。HTTP 服務僅支援一般文字密碼機制。


表 19–1 顯示了一些與 SASL 和 SASL 相關的 configutil 參數。如需有關 configutil 參數的最新最完整清單,請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「configutil Parameters」

表 19–1 一些與 SASL 和 SASL 相關的 configutil 參數

參數 

說明 

sasl.default.ldap.has _plain_passwords

布林值,表示儲存一般文字密碼的目錄啟用 APOP、CRAM-MD5 或 DIGEST-MD5。 

預設:False 

sasl.default.transition_criteria

不再受支援或不再使用。請參閱 sasl.default.auto_transition

sasl.default.auto_transition

布林值。設定時,如果使用者提供一般文字密碼,則密碼儲存格式將被轉換成目錄伺服器的預設密碼儲存方法。此參數可用於從一般文字密碼遷移至 APOP、CRAM-MD5 或 DIGEST-MD5。 

預設:False 

service.imap.allowanonymouslogin

此參數可啟用 SASL 匿名機制以供 IMAP 使用。 

預設:False 

service.{imap|pop|http} .plaintextmincipher

如果此參數大於 0,則會停用一般文字密碼,除非已啟動安全層 (SSL 或 TLS)。此參數會強制使用者對他們的用戶端啟用 SSL 或 TLS 以進行登入,從而防止他們的密碼在網路上暴露。MMP 具有一個等效選項「RestrictPlainPasswords」。 

注意:5.2 版次的郵件傳送伺服器會根據 SSL 或 TLS 所協商的密碼算法強度實際檢查該值。為簡化此選項並更好地反映一般情況下的用法,該功能已被取消。 

預設:0 

sasl.default.mech_list

啟用以空格分隔的 SASL 機制清單。如果不是空白,它會覆寫 sasl.default.ldap.has_plain_passwords 選項以及 service.imap.allowanonymouslogin 選項。此選項適用於所有協定 (IMAP、POP 和 SMTP)。

預設:False 

sasl.default.ldap.searchfilter

此參數是預設搜尋篩選器,在 inetDomainSearchFilter 中未為網域指定篩選器時用於查詢使用者。語法與 inetDomainSearchFilter 相同 (請參閱模式指南)。

預設:(&(uid=%U)(objectclass=inetmailuser))

sasl.default.ldap.searchfordomain

依預設,認證系統按照網域查詢規則 (需要參考) 在 LDAP 中查詢網域,然後查詢使用者。然而,如果此選項設定為「0」而非預設值「1」,則不會查詢網域,而是直接在 local.ugldapbasedn 指定的 LDAP 樹狀結構下直接搜尋使用者 (使用 sasl.default.ldap.searchfilter)。提供此參數是為了與原來的單一網域模式相容,但對於新部署不建議使用,因為即使小公司也可能會進行合併或名稱變更,這些都需要支援多個網域。

配置對一般文字密碼的存取權

若要進行運作,CRAM-MD5、DIGEST-MD5 或 APOP SASL 認證方法需要存取使用者的一般文字密碼。您需要執行以下步驟:

  1. 配置 Directory Server 以用明文形式儲存密碼。

  2. 配置 Messaging Server,使其知曉 Directory Server 使用的是明文密碼。

Procedure配置 Directory Server 以儲存明文密碼

若要啟用 CRAM-MD5、DIGEST-MD5 或 APOP 機制,您必須如下所示配置 Directory Server,以用明文形式儲存密碼:

步驟
  1. 在主控台中,開啟您要配置的 Directory Server。

  2. 按一下 [配置] 標籤。

  3. 在左側窗格中開啟 [資料]。

  4. 在右側窗格中按一下 [密碼]。

  5. 從 [密碼加密] 下拉式清單中選擇 [明文]。


    備註 –

    此變更僅影響以後建立的使用者。在此變更後,現有使用者需要轉換或需要重設密碼。


配置 Messaging Server 使用明文密碼

現在您可以配置 Messaging Server,以使其瞭解 Directory Server 可以擷取明文密碼。這樣可使 Messaging Server 安全地公佈 APOP、CRAM-MD5 和 DIGEST-MD5:

configutil -o sasl.default.ldap.has_plain_passwords -v 1

您可以透過將此值設定為 0 來停用這些詢問/回應 SASL 機制。


備註 –

現有使用者在密碼被重設或遷移 (請參閱「轉換使用者」) 之前,不能使用 APOP、CRAM-MD5 或 DIGEST-MD5。

請注意,MMP 具有一個等效選項:CRAM。


轉換使用者

您可以使用 configutil 指定有關轉換使用者的資訊。例如,如果某位使用者的密碼發生變更,或某個用戶端嘗試使用其不具有正確項目的機制進行認證。

configutil -o sasl.default.auto_transition -v value

對於值,您可以指定以下任意一個:

為成功地轉換使用者,您必須在 Directory Server 中設定 ACI,以讓 Messaging Server 擁有對使用者密碼屬性的寫入存取權。若要如此,請執行以下步驟:

Procedure轉換使用者

步驟
  1. 在主控台中,開啟您要配置的 Directory Server。

  2. 按一下 [目錄] 標籤。

  3. 選取使用者/群組樹的基底字尾。

  4. 從 [物件] 功能表中選取 [存取許可權]。

  5. 選取 (連按兩下)「Messaging Server 一般使用者管理員寫入存取權限」的 ACI。

  6. 按一下 [ACI 屬性]。

  7. userpassword 屬性增加至現有屬性清單中。

  8. 按一下 [確定]。

    sasl.default.mech_list 可用於啟用 SASL 機制清單。如果不是空白,它會覆寫 sasl.default.ldap.has_plain_passwords 選項以及 service.imap.allowanonymouslogin 選項。此選項適用於所有協定 (IMAP、POP 和 SMTP)。

使用者密碼登入

要求部分使用者在登入 Messaging Server 以傳送或接收郵件時提交密碼是防止未經授權的存取的第一步。Messaging Server 的 IMAP、POP、HTTP 和 SMTP 服務均支援基於密碼的登入。

IMAP、POP 和 HTTP 密碼登入

依預設,內部使用者必須提交密碼才能從 Messaging Server 中擷取他們的郵件。您可以分別為 POP、IMAP 和 HTTP 服務啟用或停用密碼登入。如需有關 POP IMAP 和 HTTP 服務的密碼登入資訊,請參閱基於密碼的登入

使用者密碼能以明文形式或加密形式從使用者的用戶端軟體傳輸至伺服器。如果用戶端和伺服器均配置為啟用 SSL 並同時支援所需強度的加密 (如啟用 SSL 和選取密碼算法中所述),則會進行加密。

使用者 ID 和密碼儲存於安裝的 LDAP 使用者目錄中。密碼安全性準則 (如最小長度) 由目錄策略需求來確定;它們不是 Messaging Server 管理的組成部分。

基於憑證的登入是基於密碼的登入的替代方法。在本章節中論述此方法以及 SSL 的剩餘部分;請參閱設定基於憑證的登入

詢問/回應 SASL 機制是一般文字密碼登入的另一種替代方法。

SMTP 密碼登入

依預設,使用者無需在連線至 Messaging Server 的 SMTP 服務以傳送郵件時提交密碼。但是,為啟用經認證的 SMTP,您可以對 SMTP 啟用密碼登入。

經認證的 SMTP 是 SMTP 協定的延伸,其允許用戶端向伺服器進行認證。認證附有郵件。經認證的 SMTP 的主要用途是允許外出 (或使用本地 ISP) 的本地使用者無需建立開放式轉送 (可被他人濫用),即可提交郵件 (轉送郵件)。用戶端使用「AUTH」指令向伺服器進行認證。

有關啟用 SMTP 密碼登入 (以及經認證的 SMTP) 的說明,請參閱SMTP 認證、SASL 與 TLS

經認證的 SMTP 可與 SSL 加密配合使用,也可以不與其配合使用。

配置加密和基於憑證的認證

本節包含以下小節:

Messaging Server 使用傳輸層安全性 (TLS) 協定,也稱為安全套接字層 (SSL) 協定,用於加密的通訊和基於憑證的用戶端和伺服器認證。Messaging Server 支援 SSL 版本 3.0 和 3.1。TLS 完全與 SSL 相容並包含所有必要的 SSL 功能。

如需有關 SSL 的背景資訊,請參閱「Introduction to SSL」(現改為「Managing Servers with iPlanet Console」的附錄)。SSL 以公開金鑰密碼學的概念為基礎,如「Introduction to Public-Key Cryptography」(現改為「Managing Servers with iPlanet Console」的附錄) 中所述。

如果 Messaging Server 與其用戶端之間以及該伺服器與其他伺服器之間的郵件傳輸被加密,則在通訊過程中幾乎不可能被竊取。如果連線用戶端經過認證,則侵入者幾乎不可能冒充 (仿冒) 這些用戶端。

SSL 做為 IMAP4、HTTP、POP3 以及 SMTP 應用程式層下的協定層使用。SMTP 和 SMTP/SSL 使用相同的連接埠;HTTP 和 HTTP/SSL 需要不同的連接埠;IMAP 和 IMAP/SSL、POP 和 POP/SSL 可使用相同的連接埠,也可使用不同的連接埠。對於外寄和內送郵件,SSL 均在郵件通訊的特定階段執行,如圖 19–1 中所示。

圖 19–1 與 Messaging Server 進行加密通訊

本圖說明加密的內送和外寄郵件。

SSL 提供路徑點對路徑點加密,但在每台中間伺服器上郵件並不被加密。


備註 –

若要對外寄郵件啟用加密,必須修改通道定義以包含 tls 通道關鍵字,例如 maytlsmusttls 等。如需更多資訊,請參閱傳輸層安全手冊。


請記住設定安全性過高的 SSL 連線會增加伺服器的效能負擔。在設計郵件傳送安裝和分析效能時,您可能需要根據伺服器容量來平衡安全性需要。


備註 –

由於所有 Sun Java System 伺服器均支援 SSL,並且在許多伺服器上用於透過主控台啟用和配置 SSL 的介面幾乎完全相同,因此本小節中說明的數個作業會在「Managing Servers with iPlanet Console」的 SSL 一章中更完整地說明。對於這些作業,本章僅提供摘要資訊。


透過 Administration Console 取得憑證

不論您使用 SSL 進行加密還是進行認證,您的 Messaging Server 都需要獲得伺服器憑證。該憑證可向用戶端和其他伺服器證實您的伺服器身份。如果您希望透過管理主控台獲得憑證,請執行本小節中的步驟。如果您要在指令行模式中建立自我簽名的憑證,請參閱建立自我簽署憑證

管理內部模組和外部模組

伺服器憑證可確立金鑰對用於加密和解密資料的數字的所有權和有效性。伺服器的憑證與鍵對代表該伺服器的身份。它們儲存在憑證資料庫中,該資料庫可以在伺服器內部,也可以在外部,即可抽取式硬體卡 (智慧卡) 上。

Sun Java System 伺服器使用符合公開金鑰加密系統 (PKCS) #11 API 的模組存取金鑰和憑證資料庫。給定硬體裝置的 PKCS #11 模組通常可從其供應商處獲得,並且必須安裝到 Messaging Server 中,然後 Messaging Server 才能使用該裝置。預先安裝的「Netscape 內部 PKCS # 11 模組」支援單一內部軟體記號,該記號使用伺服器的內部憑證資料庫。

為憑證設定伺服器包括為憑證及其金鑰建立資料庫以及安裝 PKCS #11 模組。如果您不使用外部硬體記號,可以在您的伺服器上建立內部資料庫,並使用內部預設模組 (該模組是 Messaging Server 的組成部分)。如果要使用外部記號,可以連線硬體智慧卡閱讀機並安裝其 PKCS #11 模組。

不論是內部還是外部 PKCS #11 模組,均可透過主控台進行管理。若要安裝 PKCS #11 模組,請:

  1. 將硬體卡閱讀機連線至 Messaging Server 主機機器並安裝驅動程式。

  2. 使用主控台中的 PKCS #11 管理介面為已安裝的驅動程式安裝 PKCS #11 模組。

(如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關 SSL 的章節。)

安裝硬體加密加速器。如果您使用 SSL 進行加密,則可以透過安裝硬體加密加速器來提昇伺服器加密和解密郵件的效能。加密加速器通常由永久安裝在您伺服器機器上的硬體板以及軟體驅動程式構成。Messaging Server 支援遵循 PKCS #11 API 的加速器模組。(它們實質上是不儲存自身金鑰的硬體記號;它們使用內部資料庫儲存金鑰。)安裝加速器時,首先要按照製造商的指定安裝硬體和驅動程式,然後透過安裝 PKCS #11 模組完成安裝,過程與安裝硬體憑證記號類似。

Procedure請求伺服器憑證

您可以透過在主控台中開啟伺服器,然後執行憑證安裝精靈來請求伺服器憑證。可以從 [主控台] 功能表或 Messaging Server [加密] 標籤存取該精靈。使用精靈執行以下作業:

步驟
  1. 產生憑證請求。

  2. 透過電子郵件將請求傳送給發放憑證的憑證授權機構 (CA)。

    收到 CA 的電子郵件回應後,將其儲存為文字檔案並使用憑證安裝精靈進行安裝。

    (如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關 SSL 的章節。)

Procedure安裝憑證

安裝與請求是不同的程序。收到 CA 對您憑證請求的電子郵件回應並將其儲存為文字檔案後,請再次執行憑證安裝精靈以將該檔案作為憑證進行安裝:

步驟
  1. 指定您要安裝已獲得的憑證。

  2. 當系統提示您將憑證文字貼入某欄位時,依此執行。

  3. 將憑證暱稱從 server-cert 變更為 Server-Cert

    如果您不想變更此憑證暱稱,則可以透過將 configutil 參數設定為 encryption.rsa.nssslpersonalityssl 來變更系統所需的憑證暱稱。

    (如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關 SSL 的章節。)


    備註 –

    此程序也是安裝 CA 憑證 (如下文所述) 時應執行的程序,您的伺服器會使用 CA 憑證來確定是否信任用戶端提供的憑證。


安裝信任的 CA 之憑證

您還可以使用憑證安裝精靈來安裝憑證授權機構的憑證。CA 憑證可驗證 CA 本身的身份。您的伺服器會在認證用戶端和其他伺服器的程序中使用這些 CA 憑證。

例如,如果您將企業設定為除了進行基於密碼的認證之外還要進行基於憑證的用戶端認證 (請參閱第157 頁的「設定基於憑證的登入」),則需要安裝所有發放用戶端可能提供之憑證的可信任 CA 的 CA 憑證。這些 CA 可以是您組織內部的,也可以是外部的,代表商業授權機構、政府授權機構或其他企業。(如需有關使用 CA 憑證進行認證的更多詳細資訊,請參閱「Managing Servers with iPlanet Console」中的「Introduction to Public-Key Cryptography」。)

Messaging Server 在安裝後,最初只包含數個商業 CA 的 CA 憑證。如果您需要增加其他商業 CA 或您的企業要開發自己的 CA 以供內部使用 (使用 Sun Java System Certificate Server),則需要取得並安裝其他 CA 憑證。


備註 –

Messaging Server 自動提供的 CA 憑證最初並未標記為信任其用戶端憑證。如果您要信任由這些 CA 發放的用戶端憑證,則需要編輯信任設定。如需說明,請參閱第 153 頁的「管理憑證和信任的 CA」。


若要請求並安裝新的 CA 憑證,請:

Procedure請求並安裝新的 CA 憑證

步驟
  1. 聯絡憑證授權機構 (可以透過 Web 或電子郵件) 並下載其 CA 憑證。

  2. 將收到的憑證文字儲存為文字檔案。

  3. 如上一節所述,使用憑證安裝精靈安裝憑證。

    如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關 SSL 的章節。

管理憑證和信任的 CA

您的伺服器可以具有任意數量的信任 CA 憑證以用於認證用戶端。

透過在主控台中開啟您的伺服器,然後在 [主控台] 功能表中選擇 [憑證管理指令],您可以檢視 Messaging Server 中已安裝的憑證、編輯其信任設定,或刪除任何憑證。如需說明,請參閱「Managing Servers with iPlanet Console」中有關 SSL 的章節。

建立密碼檔案

在任一 Sun Java System 伺服器上,當您使用憑證安裝精靈請求憑證時,該精靈會建立一個鍵對,該鍵對將儲存在內部模組的資料庫或外部資料庫 (智慧卡) 中。然後,精靈會提示您輸入密碼,它會使用該密碼來加密私密金鑰。以後只有使用同一密碼才能解密該金鑰。精靈不會保留密碼,也不會將其儲存在任何位置。

在已啟用 SSL 的大多數 Sun Java System 伺服器上,啟動時系統會提示管理員提供解密鍵對所需密碼。但在 Messaging Server 上,為緩解必須多次輸入密碼 (至少有三個伺服器程序需要輸入密碼) 所造成的不便,同時為便於伺服器自動重新啟動,系統會從密碼檔案中讀取密碼。

密碼檔案名為 sslpassword.conf 且位於目錄 msg_svr_base/config/ 中。檔案中的項目都各成一行,格式為

moduleName:password

其中 moduleName 是要使用的 (內部或外部) PKCS #11 模組的名稱,password 是解密該模組之鍵對的密碼。密碼以明文 (未加密) 形式儲存。

Messaging Server 提供預設版本的密碼檔案,其中包含以下單一項目 (用於內部模組和預設密碼):

Internal (Software) Token:netscape!

在安裝內部憑證時,如果指定了預設密碼以外的其他密碼,則需要編輯密碼檔案中的以上一行以反映您所指定的密碼。如果要安裝外部模組,則需要在該檔案中新增一行,其中要包含模組名稱以及您為其指定的密碼。


注意 – 注意 –

由於在伺服器啟動時,系統不會提示管理員輸入模組密碼,因此請務必確保對伺服器的正確的管理員存取控制和伺服器主機機器及其備份的適當的實體安全性,這一點極為重要。


建立自我簽署憑證

如果您希望在指令行模式中建立自我簽署憑證,請遵循本小節中的說明。若要使用憑證精靈建立憑證,請參閱透過 Administration Console 取得憑證

Procedure建立自我簽署憑證

步驟
  1. 以超級使用者的身份登入或成為超級使用者 (root)。

  2. /opt/SUNWmsgsr/config/sslpassword 中指定 certutil 的憑證資料庫密碼。例如:


    # echo "password" > /opt/SUNWmsgsr/config/sslpassword

    其中 password 是您特定的密碼。

  3. 移至 sbin 目錄,並產生憑證資料庫 (cert8.db) 和金鑰資料庫 (key3.db)。例如:


    # cd /opt/SUNWmsgsr/sbin
    # ./certutil -N -d /opt/SUNWmsgsr/config -f /opt/SUNWmsgsr/config/sslpassword
  4. 產生預設的自我簽署根憑證授權單位憑證。範例:


    # ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu"
    -s "CN=My Sample Root CA, O=sesta.com" -m 25000
    -o /opt/SUNWmsgsr/config/SampleRootCA.crt
    -d /opt/SUNWmsgsr/config
    -f /opt/SUNWmsgsr/config/sslpassword   -z /etc/passwd
  5. 產生主機的憑證。例如:


    ../certutil -S -n Server-Cert -c SampleRootCA -t "u,u,u"
    -s "CN=hostname.sesta.com, o=sesta.com" -m 25001
    -o /opt/SUNWmsgsr/config/SampleSSLServer.crt
    -d /opt/SUNWmsgsr/config -f /opt/SUNWmsgsr/config/sslpassword
    -z /etc/passwd

    其中 hostname.sesta.com 是伺服器主機名稱。

  6. 驗證這些憑證。例如:


    # ./certutil -V -u V -n  SampleRootCA -d /opt/SUNWmsgsr/config
    # ./certutil -V -u V -n  Server-Cert -d /opt/SUNWmsgsr/config
  7. 列示這些憑證。例如:


    # ./certutil -L -d /opt/SUNWmsgsr/config
    # ./certutil -L -n Server-Cert -d /opt/SUNWmsgsr/config
  8. 使用 modutil 來列出可用的安全性模組 (secmod.db)。例如:


    # ./modutil -list -dbdir /opt/SUNWmsgsr/config
  9. 如範例所示,將憑證資料庫檔案的所有者變更為郵件伺服器使用者和群組。


    chown mailsrv:mail /opt/SUNWmsgsr/config/cert8.db
    chown mailsrv:mail /opt/SUNWmsgsr/config/key3.db
    
  10. 重新啟動郵件傳送服務以啟用 SSL。


    備註 –

    之前,憑證和金鑰檔案總是位於 Messaging Server 配置目錄中。現在,可以使用 local.ssldbpath (指定憑證和金鑰檔案位置) 和 local.ssldbprefix (指定憑證和金鑰檔案字首) 來指定這些檔案的位置)


啟用 SSL 和選取密碼算法

您可以使用主控台啟用 SSL 並選取一組加密密碼算法,Messaging Server 可在其與用戶端的加密通訊中使用該組密碼算法。

關於密碼算法

密碼算法是在加密程序中用於加密和解密資料的演算法。某些密碼算法比其他密碼算法強,這表示未經授權者更難解密由這些密碼算法加密的郵件。

密碼透過將金鑰 (一長串數字) 套用於資料來對其進行加密。通常,加密期間密碼算法使用的金鑰越長,在沒有正確的解密金鑰的情況下解密資料就越困難。

當某個用戶端啟動與 Messaging Server 之間的 SSL 連線時,會告知伺服器其用於加密的密碼算法和金鑰長度。在任何加密通訊中,雙方必須使用相同的密碼算法。由於有大量的常用密碼算法和金鑰組合,因此伺服器在支援加密方面應非常靈活。Messaging Server 可支援多達 6 種密碼算法和金鑰長度組合。

表 19–2 列出 Messaging Server 支援以與 SSL 3.0 配合使用的密碼。該表格概括的資訊在「Managing Servers with iPlanet Console」的「Introduction to SSL」小節中有更詳細說明。

表 19–2 Messaging Server 的 SSL 密碼算法

密碼算法 

說明 

具有 128 位元加密和 MD5 郵件認證的 RC4 

最快的加密密碼算法 (由 RSA 開發),是密碼算法與加密鍵極高強度的組合。 

具有 168 位元加密和 SHA 郵件認證的三重 DES 

較慢的加密密碼算法 (美國政府標準),但卻是密碼算法與加密鍵最高強度的組合。 

具有 56 位元加密和 SHA 郵件認證的 DES 

較慢的加密密碼算法 (美國政府標準),是密碼算法與加密鍵中等強度的組合。 

具有 40 位元加密和 MD5 郵件認證的 RC4 

最快的加密密碼算法 (由 RSA 開發),是密碼算法與加密鍵較低強度的組合。 

具有 40 位元加密和 MD5 郵件認證的 RC2 

較慢的加密密碼算法 (由 RSA 開發),是密碼算法與加密鍵較低強度的組合。 

不加密,只有 MD5 郵件認證 

不加密,僅使用郵件摘要進行認證。 

除非您有充分的理由不使用特定密碼算法,否則應支援以上所有密碼算法。但請注意,某些國家/地區的出口法規限制使用某些加密密碼算法。此外,有些用戶端軟體是在美國出口控制法放寬之前生產的,這些軟體不能使用較高強度的加密。請注意,雖然 40 位元密碼算法可以防範隨意的竊取者,但它們並不安全,不能阻止有目的的侵入。

若要啟用 SSL 並選取加密密碼算法,請執行以下指令行步驟:

啟用或停用 SSL:

configutil -o nsserversecurity -v [ on | off ]

啟用或停用 RSA 密碼算法:

configutil -o encryption.rsa.nssslactivation -v [ on | off ]

指定記號:

configutil -o encryption.rsa.nsssltoken -v tokenname

指定憑證:

configutil -o encryption.rsa.nssslpersonalityssl -v certname

請注意,如果您啟用 RSA 密碼算法,還必須指定記號和憑證。

選擇密碼算法喜好設定:

configutil -o encryption.nsssl3ciphers -v cipherlist

其中,cipherlist 是以逗號分隔的密碼清單。


備註 –

若要啟用外寄郵件的 SSL 加密,您必須修改通道定義以包含 tls 通道關鍵字 (例如 maytlsmusttls 等)。如需更多資訊,請參閱傳輸層安全手冊。


設定基於憑證的登入

除了基於密碼的認證之外,Sun Java System 伺服器還支援透過檢查使用者的數位憑證對使用者進行認證。在基於憑證的認證中,用戶端會與伺服器建立 SSL 階段作業,然後向伺服器提交使用者的憑證。伺服器會評估提交的憑證是否真實。如果憑證被證實,則認為使用者通過認證。

若要設定您的 Messaging Server 以進行基於憑證的登入,請:

Procedure設定基於憑證的登入

步驟
  1. 為您的伺服器獲得伺服器憑證。(如需詳細資訊,請參閱透過 Administration Console 取得憑證)

  2. 執行憑證安裝精靈以安裝所有信任的憑證授權機構 (將對您伺服器要認證的使用者發放憑證的機構) 的憑證。(如需詳細資訊,請參閱安裝信任的 CA 之憑證)

    請注意,只要伺服器的資料庫中至少有一個可信任的 CA,伺服器便會請求每個連線用戶端提供用戶端憑證。

  3. 開啟 SSL。(如需詳細資訊,請參閱啟用 SSL 和選取密碼算法)

  4. (可選擇) 編輯伺服器的 certmap.conf 檔案,以便伺服器可根據提交的憑證中的資訊相應地搜尋 LDAP 使用者目錄。

    如果使用者憑證中的電子郵件位址與使用者目錄項目中的電子郵件位址相符,則無需編輯 certmap.conf 檔案,並且無需根據使用者項目中的憑證最佳化搜尋或驗證提交的憑證。

    如需 certmap.conf 之格式和您可做之變更的詳細資訊,請參閱「Managing Servers with iPlanet Console」中的 SSL 一章。

    執行這些步驟後,當用戶端建立 SSL 階段作業以便使用者可以登入 IMAP 或 HTTP 時,Messaging Server 便會請求用戶端提供使用者的憑證。如果用戶端提交的憑證是由已被伺服器確立為信任的 CA 所發放的,並且憑證中的身份符合使用者目錄中的項目,則使用者通過認證並被授予存取權 (取決於控制該使用者的存取控制規則)。

    啟用基於憑證的登入時,無需禁止基於密碼的登入。如果允許基於密碼的登入 (此為預設狀態),並且您已執行本節所述的作業,則系統同時支援基於密碼的登入和基於憑證的登入。在這種情況下,如果用戶端建立 SSL 階段作業並提供憑證,則使用基於憑證的登入。如果用戶端不使用 SSL 或不提供憑證,則伺服器會請求提供密碼。

如何使用 SMTP 代理最佳化 SSL 效能

大多數網站不應使用 SMTP 代理,因為它會增加 SMTP 協定的額外延遲時間。但是,廣泛使用 SSL 來保護 SMTP 連線的大型網站可能希望使他們在 SSL 加速器硬體方面的投資收益最大化,方法是在專用於 SSL 和代理的伺服器上對所有協定執行所有 SSL 作業。SMTP 代理允許透過前端代理伺服器處理 SSL,而在單獨的 MTA 機器上處理郵件佇列。這樣,為每項作業最佳化的硬體便可分別配置和購買。

請參閱啟用 POP Before SMTP,以取得有關如何安裝 SMTP 代理伺服器的說明。

網路安全性服務工具

網路安全性服務是一組用於根據開放式標準實作和部署網際網路安全性應用程式的開放原始碼程式庫和工具。安全性工具可協助您執行診斷,管理憑證、金鑰和加密模組,並除錯基於 SSL 和 TLS 的應用程式。這些工具位於 /usr/sfw/bin

管理憑證和金鑰

本小節描述的工具可以儲存、擷取和保護加密和識別所依賴的金鑰和憑證。

certutil

憑證資料庫工具 certutil 是可以建立和修改 cert8.dbkey3.db 資料庫檔案的指令行公用程式。金鑰和憑證管理程序一般從在金鑰資料庫中建立金鑰開始,然後在憑證資料庫中產生和管理憑證。有關 certutil 的更多資訊位於:

http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

cmsutil

cmsutil 指令行公用程式使用 S/MIME 工具箱對加密郵件語法 (CMS) 郵件執行基本作業 (例如加密和解密)。它可以執行基本憑證管理作業,例如加密、解密和簽署郵件。有關 cmsutil 的更多資訊位於:

http://www.mozilla.org/projects/security/pki/nss/tools/cmsutil.html

modutil

安全性模組資料庫工具 modutil 是用於管理 PKCS #11 模組之資料庫 (secmod.db 檔案) 的指令行公用程式。您可以使用此工具增加和刪除 PKCS #11 模組、變更密碼、設定預設、列示模組內容、啟用或停用槽、啟用或停用 FIPS-140-1 相符性以及為加密作業指定預設供應商。有關 modutil 的更多資訊位於:

http://www.mozilla.org/projects/security/pki/nss/tools/modutil.html

pk12util

pk12util 指令行公用程式可同時將 PKCS #12 標準定義的金鑰和憑證匯入至各自的資料庫和檔案格式,也可以從其中同時匯出。有關 pk12util 的更多資訊位於:

http://www.mozilla.org/projects/security/pki/nss/tools/pk12util.html

ssltap

SSL 除錯工具 ssltap 是具有 SSL 檢測功能的指令行代理。它可以代理 SSL 伺服器的請求,並顯示在用戶端和伺服器之間交換的郵件之內容。它可以監視 TCP 連線並顯示通過的資料。如果連線為 SSL,則顯示的資料包含解譯的 SSL 記錄和交換。更多資訊位於:

http://www.mozilla.org/projects/security/pki/nss/tools/ssltap.html

配置對 Messaging Server 的管理員存取權

本小節大部分內容關於 Sun Java System LDAP Schema v. 1。本小節包含以下子小節︰

本節描述如何控制伺服器管理員獲得 Messaging Server 存取權的方法。對給定 Messaging Server 作業和特定 Messaging Server 作業的管理存取在委託伺服器管理環境下執行。

委託伺服器管理是大多數 Sun Java System 伺服器均具有的功能;它是指某位管理員為其他管理員提供對個別伺服器和伺服器功能的選擇性存取權限這樣一種功能。本章簡要概括委託伺服器作業。如需更多詳細資訊,請參閱「Managing Servers with iPlanet Console」中有關委託伺服器管理的章節。

委託管理的階層

當您在網路上安裝第一台 Sun Java System 伺服器時,安裝程式會在 LDAP 使用者目錄中自動建立一個名為配置管理員群組的群組。依預設,配置管理員群組中的成員都具有對您網路上所有主機和伺服器的無限存取權。

配置管理員群組位於存取階層 (如果使用 Sun Java System LDAP Schema v. 1,您可以建立該階層,以對 Messaging Server 實作委託管理) 的頂層,如下所示︰

  1. 配置管理員。Sun Java System 伺服器之網路的「超級使用者」。具有對所有資源的完整存取權。

  2. 伺服器管理員。網域管理員可以建立群組以管理每種類型的伺服器。例如,可以建立郵件傳送管理員群組以管理整個網路或管理網域中的所有 Messaging Server。該群組中的成員都具有對該管理網域中所有 Messaging Server (但不包括其他伺服器) 的存取權。

  3. 作業管理員。最後,上述任何一種管理員均可建立群組或指定個別使用者,使他們具有對單一 Messaging Server 或一組 Messaging Server 的有限存取權。僅允許此類作業管理員執行特定的有限伺服器作業 (如僅允許啟動或停止伺服器,或存取給定服務的記錄)。

管理員可透過主控台提供的方便的介面執行以下作業:

Procedure提供對整台伺服器的存取權

本小節說明為使用者或群組提供存取給定 Messaging Server 實例的權限。

步驟
  1. 以對您要提供存取權的具有 Messaging Server 存取權的管理員身份登入主控台。

  2. 在 [主控台] 視窗中選取該伺服器。

    從 [主控台] 功能表中,選擇 [物件],然後選擇 [設定存取權限]。

  3. 新增或編輯對該伺服器具有存取權的使用者和群組清單。

    (如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關委託伺服器管理的章節。)

    設定對特定 Messaging Server 具有存取權的個人或群組清單後,您便可以使用 ACI (如下文所述) 對該清單中的特定人員或群組委託特定的伺服器作業。

限制對特定作業的存取權

管理員通常連線至伺服器以執行一項或多項管理作業。常見管理作業列在主控台的 Messaging Server [作業] 表單中。

依預設,對特定 Messaging Server 的存取權意味著對其所有作業的存取權。但是,[作業] 表單中的每項作業均可以具有一組附加的存取控制指令 (ACI)。伺服器在允許連線使用者 (必須是對整台伺服器具有存取許可權的使用者) 存取任何作業之前,會查詢這些 ACI。事實上,在 [作業] 表單中,伺服器僅顯示使用者具有許可權的作業。

如果您具有對某台 Messaging Server 的存取權,便可針對任何作業 (即針對您具有存取權的任何作業) 建立或編輯 ACI,從而限制其他使用者或群組對它們的存取權。

Procedure限制使用者或群組的作業存取

步驟
  1. 以對您要提供有限存取權的具有 Messaging Server 存取權的管理員身份登入主控台。

  2. 開啟伺服器並在伺服器的 [作業] 表單中按一下 [作業] 文字來選取相應作業。

  3. 從 [編輯] 功能表中,選擇 [設定存取權限],然後新增或編輯存取規則清單以授予使用者或群組您所希望的存取權類型。

  4. 對其他作業適當地重複此程序。

    (如需更完整的說明,請參閱「Managing Servers with iPlanet Console」中有關委託伺服器管理的章節。)

    如需有關 ACI 以及如何建立它們的更完整資訊,請參閱「Managing Servers with iPlanet Console」中有關委託伺服器管理的章節。

配置對 POP、IMAP 和 HTTP 服務的用戶端存取

本節包含以下小節:

Messaging Server 支援逐個服務地針對其 IMAP、POP 和 HTTP 服務進行複雜存取控制,使您可以對哪些用戶端可以存取您的伺服器進行廣泛且精細的控制。

如果您要為大型企業或網際網路服務供應者管理郵件傳送服務,這些功能可協助您將垃圾電子郵件發送者和 DNS 仿冒者排除在系統之外,從而提高網路的一般安全性。如需有關具體控制垃圾郵件的資訊,請參閱第 17 章, 郵件篩選和存取控制


備註 –

如果透過 IP 位址控制存取對您的企業而言並不重要,則無需建立本節所述的任何篩選器。如果您需要的只是最小的存取控制,請參閱允許大多數,以取得有關設定說明。


用戶端存取篩選器如何運作

Messaging Server 存取控制工具是一個程式,它偵聽時所在的連接埠與其所服務的 TCP 常駐程式的連接埠相同;它使用存取篩選器來驗證用戶端身份,並在用戶端通過篩選程序的情況下授予用戶端對該常駐程式的存取權。

作為其處理過程的組成部分,Messaging Server TCP 用戶端存取控制系統執行 (必要時) 以下通訊端端點位址分析:

系統會將此資訊與稱為篩選器的存取控制敘述進行比較,以決定是授予存取還是拒絕存取。對於每項服務,都各有一組允許篩選器和拒絕篩選器來控制存取。允許篩選器明確授予存取權;拒絕篩選器明確禁止存取。

當用戶端請求存取某服務時,存取控制系統會將該用戶端的位址或名稱資訊與該服務的每個篩選器依次比較,其會使用以下準則︰

此處描述的篩選器語法非常靈活,足以讓您以簡單易懂的方式實作許多不同類型的存取控制策略。雖然幾乎單獨使用允許篩選器或拒絕篩選器就能實作大多數策略,但您可以使用允許篩選器和拒絕篩選器的任意組合。

以下幾節對篩選器語法進行了詳細描述並提供了使用範例。為服務建立存取篩選器小節提供建立存取篩選器的程序。

篩選器語法

篩選器敘述包含服務資訊和用戶端資訊。服務資訊可包括服務名稱、主機名稱和主機位址。用戶端資訊可包括主機名稱、主機位址和使用者名稱。伺服器和用戶端資訊均可包括萬用字元名稱或式樣。

最簡單的篩選器形式為:

service: hostSpec

其中,service 是服務的名稱 (例如 smtppopimaphttp),而 hostSpec 是主機名稱、IP 位址或萬用字元名稱或表示用戶端請求存取的式樣。處理篩選器時,如果搜尋存取的用戶端符合 client,則允許或拒絕 (取決於此篩選器的類型) 存取 service 指定的服務。以下是一些範例:

imap: roberts.newyork.siroe.com
pop: ALL
http: ALL

如果這些是允許篩選器,則第一個篩選器將授予主機 roberts.newyork.siroe.com 對 IMAP 服務的存取,第二個篩選器和第三個篩選器將分別授予所有用戶端對 POP 和 HTTP 服務的存取。如果它們是拒絕篩選器,則將拒絕那些用戶端存取這些服務。(如需有關如 ALL 之類萬用字元名稱的說明,請參閱萬用字元名稱。)

篩選器中的伺服器或用戶端資訊可能比這裡要複雜一些,在那種情況下較一般的篩選器形式為:

serviceSpec: clientSpec

其中,serviceSpec 可以是 serviceservice@hostSpec,而 clientSpec 可以是 hostSpecuser@hostSpecuser 是與搜尋存取的用戶端主機關聯的使用者名稱 (或萬用字元名稱)。以下是兩個範例:

pop@mailServer1.siroe.com: ALL
imap: srashad@xyz.europe.siroe.com

如果這些是拒絕篩選器,則第一個篩選器將拒絕所有用戶端存取主機 mailServer1.siroe.com 上的 SMTP 服務。第二個篩選器將拒絕主機 xyz.europe.siroe.com 上的使用者 srashad 存取 IMAP 服務。(如需有關何時使用這些延伸的伺服器和用戶端規格的更多資訊,請參閱伺服器主機規格用戶端使用者名稱規格)

最後,最一般的篩選器形式如下:

serviceList: clientList

其中,serviceList 由一個或多個 serviceSpec 項目組成,而 clientList 由一個或多個 clientSpec 項目組成。serviceListclientList 中的單個項目由空格和/或逗號分隔。

在這種情況下,處理篩選器時,如果搜尋存取的用戶端符合 clientList 中任一 clientSpec 項目,則允許或拒絕 (取決於此篩選器的類型) 存取 serviceList 中指定的所有服務。以下是一個範例:

pop, imap, http: .europe.siroe.com .newyork.siroe.com

如果這是允許篩選器,它將授予網域 europe.siroe.comnewyork.siroe.com 中的所有用戶端對 POP、IMAP 和 HTTP 服務的存取。如需有關使用前導小數點號或其他式樣指定網域或子網路的資訊,請參閱萬用字元式樣

您還可以使用以下語法:

「+」或「-」serviceList: *$next_rule

+ (允許篩選器) 表示要將常駐程式清單服務授予用戶端清單。

- (拒絕篩選器) 表示要拒絕用戶端清單存取這些服務。

* (萬用字元篩選器) 允許所有用戶端使用這些服務。

$ 分隔這些規則。

以下範例可在所有用戶端上啟用多種服務。

+imap,pop,http:*

以下範例顯示多個規則,但每個規則被簡化為只具有一個服務名稱並且用戶端清單使用萬用字元。(這是在 LDIF 檔案中指定存取控制時最常用的方法。)

+imap:ALL$+pop:ALL$+http:ALL

如何對某使用者禁止所有服務的範例如下:

-imap:*$-pop:*$-http:*

萬用字元名稱

您可以使用以下萬用字元名稱來表示服務名稱、主機名稱或位址或使用者名稱:

表 19–3 服務篩選器的萬用字元名稱

萬用字元名稱 

詳細說明 

ALL、*

通用萬用字元。符合所有名稱。 

LOCAL

符合任何本地主機 (名稱中不包含點字元的主機)。但是,如果您的安裝僅使用標準名稱,則即使本地主機名稱中也會包含點,因此不符合此萬用字元。 

UNKNOWN

符合名稱未知的所有使用者,或是名稱或位址未知的所有主機。 

請謹慎使用此萬用字元名稱: 

主機名稱可能會由於暫時的 DNS 伺服器問題而不可用,在這種情況下,使用 UNKNOWN 的所有篩選器會比對所有用戶端主機。

當軟體無法識別與其通訊的網路類型時,網路位址不可用,在這種情況下,使用 UNKNOWN 的所有篩選器會比對該網路上的所有用戶端主機。

KNOWN

比對名稱已知的所有使用者,或是名稱位址已知的所有主機。

請謹慎使用此萬用字元名稱: 

主機名稱可能會由於暫時的 DNS 伺服器問題而不可用,在這種情況下,使用 KNOWN 的所有篩選器與所有用戶端主機均不相符。

當軟體無法識別與其通訊的網路類型時,網路位址不可用,在這種情況下,使用 KNOWN 的所有篩選器與該網路上的所有用戶端主機均不相符。

DNSSPOOFER

符合 DNS 名稱與 IP 位址不相符的所有主機。 

萬用字元式樣

您可以在服務或用戶端位址中使用以下式樣:

EXCEPT 運算子

存取控制系統支援單一運算子。當 serviceListclientList 中具有多個項目時,您可以使用 EXCEPT 運算子建立比對名稱或式樣的異常。例如,表示式:

list1 EXCEPT list2

表示比對與 list1 相符的所有項目,除非它還與 list2 相符。

以下是一個範例:

ALL: ALL EXCEPT isserver.siroe.com

如果這是拒絕篩選器,它會拒絕所有主機電腦上的所有用戶端存取所有服務,但主機電腦 isserver.siroe.com 上的用戶端除外。

EXCEPT 陳述式可以嵌套。表示式:

list1 EXCEPT list2 EXCEPT list3

相當於:

list1 EXCEPT (list2 EXCEPT list3)

伺服器主機規格

您可以透過在 serviceSpec 項目中包含伺服器主機名稱或位址資訊,來進一步識別篩選器中被請求的特定服務。在這種情況下,項目形式為:

service@hostSpec

當您的 Messaging Server 主機機器針對多個網際網路位址以不同的網際網路主機名稱進行設定時,您可能要使用此功能。如果您是服務供應者,則可使用此功能在單一伺服器實例上以不同的存取控制規則託管多個網域。

用戶端使用者名稱規格

對於支援 RFC 1413 中所述之 identd 服務的用戶端主機電腦而言,您可以透過在篩選器的 clientSpec 項目中包含用戶端的使用者名稱來進一步識別請求服務的特定用戶端。在這種情況下,項目形式為:

user@hostSpec

其中,user 是由用戶端的 identd 服務 (或萬用字元名稱) 傳回的使用者名稱。

在篩選器中指定用戶端使用者名稱非常有用,但請記住以下警告:

使用者名稱查詢功能在某些情況下可協助您防範來自用戶端主機上未經授權的使用者的侵入。例如,在某些 TCP/IP 實作中,侵入者可能會使用 rsh (遠端 shell 服務) 冒充信任的用戶端主機。如果用戶端主機支援 ident 服務,您可以使用使用者名稱查詢來偵測此類侵入。

篩選器範例

本節中的範例顯示控制存取的多種方法。在研究這些範例時,請記住允許篩選器在拒絕篩選器之前處理,找到符合項目時搜尋終止,如果根本找不到符合項目則授予存取權。

此處列出的範例使用主機和網域名稱,而不是 IP 位址。請記住,您可以在篩選器中納入位址和網路遮罩資訊,這可以在名稱服務失敗的情況下提高可靠性。

拒絕大多數

在這種情況下,依預設拒絕存取。只有明確授權的主機才被允許存取。

預設策略 (無存取權) 透過單一、普通的拒絕檔案實作:

ALL: ALL

此篩選器拒絕所有未被允許篩選器明確授予存取權的用戶端存取所有服務。而允許篩選器可能類似於:

ALL: LOCAL @netgroup1

ALL: .siroe.com EXCEPT externalserver.siroe.com

第一個規則允許本機網域中的所有主機 (即,主機名稱中不帶小數點號的所有主機) 和群組 netgroup1 的成員進行存取。第二個規則使用前導小數點號萬用字元式樣來允許 siroe.com 網域中的所有主機進行存取,但主機 externalserver.siroe.com 除外。

允許大多數

在這種情況下,依預設授予存取權。只有明確指定的主機才被拒絕存取。

在此預設策略 (授予存取權) 中,不需要使用允許篩選器。不想要的用戶端在拒絕篩選器中明確列出,如下所示:

ALL: externalserver.siroe1.com, .siroe.asia.com
ALL EXCEPT pop: contractor.siroe1.com, .siroe.com

第一個篩選器拒絕特定主機和特定網域存取所有服務。第二個篩選器僅允許特定主機和特定網域存取 POP。

拒絕存取仿冒的網域

您可以在篩選器中使用 DNSSPOOFER 萬用字元名稱來偵測主機名稱仿冒。當您指定 DNSSPOOFER 時,存取控制系統會執行正向或反向 DNS 查詢,以驗證該用戶端提供的主機名稱是否符合其實際 IP 位址。以下是拒絕篩選器的一個範例:

ALL: DNSSPOOFER

此篩選器拒絕所有 IP 位址與 DNS 主機名稱不相符的遠端主機存取所有服務。

控制存取虛擬網域

如果您的郵件傳送安裝使用虛擬網域,其中單一伺服器實例與多個 IP 位址和網域名稱相關聯,您可以透過允許篩選器和拒絕篩選器的組合來控制存取每個虛擬網域。例如,您可以使用如下所示的允許篩選器:

ALL@msgServer.siroe1.com: @.siroe1.com
ALL@msgServer.siroe2.com: @.siroe2.com
...

與如下所示的拒絕篩選器進行組合:

ALL: ALL

每個允許篩選器僅允許 domain N 中的主機連線至 IP 位址回應 msgServer.siroeN.com 的服務。所有其他連線均被拒絕。

為服務建立存取篩選器

您可以為 IMAP、POP 或 HTTP 服務建立允許篩選器和拒絕篩選器。還可以為 SMTP 服務建立這些篩選器,但是由於它們僅適用於經認證的 SMTP 階段作業,因此價值不大。請參閱第 17 章, 郵件篩選和存取控制

Procedure建立篩選器

步驟
  1. 在主控台中開啟您要建立存取篩選器的 Messaging Server。

  2. 按一下 [配置] 標籤。

  3. 在左側窗格中開啟 [服務] 資料夾,然後選取 [服務] 資料夾下的 [IMAP]、[POP] 或 [HTTP]。

  4. 在右側窗格中按一下 [存取] 標籤。

    此標籤中的允許和拒絕欄位會顯示該服務的現有允許篩選器和拒絕篩選器。欄位中的每一行表示一個篩選器。您可以對任一欄位指定以下動作:

    1. 按一下 [新增] 以建立新篩選器。[「允許」篩選] 視窗或 [「拒絕」篩選] 視窗開啟;在視窗中輸入新篩選器的文字,然後按一下 [確定]。

    2. 選取篩選器,然後按一下 [編輯] 以修改該篩選器。[「允許」篩選] 視窗或 [「拒絕」篩選] 視窗開啟;在視窗中編輯顯示的篩選器之文字,然後按一下 [確定]。

    3. 選取某個篩選器,然後按一下 [刪除] 以移除該篩選器。

      請注意,如果需要重新排列允許篩選器或拒絕篩選器的次序,可以透過執行一系列 [刪除] 或 [新增] 動作達到目的。

      如需篩選器語法規格和各種範例,請參閱篩選器語法篩選器範例

      指令行

      您也可以在指令行中指定存取篩選器和拒絕篩選器,如下所示:

      為服務建立或編輯存取篩選器:


      configutil -o service.service.domainallowed -v filter
      

      其中,servicepopimaphttp,而 filter 遵循篩選器語法中說明的語法規則。

      為服務建立或編輯拒絕篩選器:


      configutil -o service.service.domainnotallowed -v filter
      

      其中,servicepopimaphttp,而 filter 遵循篩選器語法中說明的語法規則。

為 HTTP 代理認證建立存取篩選器

任何儲存管理員均可向任何服務進行代理認證。(如需有關儲存管理員的更多資訊,請參閱指定管理員使用儲存的權限。) 如果用戶端主機經由代理伺服器認證存取篩選器授予存取權限,則認證至服務。

代理認證允許入口網站之類的其他服務認證使用者,並將認證憑證傳送至 HTTP 登入服務。例如,假定入口網站提供數種服務,其中一種是 Messenger Express 基於 Web 的電子郵件。透過 HTTP 代理認證功能,一般使用者僅需要向入口網站服務認證一次,無需再次認證即可存取他們的電子郵件。入口網站必須配置登入伺服器,以作為用戶端和服務之間的介面。為協助配置 Messenger Express 認證的登入伺服器,Sun Java System 為 Messenger Express 提供了認證 SDK。

本節描述如何建立允許篩選器以允許根據 IP 位址進行 HTTP 代理認證。本節不描述如何設定登入伺服器或如何使用 Messenger Express 認證 SDK。如需有關為 Messenger Express 設定登入伺服器以及使用認證 SDK 的更多資訊,請與您的 Sun Java System 代表連絡。

Procedure為 HTTP 代理認證建立存取篩選器

步驟
  1. 在主控台中開啟您要建立存取篩選器的 Messaging Server。

  2. 按一下 [配置] 標籤。

  3. 在左側窗格中開啟 [服務] 資料夾,然後選取 [服務] 資料夾下的 [HTTP]。

  4. 在右側窗格中按一下 [代理程式] 標籤。

    此標籤中的 [允許] 欄位會顯示代理認證的現有允許篩選器。

  5. 若要建立新篩選器,請按一下 [新增]。

    [「允許」篩選] 視窗開啟。在視窗中輸入新篩選器的文字,然後按一下 [確定]。

  6. 若要編輯現有篩選器,請選取該篩選器,然後按一下 [編輯]。

    [「允許」篩選] 視窗開啟。在視窗中編輯顯示的篩選器之文字,然後按一下 [確定]。

  7. 若要刪除某個現有篩選器,請從 [允許] 欄位中選取該篩選器,然後按一下 [刪除]。

  8. 完成對代理程式標籤的變更後,請按一下 [儲存]。

    如需有關允許篩選器語法的更多資訊,請參閱篩選器語法

    指令行

    您也可以在指令行中為 HTTP 服務代理認證指定存取篩選器,如下所示:


    configutil -o service.service.proxydomainallowed -v filter
    

    其中,filter 遵循篩選器語法中說明的語法規則。

啟用 POP Before SMTP

SMTP 認證 (或 SMTP Auth [RFC 2554]) 是提供 SMTP 轉送伺服器安全性的優先方法。SMTP Auth 僅允許認證使用者透過 MTA 傳送郵件。然而,某些舊的用戶端僅支援 POP before SMTP。如果您的系統屬於這種情況,則可如下文所述啟用 POP before SMTP。但是,如有可能,應鼓勵您的使用者升級他們的 POP 用戶端,而不是使用 POP before SMTP。在網站上部署 POP before SMTP 後,使用者便會依賴這些不符合網際網路安全性標準的用戶端,從而使一般使用者處於更大的被侵入風險中,網站速度也會因無法避免的效能降低而變慢,因為系統不得不追蹤並協調最近成功的 POP 階段作業的 IP 位址。

POP before SMTP 的 Messaging Server 實作完全不同於 SIMS 或 Netscape Messaging Server。透過將 Messaging Multiplexor (MMP) 配置為具有 POP 和 SMTP 兩種代理伺服器來支援 POP before SMTP。當 SMTP 用戶端連線至 SMTP 代理時,該代理會檢查記憶體內快取的最近 POP 認證。如果找到來自同一個用戶端 IP 位址的 POP 認證,SMTP 代理會通知 SMTP 伺服器允許郵件被導向至本地和非本地收件者。

Procedure安裝 SMTP 代理

步驟
  1. 安裝 Messaging Multiplexor (MMP)。

    請參閱「Sun Java Enterprise System 2005Q4 安裝指南」,以取得相關說明。

  2. 在 MMP 上啟用 SMTP 代理。

    將字串︰

    msg_svr_base/lib/SmtpProxyAService@25|587

    增加到 msg_svr_base/config/AService.cfg 檔案中的 ServiceList 選項。該選項是一個長行,不能換行。


    備註 –

    升級 MMP 後,將會有四個新檔案,對應於 MMP 的四個現有配置檔案。新檔案是:

    AService-def.cfgImapProxyAService-def.cfgPopProxyAService-def.cfgSmtpProxyAService-def.cfg

    這些檔案由安裝程式建立,本文所述的四個配置檔案不是由安裝程序建立的或不受安裝程序的影響。MMP 在啟動時會查找一般配置檔案 (依目前說明)。如果找不到一般配置檔案,則會嘗試將各個 *AService-def.cfg 檔案分別複製到對應的 *AService.cfg 檔案名稱中。


  3. 在每個 SMTP 轉送伺服器上設定 SMTP 通道選項檔案 tcp_local_option 中的 PROXY_PASSWORD 選項。

    當 SMTP 代理連線至 SMTP 伺服器時,它必須通知 SMTP 伺服器實際的用戶端 IP 位址和其他連線資訊,以便 SMTP 伺服器可以正確地套用轉送封鎖功能和其他安全性策略 (包括 POP before SMTP 授權)。這是一項對安全性敏感的作業,必須通過認證。在 MMP SMTP 代理和 SMTP 伺服器上配置的代理密碼可確保協力廠商無法濫用此功能。

    範例:PROXY_PASSWORD=A_Password

  4. 請確保 INTERNAL_IP 對映表不會將 MMP 用於連線至 SMTP 伺服器的 IP 位址視為「內部」位址。

    請參閱第 17 章, 郵件篩選和存取控制中的新增 SMTP 轉送,以取得有關 INTERNAL_IP 對映表的資訊。

  5. 配置代理 SMTP 以支援 POP before SMTP。

    1. 編輯 msg_svr_base/config/SmtpProxyAService.cfg 配置檔案。

      以下 SMTP 代理伺服器選項與 IMAP 和 POP 代理伺服器的相同選項執行方式相同 (請參閱第 7 章, 配置與管理 Multiplexor 服務,這些選項位於「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「Encryption (SSL) Option」一節)。

      LdapURLLogDirLogLevelBindDNBindPassTimeoutBannerSSLEnableSSLSecmodFileSSLCertFileSSLKeyFileSSLKeyPasswdFileSSLCipherSpecsSSLCertNicknamesSSLCacheDirSSLPortsCertMapFileCertmapDNConnLimitsTCPAccess

      未在上面列出的其他 MMP 選項 (包括 BacksidePort 選項) 目前不適用於 SMTP 代理伺服器。

      新增以下五個選項:

      SmtpRelays 是以空格分隔的 SMTP 轉送伺服器主機名稱 (帶有可選連接埠) 清單,用於進行循環轉送。這些轉送必須支援 XPROXYEHLO 延伸。此選項是強制性選項,沒有預設。

      範例default:SmtpRelays manatee:485 gonzo mothra

      SmtpProxyPassword 是用於授權在 SMTP 轉送伺服器上變更來源通道的密碼。此選項為強制性選項,沒有預設,並且必須與 SMTP 伺服器上的 PROXY_PASSWORD 選項相符。

      範例default:SmtpProxyPassword A_Password

      EhloKeywords 選項除提供預設設定外,還會為代理伺服器提供傳送給用戶端的 EHLO 延伸關鍵字清單。MMP 將從 SMTP 轉送器傳回的 EHLO 清單中移除所有無法識別的 EHLO 關鍵字。EhloKeywords 指定不應從清單中移除的其他 EHLO 關鍵字。預設為空白,但是 SMTP 代理將支援以下關鍵字,因此無需在此選項中列出它們:8BITMIMEPIPELININGDSNENHANCEDSTATUSCODESEXPNHELPXLOOPETRNSIZESTARTTLSAUTH

      使用「TURN」延伸 (很少使用) 的站點可以使用以下範例︰

      範例default:EhloKeywords TURN

      PopBeforeSmtpKludgeChannel 選項設定為某個 MTA 通道的名稱,以用於 POP before SMTP 授權連線。預設為空白;對於要啟用 POP before SMTP 的使用者,通常設定為 tcp_intranet。最佳化 SSL 效能不需要此選項 (請參閱如何使用 SMTP 代理最佳化 SSL 效能)。

      範例default:PopBeforeSmtpKludgeChannel tcp_intranet

      ClientLookup 選項預設為 no。如果設定為 yes,DNS 將對用戶端 IP 位址進行無條件反向查詢,因此 SMTP 轉送伺服器便無需執行此作業。此選項可以針對每個託管網域進行設定。

      範例default:ClientLookup yes

    2. 請在 PopProxyAService.cfg 配置檔案中設定 PreAuth 選項和 AuthServiceTTL 選項。為最佳化 SSL 效能,無需使用此選項。(請參閱如何使用 SMTP 代理最佳化 SSL 效能)

      這些選項指定使用者在經過 POP 認證後被授權提交郵件的時間量 (以秒為單位)。通常設定為 900 到 1800 (15-30 分鐘)。

      範例


      default:PreAuth yes
      default:AuthServiceTTL 900
    3. 您可以選擇指定在嘗試執行清單中的下一項之前,MMP 等待 SMTP 轉送器回應的秒數。

      預設為 10 (秒)。如果連線至 SMTP 轉送失敗,MMP 會避免在相當於容錯移轉逾時期間 (以分鐘為單位) 內進行嘗試 (因此,如果容錯移轉逾時為 10 秒,並且轉送失敗,則 MMP 在 10 分鐘內不會再次嘗試該轉送作業)。

      範例default:FailoverTimeout 10

配置對 SMTP 服務的用戶端存取權

如需有關配置用戶端存取 SMTP 服務的資訊,請參閱第 17 章, 郵件篩選和存取控制

經由 SSL 的使用者/群組目錄查詢

可以為 MTA、MMP 和 IMAP/POP/HTTP 服務進行經由 SSL 的使用者/群組目錄查詢。先決條件是必須以 SSL 模式配置 Messaging Server。設定以下 configutil 參數以啟用此功能︰local.service.pab.ldapport 設定為 636local.ugldapport 設定為 636 以及 local.ugldapusessl 設定為 1