<-
Apache > HTTP Server > 文件 > 2.4 版 > 模組

Apache 模組 mod_auth_digest

提供語言:  en  |  fr  |  ko 

說明使用 MD5 Digest 驗證進行使用者驗證
狀態延伸模組
模組識別碼auth_digest_module
來源檔案mod_auth_digest.c

摘要

此模組實作 HTTP Digest 驗證 (RFC2617),提供一種替代 mod_auth_basic 的方式,其中密碼並不會以明文方式傳輸。然而,與基本驗證相比,這並非會帶來顯著的安全優勢。另一方面,透過 Digest 驗證在伺服器上儲存密碼的安全性遠低於基本驗證。因此,使用基本驗證並透過 mod_ssl 加密整個連線是更好的替代方案。

Support Apache!

主題

指令

偵錯清單

請也參閱

top

使用 Digest 驗證

若要使用 MD5 Digest 驗證,請如下列範例所示,設定要保護的位置

範例

<Location "/private/">
    AuthType Digest
    AuthName "private area"
    AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
    
    AuthDigestProvider file
    AuthUserFile "/web/auth/.digest_pw"
    Require valid-user
</Location>

AuthDigestDomain 應該列出將受此設定保護的位置。

AuthUserFile 指令中引用的密碼檔案可以使用 htdigest 工具建立和管理。

附註

摘要驗證原先意在比基本驗證更安全,但已不再符合此設計目標。中間人攻擊者很容易地強迫瀏覽器降級到基本驗證。而且由於摘要驗證使用的雜湊演算法太快了,因此即使是被動竊聽者也能使用當今的顯示卡硬體暴力破解密碼。另一個問題是伺服器上密碼的儲存不安全。竊取來的 htdigest 檔案內容可用於摘要驗證。因此強烈建議使用 mod_ssl 來加密整個連線。

mod_auth_digest 僅能正確使用於支援共享記憶體的平台上。

top

AuthDigestAlgorithm 指令

說明用於計算摘要驗證中挑戰和回應雜湊的演算法
語法AuthDigestAlgorithm MD5|MD5-sess
預設值AuthDigestAlgorithm MD5
內容directory, .htaccess
覆寫AuthConfig
狀態延伸模組
模組mod_auth_digest

AuthDigestAlgorithm 指令用來選擇計算挑戰和回應雜湊的演算法。

MD5-sess 尚未正確實作。
top

AuthDigestDomain 指令

說明摘要驗證中屬於相同保護區的 URI
語法AuthDigestDomain URI [URI] ...
內容directory, .htaccess
覆寫AuthConfig
狀態延伸模組
模組mod_auth_digest

AuthDigestDomain 指令讓您可以指定一個或多個 URI,將其放置在相同的保護區中 (例如,使用相同的領域及使用者名稱/密碼資訊)。指定的 URI 是前置詞;用戶端會假設所有「較低層」的 URI 也受到相同的使用者名稱/密碼保護。這些 URI 可以是絕對 URI (例如,包含 scheme、主機名稱、連接埠等) 或相對 URI。

此指令應該總是會被指定,且至少要包含此區塊的根 URI (集合)。省略的話會導致用戶端對傳送至該伺服器的每個要求都傳送 Authorization 標頭。

指定的 URI 也可以指向不同的伺服器,如果遇到這種情況,用戶端 (了解時) 接著就會在多個伺服器之間共用使用者名稱/密碼資訊,而不會每次都詢問使用者。

top

AuthDigestNonceLifetime 指令

說明伺服器隨機數的有效時間
語法AuthDigestNonceLifetime 秒數
預設值AuthDigestNonceLifetime 300
內容directory, .htaccess
覆寫AuthConfig
狀態延伸模組
模組mod_auth_digest

AuthDigestNonceLifetime 指令控制伺服器隨機數的有效時間。當用戶端使用逾期的隨機數與伺服器聯絡時,伺服器將會搭配 stale=true 傳回 401。如果 seconds 大於 0,則指定隨機數的有效時間;此設定可能永遠不會短於 10 秒。如果 seconds 小於 0,則隨機數永遠不會過期。

top

AuthDigestProvider 指令

說明設定此位置的驗證提供者
語法AuthDigestProvider provider-name [provider-name] ...
預設值AuthDigestProvider file
內容directory, .htaccess
覆寫AuthConfig
狀態延伸模組
模組mod_auth_digest

AuthDigestProvider 指令設定哪個提供者用於驗證此位置的使用者。預設的 file 提供者是由 mod_authn_file 模組實作。確保伺服器中有所選的提供者模組。

請參閱 mod_authn_dbmmod_authn_filemod_authn_dbdmod_authn_socache 以取得提供者。

top

AuthDigestQop 指令

說明決定在摘要驗證中使用的保護品質
語法AuthDigestQop none|auth|auth-int [auth|auth-int]
預設值AuthDigestQop auth
內容directory, .htaccess
覆寫AuthConfig
狀態延伸模組
模組mod_auth_digest

AuthDigestQop 指令決定使用的 保護品質auth 只驗證 (使用者名稱/密碼);auth-int 驗證加完整性檢查 (實體的 MD5 hash 也會計算並檢查);none 會讓模組使用舊的 RFC-2069 摘要演算法 (不包含完整性檢查)。同時指定 authauth-int,瀏覽器可以選擇使用哪一種。none 僅應在瀏覽器因為某種原因不喜歡收到的 challenge 時使用。

auth-int 尚未實作。
top

AuthDigestShmemSize 指令

說明配置共用記憶體的容量,用於追蹤用戶端
語法AuthDigestShmemSize size
預設值AuthDigestShmemSize 1000
內容伺服器設定
狀態延伸模組
模組mod_auth_digest

AuthDigestShmemSize 指令定義伺服器啟動時將配置的共用記憶體容量,用於追蹤用戶端。請注意,共用記憶體區段不能設定為小於追蹤至少一名用戶端所需的空間。此數值與您的系統有關。如果您想要找出確切數值,您可以將 AuthDigestShmemSize 設定為 0 的值,並在嘗試啟動伺服器後讀取錯誤訊息。

通常以 Bytes 來顯示 size,但您可在數字後面加上 KM 表示您的值是 KBytes 或 MBytes。例如,下列指令全部都是等效的

AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
AuthDigestShmemSize 1M

提供語言:  en  |  fr  |  ko 

top

留言

注意
這裡並不是問答區段。放在這裡的評論應該指向改進說明書或伺服器的建議,如果它們已實作或被視為無效/離題,我們的版主可能會移除它們。關於如何管理 Apache HTTP 伺服器的問題應該導向 Libera.chat 上我們的 IRC 頻道 #httpd,或傳送至我們的 郵寄清單