Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_auth_digest

Описание: Аутентификация пользователей с помощью MD5 Digest Authentication
Статус: Расширение
Идентификатор модуля: auth_digest_module
Файл исходного кода: mod_auth_digest.c

Краткое описание

Этот модуль реализует HTTP Digest Authentication (RFC2617) и предлагает альтернативу mod_auth_basic, где пароль не передаётся в открытом виде. Однако это не приводит к существенному преимуществу в плане безопасности по сравнению с базовой аутентификацией. С другой стороны, хранение паролей на сервере при использовании digest-аутентификации менее безопасно, чем при использовании базовой аутентификации. Поэтому использование базовой аутентификации и шифрование всего соединения с помощью mod_ssl является гораздо лучшим вариантом.

Использование 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.

Примечание

Digest-аутентификация изначально задумывалась как более безопасная, чем базовая аутентификация, но больше не соответствует этой цели. Злоумышленник, находящийся между клиентом и сервером (man-in-the-middle), может легко заставить браузер перейти к базовой аутентификации. И даже пассивный перехватчик может выполнить перебор паролей с помощью современной графической карты, потому что алгоритм хэширования, используемый в digest-аутентификации, слишком быстрый. Другая проблема заключается в том, что хранение паролей на сервере небезопасно. Содержимое украденного файла htdigest может быть непосредственно использовано для digest-аутентификации. Поэтому настоятельно рекомендуется использовать mod_ssl для шифрования всего соединения.

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

Директива AuthDigestAlgorithm

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

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

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

Директива AuthDigestDomain

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

Директива AuthDigestDomain позволяет указать один или несколько URI, которые находятся в одном пространстве защиты (т.е. используют один и тот же домен и данные пользователя/пароля). Указанные 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

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

Директива AuthDigestQop определяет качество защиты. auth выполнит только аутентификацию (имя пользователя/пароль); auth-int — аутентификация плюс проверка целостности (также вычисляется и проверяется MD5 хэш объекта); none заставит модуль использовать старый алгоритм digest 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