auth_totp_file
Директива `auth_totp_file` указывает путь к файлу конфигурации TOTP для использования в аутентификации TOTP в NGINX.
Описание
Директива 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 должны быть правильно отформатированы, чтобы избежать ошибок разбора.