RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.

37. Аутентификатор spa

Аутентификатор spa предоставляет поддержку клиента для механизма Microsoft's Secure Password Authentication, также известного как NTLM (NT LanMan). Код для клиентской стороны этого аутентификатора был внесён Marc Prud'hommeaux, большая его часть взята из проекта Samba (http://www.samba.org). Впоследствии Tom Kistner внёс код для сервера. Механизм работает следующим образом:

  • После того, как была принята команда AUTH, клиент посылает аутентификационный запрос SPA, основанный на имени пользователя и, опционально, домене.
  • Сервер делает обратный вызов.
  • Клиент строит ответный вызов, использующий пользовательский пароль, и шлёт его на сервер, который принимает или отклоняет его. Для защиты пароля при передаче используется шифрование.

37.1. Использование spa как сервера

Аутентификатор spa обладает лишь одной серверной опцией:
ИмяИспользование ТипЗначение по умолчанию
server_passwordspastring† не задана

Эта опция раскрывается, результатом должен быть пароль в открытом виде для аутентификации пользователя, чьё имя в данной точке находится в $auth1. Для совместимости с предыдущими релизами exim, имя пользователя также помещается в $1. Однако, в настоящее время использование этой переменной для этой цели не приветствуется, поскольку может привести к недоразумениям в раскрытиях строк, также использующих числовые переменные для иных целей. Например:
spa:
  driver = spa
  public_name = NTLM
  server_password = ${lookup{$auth1}lsearch{/etc/exim/spa_clearpass} \
                    {$value}fail}

Если раскрытие принудительно неудачно, аутнетификация неуспешна. Любые другие ошибки раскрытия вызывают возврат кода временной ошибки.

37.2. Использование spa как клиента

Аутентификатор spa обладает следующими клиентскими опциями:
ИмяИспользование ТипЗначение по умолчанию
client_domainspastring† не задана

Эта опция определяет опциональный домен для аутентификации.
ИмяИспользование ТипЗначение по умолчанию
client_passwordspastring† не задана

Эта опция определяет пользовательский пароль и должна быть задана.
ИмяИспользование ТипЗначение по умолчанию
client_usernamespastring† не задана

Эта опция определяет имя пользователя и должна быть задана. Вот пример конфигурации этого аутентификатора для использования с почтовыми серверами msn.com:
msn:
  driver = spa
  public_name = MSN
  client_username = msn/msn_username
  client_password = msn_plaintext_password
  client_domain = DOMAIN_OR_UNSET

37.3. Аутентификатор Dovecot

Этот аутентификатор является интерфейсом к средству аутентификации сервера Dovecot POP/IMAP, который может поддерживать много методов аутентификации. Если Вы используете Dovecot, чтобы аутентифицировать клиенты POP/IMAP, могло бы быть полезно использовать те же самые механизмы для аутентификации SMTP. Это только аутентификатор сервера. Есть только одна опция:
ИмяИспользование ТипЗначение по умолчанию
server_socketdovecotstring не задана

Эта опция должна определить сокет, который является интерфейсом к аутентификации dovecot. Опция public_name должна определить механизм аутентификации, который dovecot поддерживает. У Вас может быть несколько аутентификаторов для различных механизмов. Например:
dovecot_plain:
  driver = dovecot
  public_name = PLAIN
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth2

dovecot_ntlm:
  driver = dovecot
  public_name = NTLM
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1

Если соединение SMTP шифруется, или если $sender_host_address равен $received_ip_address (то есть, соединение локально), опцию secured передают в команде аутентификации dovecot. Если для соединения TLS клиентский сертификат был проверен, передают опцию valid-client-cert. Когда аутентификация успешно выполняется, идентификационные данные пользователя, который аутентифицировался, помещаются в $auth1.

Поиск

 

Найди своих коллег!