Sun Java logo     上一個      目錄      索引      下一個     

Sun logo
Sun Java System Messaging Server 6 2004Q2 管理指南 

第 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://docs.sun.com)。


關於 HTTP 安全性

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

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

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

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

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

如需有關 Identity Server 的資訊,請參閱第 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 Administration Reference」

表格 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 使用的是明文密碼。

配置 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 擁有對使用者密碼屬性的寫入存取權。若要如此,請執行以下步驟:

  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 等。如需更多資訊,請參閱傳輸層安全「Messaging Server Reference Manual」


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


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


獲得證書

不論您使用 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 模組完成安裝,過程與安裝硬體證書記號類似。

請求伺服器證書

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

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

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

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

建立證書資料庫

  1. 以超級使用者的身份登入或成為超級使用者 (root)。
  2. /opt/SUNWmsgsr/config/sslPassword 中指定 certutil 的證書資料庫密碼。例如:
  3. # echo "password" > /opt/SUNWmsgsr/config/sslpassword

    其中,password 是您的特定密碼。

  4. 移至 sbin 目錄並產生證書資料庫 (cert7.db) 和金鑰資料庫 (key3.db)。例如:
  5. # cd /opt/SUNWmsg/sbin
    # ./certutil -N -d /opt/SUNWmsgsr/config -f /opt/SUNWmsgsr/config/sslpassword

  6. 產生預設的自我簽署根憑證授權單位證書。範例:

    # . /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

  7. 產生主機的證書。例如:

    ../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

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

  9. 驗證這些證書。例如:
  10. # ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWmsgsr/config
    # ./certutil -V -u V -n Server-Cert -d /opt/SUNWmsgsr/config

  11. 列示這些證書。例如:
  12. # ./certutil -L -d /opt/SUNWmsgsr/config
    # ./certutil -L -n Server-Cert -d /opt/SUNWmsgsr/config

  13. 使用 modutil 來列示可用的安全性模組 (secmod.db)。例如:
  14. # . ./modutil -list -dbdir /opt/SUNWmsgsr/config

  15. 將 alias 檔案的所有者變更為 icsusericsgroup (或執行 Calendar Server 時所使用的使用者和群組驗證身份)。例如:
  16. find /opt/SUNWmsgsr/config/cert7.db -exec chown mailsrv {} \;
    find /opt/SUNWmsgsr/config/key3.db -exec chown mailsrv {} \;
    find /opt/SUNWmsgsr/config/cert7.db -exec chgrp mail {} \;
    find /opt/SUNWmsgsr/config/key3.db -exec chgrp mail {} \;

    其中,mailsrv 是郵件伺服器 UID,而 mail 是郵件伺服器 GID。

  17. 重新啟動郵件傳送服務以啟用 SSL。

安裝證書

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

  1. 指定您要安裝已獲得的證書。
  2. 當系統提示您將證書文字貼入某欄位時依此執行。
  3. 將證書暱稱從 server-cert 變更為 Server-Cert
  4. 如果您不想變更此證書暱稱,則可以透過將 configutil 參數設定為 encryption.rsa.nssslpersonalityssl 來變更為系統想要的證書暱稱。

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


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


安裝信任的 CA 之證書

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

例如,如果您將企業設定為除了進行基於密碼的認證之外還要進行基於證書的用戶端認證 (請參閱「設定基於證書的登入」),則需要安裝所有發放用戶端可以提供之證書的受信任 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 發放的用戶端證書,則需要編輯信任設定。如需相關說明,請參閱「管理證書和信任的 CA」。


若要請求並安裝新的 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!

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


小心

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


啟用 SSL 和選取密碼算法

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

關於密碼算法

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

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

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

表 6.1 列出 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 等。如需更多資訊,請參閱傳輸層安全「Messaging Server Reference Manual」


設定基於證書的登入

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

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

  1. 為您的伺服器獲得伺服器證書。(如需詳細資訊,請參閱獲得證書。)
  2. 執行證書安裝精靈以安裝所有信任的證書授權機構 (將對您伺服器要認證的使用者發放證書的機構) 的證書。(如需詳細資訊,請參閱安裝信任的 CA 之證書。)
  3. 請注意,只要伺服器的資料庫中至少有一個信任的 CA,伺服器便會請求每個連線用戶端提供用戶端證書。

  4. 開啟 SSL。(如需詳細資訊,請參閱啟用 SSL 和選取密碼算法。)
  5. (可選) 編輯您伺服器的 certmap.conf 檔案,以讓伺服器根據所提交證書中的資訊相應地搜尋 LDAP 使用者目錄。
  6. 如果使用者證書中的電子郵件位址符合使用者目錄項目中的電子郵件位址,則無需編輯 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 機器上處理郵件佇列。這樣,為每項作業最佳化的硬體便可分別配置和購買。

請參閱安裝 SMTP 代理,以取得有關如何安裝 SMTP 代理的說明。


配置對 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 的有限存取權。此類作業管理員僅被允許執行特定的有限伺服器作業 (如僅被允許啟動或停止伺服器,或存取給定服務的日誌)。

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

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

若要授予某使用者或群組對給定 Messaging Server 實例的存取許可權,請:

  1. 以對您要提供存取權的 Messaging Server 具有存取權的管理員身份登入主控台。
  2. 在 [主控台] 視窗中選取該伺服器。
  3. 從 [主控台] 功能表中,選擇 [物件],然後選擇 [設定存取許可權]。

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

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

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

限制對特定作業的存取權

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

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

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

