認證機制是用戶端向伺服器證實其身份的特定方法。Messaging Server 支援由簡單認證和安全層 (SASL) 協定所定義的認證方法,並支援基於憑證的認證。SASL 機制在本節中描述。如需有關基於憑證的認證資訊,請參閱配置加密和基於憑證的認證。
Messaging Server 支援以下用於基於密碼的認證的 SASL 認證方法。
PLAIN - 此機制會經由網路傳送使用者的一般文字密碼,這種方式容易被人竊取密碼。
請注意,SSL 可用來緩解竊取問題。如需更多資訊,請參閱配置加密和基於憑證的認證
DIGEST-MD5 - RFC 2831 中定義的詢問/回應認證機制。(Messaging Multiplexor 尚不支援 DIGEST-MD5。)
此功能已停用並會從將來的發行版本中移除。
CRAM-MD5 - 類似於 APOP 的詢問/回應認證機制,但也適用於其他協定。在 RFC 2195 中定義。
APOP - 僅適用於 POP3 協定的詢問/回應認證機制。在 RFC 1939 中定義。
LOGIN - 相當於 PLAIN,其存在只為了與 SMTP 認證的預標準實作相容。依預設,僅啟用此機制以供 SMTP 使用。
伺服器使用詢問/回應認證機制向用戶端傳送詢問字串。用戶端使用該詢問與使用者密碼的雜湊進行回應。如果用戶端的回應符合伺服器自己的雜湊,則使用者通過認證。雜湊不可逆,因此使用者的密碼經由網路傳送時不會暴露。
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 參數
參數 |
說明 |
---|---|
布林值,表示儲存一般文字密碼的目錄啟用 APOP、CRAM-MD5 或 DIGEST-MD5。 預設:False |
|
不再受支援或不再使用。請參閱 sasl.default.auto_transition。 |
|
布林值。設定時,如果使用者提供一般文字密碼,則密碼儲存格式將被轉換成目錄伺服器的預設密碼儲存方法。此參數可用於從一般文字密碼遷移至 APOP、CRAM-MD5 或 DIGEST-MD5。 預設:False |
|
此參數可啟用 SASL 匿名機制以供 IMAP 使用。 預設:False |
|
如果此參數大於 0,則會停用一般文字密碼,除非已啟動安全層 (SSL 或 TLS)。此參數會強制使用者對他們的用戶端啟用 SSL 或 TLS 以進行登入,從而防止他們的密碼在網路上暴露。MMP 具有一個等效選項「RestrictPlainPasswords」。 注意:5.2 版次的郵件傳送伺服器會根據 SSL 或 TLS 所協商的密碼算法強度實際檢查該值。為簡化此選項並更好地反映一般情況下的用法,該功能已被取消。 預設:0 |
|
啟用以空格分隔的 SASL 機制清單。如果不是空白,它會覆寫 sasl.default.ldap.has_plain_passwords 選項以及 service.imap.allowanonymouslogin 選項。此選項適用於所有協定 (IMAP、POP 和 SMTP)。 預設:False |
|
此參數是預設搜尋篩選器,在 inetDomainSearchFilter 中未為網域指定篩選器時用於查詢使用者。語法與 inetDomainSearchFilter 相同 (請參閱模式指南)。 預設:(&(uid=%U)(objectclass=inetmailuser)) |
|
依預設,認證系統按照網域查詢規則 (需要參考) 在 LDAP 中查詢網域,然後查詢使用者。然而,如果此選項設定為「0」而非預設值「1」,則不會查詢網域,而是直接在 local.ugldapbasedn 指定的 LDAP 樹狀結構下直接搜尋使用者 (使用 sasl.default.ldap.searchfilter)。提供此參數是為了與原來的單一網域模式相容,但對於新部署不建議使用,因為即使小公司也可能會進行合併或名稱變更,這些都需要支援多個網域。 |
若要進行運作,CRAM-MD5、DIGEST-MD5 或 APOP SASL 認證方法需要存取使用者的一般文字密碼。您需要執行以下步驟:
配置 Directory Server 以用明文形式儲存密碼。
配置 Messaging Server,使其知曉 Directory Server 使用的是明文密碼。
若要啟用 CRAM-MD5、DIGEST-MD5 或 APOP 機制,您必須如下所示配置 Directory Server,以用明文形式儲存密碼:
在主控台中,開啟您要配置的 Directory 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
對於值,您可以指定以下任意一個:
no 或 0 - 不轉換密碼。這是預設。
yes 或 1 - 轉換密碼。
為成功地轉換使用者,您必須在 Directory Server 中設定 ACI,以讓 Messaging Server 擁有對使用者密碼屬性的寫入存取權。若要如此,請執行以下步驟:
在主控台中,開啟您要配置的 Directory Server。
按一下 [目錄] 標籤。
選取使用者/群組樹的基底字尾。
從 [物件] 功能表中選取 [存取許可權]。
選取 (連按兩下)「Messaging Server 一般使用者管理員寫入存取權限」的 ACI。
按一下 [ACI 屬性]。
將 userpassword 屬性增加至現有屬性清單中。
按一下 [確定]。
sasl.default.mech_list 可用於啟用 SASL 機制清單。如果不是空白,它會覆寫 sasl.default.ldap.has_plain_passwords 選項以及 service.imap.allowanonymouslogin 選項。此選項適用於所有協定 (IMAP、POP 和 SMTP)。