imap_auth

Директива imap_auth задаёт механизмы аутентификации, используемые для IMAP‑соединений в NGINX Mail. — NGINX Mail Core

imap_auth
mailmail server
Синтаксисimap_auth method1 [method2 ...];
По умолчаниюnone
Контекстmail, mail server
МодульNGINX Mail Core
Аргументы1+

Описание

Директива `imap_auth` играет ключевую роль в настройке методов аутентификации для IMAP‑соединений в модуле NGINX Mail. Она позволяет указывать один или несколько механизмов аутентификации, которые могут включать такие варианты, как 'PLAIN', 'LOGIN' или 'SCRAM-SHA-256'. Каждый механизм можно задавать отдельно, а порядок их перечисления определяет предпочтение при попытках аутентификации. Когда клиенты подключаются к IMAP‑серверу, они могут согласовать используемый метод аутентификации, и эта директива гарантирует, что сервер поддерживает запрошенный механизм. В реализации при установлении соединения с IMAP‑сервером NGINX оценит указанные механизмы и попытается провести аутентификацию в соответствии с последовательностью, определённой этой директивой. Если клиент запрашивает метод аутентификации, который не указан, соединение завершится с ошибкой, что гарантирует использование только поддерживаемых методов и повышает безопасность. Эту директиву следует размещать в контексте секции `mail`, конкретно в блоке `server`, который обрабатывает IMAP‑соединения. Дополнительные настройки могут также касаться прав пользователей и требований к TLS, и их следует внимательно интегрировать для создания надёжной системы аутентификации почты. Также важно понимать все последствия с точки зрения безопасности выбранных методов аутентификации, особенно при работе с нешифрованными (plain text) и зашифрованными методами.

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

mail {
    server {
        listen 0.0.0.0:143;
        protocol imap;
        auth_http localhost:9000/auth;
        imap_auth plain login;
    }
}

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

Неправильный порядок механизмов может привести к сбоям аутентификации, если менее безопасному методу отдается приоритет над более надёжным.

Пренебрежение настройкой связанных директив, таких как `auth_http`, может привести к неудачным попыткам аутентификации.