若要限制連線使用者或群組可以具有的作業存取權,請:

  1. 以對您要提供有限存取權的 Messaging Server 具有存取權的管理員身份登入主控台。
  2. 開啟伺服器,並在伺服器的 [作業] 表單中按一下 [作業] 文字來選取相應作業。
  3. 從 [編輯] 功能表中,選擇 [設定存取許可權],然後新增或編輯存取規則清單以授予使用者或群組您所希望的存取權類型。
  4. 對其他作業適當地重複此程序。

如需有關 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@hostSpecclientSpec 可以是 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

每個允許過濾器僅允許 domainN 中的主機連線至 IP 位址對應於 msgServer.siroeN.com 的服務。所有其他連線均被拒絕。

為服務建立存取過濾器

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

主控台     若要透過主控台建立過濾器,請執行以下步驟:

  1. 在主控台中,開啟您要建立存取過濾器的 Messaging Server。
  2. 按一下 [配置] 標籤。
  3. 在左側窗格中開啟 [服務] 資料夾,然後選取 [服務] 資料夾下的 [IMAP]、[POP] 或 [HTTP]。
  4. 在右側窗格中按一下 [存取權] 標籤。
  5. 此標籤中的 [允許] 和 [拒絕] 欄位會顯示該服務的現有允許過濾器和拒絕過濾器。欄位中的每一行表示一個過濾器。您可以對任一欄位指定以下動作:

    1. 按一下 [新增] 以建立新過濾器。[允許過濾器] 視窗或 [拒絕過濾器] 視窗開啟;在視窗中輸入新過濾器的文字,然後按一下 [確定]。
    2. 選取過濾器,然後按一下 [編輯] 以修改該過濾器。[允許過濾器] 視窗或 [拒絕過濾器] 視窗開啟;在視窗中編輯顯示的過濾器之文字,然後按一下 [確定]。
    3. 選取某個過濾器,然後按一下 [刪除] 以移除該過濾器。

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

如需過濾器語法的規格和多種範例,請參閱過濾器語法。如需其他範例,請參閱過濾器範例

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

為服務建立或編輯存取過濾器:

configutil -o service.service.domainallowed -v filter

其中 servicepopimaphttpfilter 遵循過濾器語法所述的語法規則。

為服務建立或編輯拒絕過濾器:

configutil -o service.service.domainnotallowed -v filter

其中 servicepopimaphttpfilter 遵循過濾器語法所述的語法規則。

為 HTTP 代理認證建立存取過濾器

任何儲存管理員均可向任何服務進行代理認證。(如需有關儲存管理員的更多資訊,請參閱指定對儲存的管理員存取權。)僅針對 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 代表聯絡。

主控台     若要為 HTTP 服務代理認證建立存取過濾器,請:

  1. 在主控台中,開啟您要建立存取過濾器的 Messaging Server。
  2. 按一下 [配置] 標籤。
  3. 在左側窗格中開啟 [服務] 資料夾,然後選取 [服務] 資料夾下的 [HTTP]。
  4. 在右側窗格中按一下 [代理] 標籤。
  5. 此標籤中的 [允許] 欄位會顯示代理認證的現有允許過濾器。

  6. 若要建立新過濾器,請按一下 [新增]。
  7. [允許過濾器] 視窗開啟。在視窗中輸入新過濾器的文字,然後按一下 [確定]。

  8. 若要編輯現有過濾器,請選取該過濾器,然後按一下 [編輯]。
  9. [允許過濾器] 視窗開啟。在視窗中編輯顯示的過濾器之文字,然後按一下 [確定]。

  10. 若要刪除某個現有過濾器,請從 [允許] 欄位中選取該過濾器,然後按一下 [刪除]。
  11. 完成對 [代理] 標籤的變更後,請按一下 [儲存]。

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

指令行     您也可以在指令行中為 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 伺服器允許郵件被導向至本地和非本地收件者。

安裝 SMTP 代理

  1. 「Sun ONE Messaging Server 安裝指南」所述安裝 Messaging Multiplexor (MMP)。
  2. 在 MMP 上啟用 SMTP 代理。
  3. 新增字串:

    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 檔案名稱。


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

    範例:PROXY_PASSWORD=A_Password

  6. 請確保 INTERNAL_IP 對映表不將 MMP 用於連線至 SMTP 伺服器的 IP 位址視為「內部」。
  7. 請參閱第 17 章「郵件過濾和存取控制」新增 SMTP 轉送,以取得有關 INTERNAL_IP 對映表的資訊。

  8. 配置 SMTP 代理以支援 POP before SMTP。
    1. 編輯 msg_svr_base/config/SmtpProxyAService.cfg 配置檔案。
    2. 以下 SMTP 代理選項的運作與 IMAP 和 POP 代理的相同選項完全相同 (請參閱「Messaging Server 安裝指南」中標題為「安裝 Messaging Multiplexor」的附錄以及「Messaging Server Reference Manual」的「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

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

      為使 POP before SMTP 得以運作,能在 IMAP 或 SMTP 代理配置檔案中設定 AuthServiceTTL


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

      範例

      default:PreAuth    yes
      default:AuthServiceTTL    900

    5. 您可以選擇指定在嘗試執行清單中的下一項之前,MMP 等待 SMTP 中繼器回應的秒數。
    6. 預設為 10 (秒)。如果連線至 SMTP 中繼器失敗,MMP 會避免在相當於故障轉移逾時期間 (以分鐘為單位) 進行嘗試 (因此,如果故障轉移逾時為 10 秒,並且轉送失敗,則 MMP 在 10 分鐘內不會再次嘗試該轉送作業)。
      範例:default:FailoverTimeout  10


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

如需有關配置對 SMTP 服務的用戶端存取權的資訊,請參閱第 17 章「郵件過濾和存取控制」



上一個      目錄      索引      下一個     


Copyright 2004 Sun Microsystems, Inc.。版權所有。