auth_totp_file

Директива `auth_totp_file` указывает путь к файлу конфигурации TOTP для использования в аутентификации TOTP в NGINX.

Синтаксисauth_totp_file ;
По умолчаниюnone
Контекстhttp, server, location, limit_except
Аргументы1

Описание

Директива auth_totp_file является важной опцией конфигурации для включения аутентификации на основе временных одноразовых паролей (Time-based One-Time Password, TOTP) в NGINX. Эта директива принимает путь к файлу в качестве аргумента и обычно используется для указания NGINX на конкретный файл конфигурации, содержащий необходимые ключи и настройки для генерации и проверки TOTP-токенов. Механизм TOTP повышает безопасность за счёт генерации паролей, действительных в течение ограниченного времени, в результате чего пользователям необходимо регулярно генерировать коды для аутентификации.

Когда делается запрос к защищённому местоположению, NGINX проверяет предоставленный TOTP по секретам, определённым в указанном файле. Если TOTP действителен и соответствует ожидаемому временному окну аутентификации, запросу разрешается продолжение. Этот шаг необходим для защиты конфиденциальных ресурсов от несанкционированного доступа. Файлы, на которые ссылается директива auth_totp_file, должны быть структурированы в соответствии с конкретными требованиями конфигурации, описывая пары «ключ-значение», где ключи могут представлять идентификаторы пользователей, а значения содержат соответствующие секретные ключи, используемые для генерации TOTP.

Эту директиву можно включать в различных контекстах — а именно http, server, location и limit_except — что обеспечивает гибкость её применения на разных уровнях конфигурации NGINX. Для эффективного использования этой директивы крайне важно, чтобы указанный путь к файлу был доступен процессу NGINX и чтобы были установлены соответствующие права доступа, предотвращающие несанкционированный доступ к чувствительным ключам.

Пример конфига

location /protected {
    auth_totp_realm "Protected Area";
    auth_totp_file /etc/nginx/totp.conf;
    auth_totp_length 8;
    auth_totp_reuse off;
    auth_totp_skew 1;
    auth_totp_step 1m;
    auth_totp_cookie "totp-session";
    auth_totp_expiry 1d;
}

Убедитесь, что указанный путь к файлу имеет корректные права доступа для чтения пользователем NGINX.

Если указанный файл не существует, аутентификация TOTP будет неуспешной для всех запросов.

Ключи в файле конфигурации totp должны быть правильно отформатированы, чтобы избежать ошибок разбора.

← Ко всем директивам