• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_auth_digest

    描述:使用 MD5 摘要式身份验证进行用户身份验
    状态:延期
    模块标识符:auth_digest_module
    源文件:mod_auth_digest.c

    摘要

    此模块实现 HTTP 摘要式身份验证(RFC2617),并提供mod_auth_basic的替代方法,其中密码不以明文形式传输。但是,这不会**导致比基本身份验证更重要的安全优势。另一方面,与基本身份验证相比,使用摘要式身份验证的服务器上的密码存储安全性更低。因此,使用基本身份验证并使用mod_ssl加密整个连接是一个更好的选择。

    使用摘要式身份验证

    要使用 MD5 摘要式身份验证,请配置要保护的位置,如下面的示例所示:

    例:

    <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应列出将受此 configuration 保护的位置。

    可以使用htdigest工具创建和管理AuthUserFile指令中引用的 pasword 文件。

    注意

    摘要式身份验证旨在比基本身份验证更安全,但不再满足该设计目标。 man-in-the-middle 攻击者可以轻易强制浏览器降级为基本身份验证。甚至被动窃听者也可以使用今天的图形硬件来密码,因为摘要式身份验证使用的散列算法太快了。另一个问题是在服务器上存储密码是不安全的。被盗 htdigest 文件的内容可以直接用于摘要式身份验证。因此,强烈建议使用mod_ssl加密整个连接。

    mod_auth_digest仅适用于 APR 支持共享 memory 的平台。

    AuthDigestAlgorithm 指令

    描述:选择用于在摘要式身份验证中计算质询和响应哈希值的算法
    句法:AuthDigestAlgorithm MD5\|MD5-sess
    默认:AuthDigestAlgorithm MD5
    Context:目录,.htaccess
    覆盖:AuthConfig
    状态:延期
    模块:mod_auth_digest

    AuthDigestAlgorithm指令选择用于计算质询和响应哈希值的算法。

    MD5-sess尚未正确实施。

    AuthDigestDomain 指令

    描述:用于摘要式身份验证的相同保护空间中的 URI
    句法:AuthDigestDomain URI[URI]...
    Context:目录,.htaccess
    覆盖:AuthConfig
    状态:延期
    模块:mod_auth_digest

    AuthDigestDomain指令允许您指定一个或多个位于同一保护空间中的 URI(i.e.使用相同的域和 username/password 信息)。指定的 URI 是前缀; client 将假设所有“低于”这些 URI 也受相同的 username/password 保护。 URI 可以是绝对 URI(i.e.包括 scheme,host, port,etc.)或相对 URI。

    应始终指定此指令并至少包含此空间的(set of)root URI(s)。省略这样做会导致 client 为发送到此服务器的每个请求发送 Authorization 标头。

    指定的 URI 也可以指向不同的服务器,在这种情况下,clients(理解这一点)将在多个服务器之间共享 username/password info,而不会在每次 time 时提示用户。

    AuthDigestNonceLifetime 指令

    描述:服务器现时的有效期是多长
    句法:AuthDigestNonceLifetime seconds
    默认:AuthDigestNonceLifetime 300
    Context:目录,.htaccess
    覆盖:AuthConfig
    状态:延期
    模块:mod_auth_digest

    AuthDigestNonceLifetime指令控制服务器 nonce 有效的 long。当 client 使用过期的 nonce 与服务器联系时,服务器将使用stale=true发回 401。如果 seconds 大于 0,则它指定 nonce 有效的 time 的数量;这可能永远不会设置为少于 10 秒。如果秒小于 0 则 nonce 永不过期。

    AuthDigestProvider 指令

    描述:为此位置设置身份验证 provider(s)
    句法:AuthDigestProvider provider-name[provider-name]...
    默认:AuthDigestProvider file
    Context:目录,.htaccess
    覆盖:AuthConfig
    状态:延期
    模块:mod_auth_digest

    AuthDigestProvider指令 sets 哪个提供程序用于验证此位置的用户。默认的file提供程序由mod_authn_file模块实现。确保服务器中存在所选的提供程序模块。

    请参阅提供商的mod_authn_dbm,mod_authn_file,mod_authn_dbd和mod_authn_socache。

    AuthDigestQop 指令

    描述:确定要在摘要式身份验证中使用的 quality-of-protection
    句法:AuthDigestQop none\|auth\|auth-int[auth\|auth-int]
    默认:AuthDigestQop auth
    Context:目录,.htaccess
    覆盖:AuthConfig
    状态:延期
    模块:mod_auth_digest

    AuthDigestQop指令确定要使用的 quality-of-protection。auth只会进行身份验证(username/password);auth-int是身份验证加完整性检查(还计算并检查实体的 MD5 哈希值);none将导致模块使用旧的 RFC-2069 摘要算法(不包括完整性检查)。可以指定authauth-int,在这种情况下,浏览器将选择使用哪些。只有当浏览器由于某种原因不喜欢它接收的挑战时才应该使用none

    auth-int尚未实施。

    AuthDigestShmemSize 指令

    描述:要分配用于跟踪 clients 的共享 memory 的数量
    句法:AuthDigestShmemSize size
    默认:AuthDigestShmemSize 1000
    Context:服务器配置
    状态:延期
    模块:mod_auth_digest

    AuthDigestShmemSize指令定义共享 memory 的数量,该数量将在服务器启动时分配,以跟踪 clients。请注意,共享 memory 段的设置不能小于跟踪至少一个 client 所需的空间。此 value 取决于您的系统。如果要查找确切的 value,可以将AuthDigestShmemSize设置为0的 value,并在尝试启动服务器后读取错误消息。

    大小通常以字节表示,但您可以使用KM来表示您的 value 为 KBytes 或 MBytes。对于 example,以下指令都是等效的:

    AuthDigestShmemSize 1048576
    AuthDigestShmemSize 1024K
    AuthDigestShmemSize 1M
    

    上篇:mod_auth_basic

    下篇:mod_auth_form