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

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта 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_password spastring† не задана

Эта опция раскрывается, результатом должен быть пароль в открытом виде для аутентификации пользователя, чьё имя в данной точке находится в $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_domain spastring† не задана

Эта опция определяет опциональный домен для аутентификации.

Имя
Использование
Тип
Значение по умолчанию
client_password spastring† не задана

Эта опция определяет пользовательский пароль и должна быть задана.

Имя
Использование
Тип
Значение по умолчанию
client_username spastring† не задана

Эта опция определяет имя пользователя и должна быть задана. Вот пример конфигурации этого аутентификатора для использования с почтовыми серверами msn.com:

msn:
  driver = spa
  public_name = MSN
  client_username = msn/msn_username
  client_password = msn_plaintext_password
  client_domain = DOMAIN_OR_UNSET