Spec-Zone.ru › Apache HTTP Server

Модуль Apache 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 следует перечислить местоположения, которые будут защищены этой конфигурацией.

Файл паролей, указанный в директиве AuthUserFile, можно создать и вести с помощью инструмента htdigest.

Примечание

Дайджест-аутентификация была задумана как более безопасная, чем базовая аутентификация, но теперь уже не обеспечивает это преимущество. Злоумышленник, осуществляющий атаку типа «человек посередине», может без труда заставить браузер перейти на базовую аутентификацию. Даже пассивный перехватчик может подобрать пароль методом полного перебора с помощью современных графических процессоров, поскольку используемый дайджест-аутентификацией алгоритм хеширования слишком быстр. Ещё одна проблема — небезопасное хранение паролей на сервере. Содержимое похищенного файла htdigest можно напрямую использовать для дайджест-аутентификации. Поэтому настоятельно рекомендуется использовать mod_ssl для шифрования всего соединения.

mod_auth_digest корректно работает только на платформах, где APR поддерживает разделяемую память.

Директива AuthDigestAlgorithm

Описание: Выбирает алгоритм для вычисления хешей вызова и ответа при дайджест-аутентификации
Синтаксис:
AuthDigestAlgorithm MD5|MD5-sess
Значение по умолчанию:
AuthDigestAlgorithm MD5
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestAlgorithm выбирает алгоритм для вычисления хешей вызова и ответа.

MD5-sess пока реализована некорректно.

Директива AuthDigestDomain

Описание: URI, находящиеся в одной области защиты для дайджест-аутентификации
Синтаксис:
AuthDigestDomain URI [URI] ...
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestDomain позволяет указать один или несколько URI, находящихся в одной области защиты (т. е. использующих одну область и одну информацию об имени пользователя и пароле). Указанные URI являются префиксами: клиент будет считать, что все URI, расположенные «ниже» них, также защищены теми же именем пользователя и паролем. URI могут быть абсолютными (т. е. включать схему, узел, порт и т. д.) или относительными.

Эту директиву следует указывать всегда, включая в неё как минимум корневой URI (или набор корневых URI) этой области. Если этого не сделать, клиент будет отправлять заголовок Authorization в каждом запросе, направляемом этому серверу.

Указанные URI также могут вести на разные серверы; в этом случае клиенты, поддерживающие такую возможность, будут использовать общие данные имени пользователя и пароля на нескольких серверах, не запрашивая их у пользователя каждый раз.

Директива AuthDigestNonceLifetime

Описание: Срок действия серверного nonce
Синтаксис:
AuthDigestNonceLifetime seconds
Значение по умолчанию:
AuthDigestNonceLifetime 300
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestNonceLifetime задаёт срок действия серверного nonce. Если клиент обращается к серверу с просроченным nonce, сервер отправит ответ 401 с stale=true. Если значение seconds больше 0, оно задаёт срок действия nonce; вероятно, это значение никогда не следует устанавливать меньше 10 секунд. Если значение seconds меньше 0, срок действия nonce не ограничен.

Директива AuthDigestProvider

Описание: Задаёт поставщика(ов) аутентификации для этого местоположения
Синтаксис:
AuthDigestProvider provider-name [provider-name] ...
Значение по умолчанию:
AuthDigestProvider file
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestProvider задаёт поставщика, который используется для аутентификации пользователей в этом местоположении. Поставщик file по умолчанию реализован модулем mod_authn_file. Убедитесь, что выбранный модуль поставщика загружен на сервере.

Список поставщиков см. в разделах mod_authn_dbm, mod_authn_file, mod_authn_dbd и mod_authn_socache.

Директива AuthDigestQop

Описание: Определяет уровень защиты, используемый при дайджест-аутентификации
Синтаксис:
AuthDigestQop none|auth|auth-int [auth|auth-int]
Значение по умолчанию:
AuthDigestQop auth
Контекст: каталог, .htaccess
Переопределение: AuthConfig
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestQop определяет используемый уровень защиты. auth обеспечивает только аутентификацию (имя пользователя и пароль); auth-int — аутентификацию и проверку целостности (также вычисляется и проверяется хеш MD5 объекта); none заставляет модуль использовать старый алгоритм дайджест-аутентификации RFC-2069 (без проверки целостности). Можно указать оба значения — auth и auth-int; в этом случае браузер выберет одно из них. none следует использовать только в том случае, если браузер по какой-либо причине не принимает полученный вызов.

auth-int пока не реализована.

Директива AuthDigestShmemSize

Описание: Объём разделяемой памяти, выделяемой для отслеживания клиентов
Синтаксис:
AuthDigestShmemSize size
Значение по умолчанию:
AuthDigestShmemSize 1000
Контекст: конфигурация сервера
Статус: Расширение
Модуль: mod_auth_digest

Директива AuthDigestShmemSize задаёт объём разделяемой памяти, выделяемой при запуске сервера для отслеживания клиентов. Обратите внимание: размер сегмента разделяемой памяти нельзя установить меньше объёма, необходимого для отслеживания как минимум одного клиента. Это значение зависит от системы. Чтобы узнать точное значение, можно установить AuthDigestShmemSize равным 0 и прочитать сообщение об ошибке после попытки запуска сервера.

Размер size обычно указывается в байтах, но после числа можно добавить K или M, чтобы задать значение в килобайтах или мегабайтах. Например, все приведённые ниже директивы эквивалентны:

AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
AuthDigestShmemSize 1M

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_auth_digest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API