mod_auth_basic#

Описание#

mod_auth_basic предназначен для реализации базовой HTTP-аутентификации. Он позволяет ограничивать доступ к веб-ресурсам, проверяя учетные данные пользователей (имя пользователя и пароль) с использованием схемы аутентификации Basic.

Примечание

mod_auth_basic может работать самостоятельно, но для полноценной реализации аутентификации и авторизации часто требуется использование других модулей, например:

  • Модули аутентификации:

    • mod_authn_file: позволяет использовать файл (например, .htpasswd) для хранения учетных данных пользователей;

    • mod_authn_dbm: позволяет использовать базы данных для хранения учетных данных; это может быть полезно при большом количестве пользователей.

  • Модули авторизации:

    • mod_authz_user: используется для управления доступом к ресурсам на основе аутентифицированных пользователей;

    • mod_authz_groupfile: позволяет управлять доступом на основе групп пользователей, определенных в файле.

  • Модули безопасности:

    • mod_ssl: позволяет настроить шифрование трафика; использование SSL (HTTPS) рекомендуется для защиты передаваемых учетных данных.

Также для создания файла с учетными данными пользователей (.htpasswd) необходима утилита htpasswd. Подробную информацию о ней можно получить, выполнив man htpasswd.

Примеры конфигурации#

Примеры конфигурации, настроенной с помощью модуля mod_auth_basic:

  • Простая базовая аутентификация с использованием файла:

    <Directory "/var/www/protected">
        # Использование базовой аутентификации
        AuthType Basic
        # Имя области, которое будет отображаться в диалоговом окне аутентификации
        AuthName "Restricted Area"
        # Путь к файлу, в котором хранятся учетные данные пользователей
        AuthUserFile /etc/httpd/.htpasswd
        # Разрешение доступа всем аутентифицированным пользователям
        Require valid-user
    </Directory>
    
  • Защита конкретного файла - file.txt:

    <Location "/protected/file.txt">
        AuthType Basic
        AuthName "Protected File"
        AuthUserFile /etc/httpd/.htpasswd
        Require valid-user
    </Location>
    
  • Защита всего сайта:

    <Directory "/var/www/html">
        AuthType Basic
        AuthName "Secure Area"
        AuthUserFile /etc/httpd/.htpasswd
        Require valid-user
    </Directory>
    

Директивы#

Список директив модуля представлен в таблице ниже.

Директивы mod_auth_basic#

Синтаксис

Значение по умолчанию

Контекст

Описание

AuthBasicAuthoritative On|Off

AuthBasicAuthoritative On

directory, .htaccess

Устанавливает, передаются ли авторизация и аутентификация на более низкие уровни модулей. Обычно каждый модуль авторизации, указанный в AuthBasicProvider, будет пытаться проверить пользователя, и если пользователь не найден в любом провайдере, доступ будет запрещен. Установка директивы AuthBasicAuthoritative в Off позволяет передавать как аутентификацию, так и авторизацию другим модулям, не основанным на провайдерах, если нет совпадения с идентификатором пользователя или правилом. Это бывает необходимо только при комбинировании mod_auth_basic с модулями третьих сторон, которые не настроены с директивой AuthBasicProvider. При использовании таких модулей порядок обработки определяется в исходном коде модулей и не подлежит настройке

AuthBasicFake off|<username> [<password>]

Нет

directory, .htaccess

Имитирует базовую аутентификацию, используя указанные выражения для имени пользователя и пароля. Указанные имя пользователя и пароль комбинируются в заголовок Authorization, который передается на сервер или службу за веб-сервером. Оба поля интерпретируются с использованием парсера выражений, что позволяет устанавливать как имя пользователя, так и пароль на основе параметров запроса

AuthBasicProvider <provider-name> [<provider-name> ...]

AuthBasicProvider file

directory, .htaccess

Устанавливает, какие провайдеры используются для аутентификации пользователей в данном месте. Провайдер по умолчанию — file, реализованный модулем mod_authn_file. Необходимо убедиться, что выбранный модуль провайдера присутствует на сервере

AuthBasicUseDigestAlgorithm MD5|Off

AuthBasicUseDigestAlgorithm Off

directory, .htaccess

Проверяет пароли по сравнению с провайдерами аутентификации так, как если бы была включена аутентификация Digest, а не Basic. Обычно при использовании базовой аутентификации провайдеры, указанные в AuthBasicProvider, пытаются проверить пользователя, проверяя хранилища данных на наличие совпадающего имени пользователя и связанного пароля. Хранимые пароли обычно (но не обязательно) зашифрованы; каждый провайдер может выбрать свою собственную схему хранения паролей