auth_pam
Директива auth_pam настраивает аутентификацию PAM (модуль подключаемой аутентификации) для указанных HTTP‑контекстов в NGINX.
Описание
Директива auth_pam является частью динамического модуля аутентификации PAM для NGINX, который позволяет администраторам реализовать механизмы аутентификации с использованием PAM для защиты областей веб‑сайта, обслуживаемого NGINX. Устанавливая эту директиву в контексте http, server, location или limit_except, указанная область аутентификации предъявляется пользователям при попытке доступа к защищённым ресурсам. Она работает совместно с директивой auth_pam_service_name, которая задаёт PAM‑сервис, используемый для процессов аутентификации.
Когда пользователь обращается к защищённому ресурсу, NGINX запрашивает у системы PAM учётные данные пользователя на основе имени сервиса, определённого директивой auth_pam_service_name, которое по умолчанию равно "nginx", если явно не задано. Этот механизм требует корректной настройки PAM для подключения к нужному бэкенду аутентификации, например к базе паролей Unix или внешнему LDAP‑сервису. Директива auth_pam_set_pam_env также может использоваться для установки переменных окружения, связанных с PAM, для сессии аутентификации, что повышает гибкость сценариев аутентификации в динамических веб‑приложениях.
Важное замечание при использовании auth_pam состоит в том, что пользователь, от имени которого запускается сервис NGINX, должен иметь соответствующие права доступа к необходимым файлам — например, к /etc/shadow — если используются стандартные методы аутентификации Unix. Это может представлять проблему безопасности и требует тщательного рассмотрения прав пользователей и ограничений доступа к файлам.
Пример конфига
location /secure {
auth_pam "Secure Zone";
auth_pam_service_name "nginx";
}Убедитесь, что пользователь веб-сервера имеет соответствующие права доступа к файлам, необходимым PAM.
Если аутентификация не удалась, пользователи могут получать сбивающие с толку сообщения об ошибках, поэтому рассмотрите возможность реализации удобной для пользователя обработки ошибок.
Не допускайте доступа к чувствительным областям без надлежащих механизмов контроля доступа, особенно в производственной среде.