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 spa string† незадана

       Эта опция раскрывается, и, результатом должен быть пароль в открытом виде для аутентификации пользователя, чьё имя, в данной точке, находиться в $auth1 . Для совместимости с предыдущими релизами exim`a, имя пользователя, также, помещается в $1 . Однако, в настоящее время, использование этой переменной для этой цели - не приветствуется, поскольку может привести к недоразумениям в раскрытиях строк, также использующих числовые переменные для иных целей. Например:

    spa:
      driver = spa
      public_name = NTLM
      server_password = \
        ${lookup{
    $auth1}lsearch{/etc/exim/spa_clearpass}{$value}fail}
    
    
    

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

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

       Аутентификатор spa обладает следующими клиентскими опциями:

    Имя
    Использование
    Тип
    Дефолтовое значение
    client_domain spa string† незадана

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

    Имя
    Использование
    Тип
    Дефолтовое значение
    client_password spa string† незадана

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

    Имя
    Использование
    Тип
    Дефолтовое значение
    client_username spa string† незадана

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

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



    =============
    Автор перевода: lissyara, оригинал: http://www.lissyara.su/?id=1200