Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Каталог документации / Раздел "Электронная почта" / Оглавление документа

35. Аутентификатор cram_md5


    Аутентификационный механизм cram_md5 описан в RFC2195. Сервер посылает клиенту строку вызова, и ответ содержит имя пользователя и CRAM-MD5 строки вызова, комбинированные с секретной строкой (паролем), который известен обоим, серверу и клиенту. Таким образом, секретная строка не посылается по сети открытым текстом, что делает этот аутентификатор более безопасным, чем “ plaintext ”. Однако, обратная сторона - это то, что секретная строка должна быть доступна в открытом виде с обоих строн.

35.1 Использование cram_md5 как сервера

   Этот аутентификатор имеет одну серверную опцию, которая должна быть установлена для конфигурирования аутентификатора как сервера:
Имя
Использование
Тип
Дефолтовое значение
server_secret cram_md5 string† незадана

   Когда серевер получает ответ клиента, имя пользвателя помещается в переменную раскрытия “ $auth1 ”, и “ server_secret ” раскрывается, для полчения пароля этого пользователя. Тогда сервер вычисляет CRAM-MD5, который должен был послать клиент, и проверяет, что получена корректная строка. Если раскрытие “ server_secret ” принудительно неудачно, - аутентификация неудачна. Если раскрытие неудачно по иной причине, клиенту возвращается временный код ошибки.
   Для совместимости с предыдущими релизами exim`a, имя пользователя, также помещается в
“ $1 ”. Однако, использование этой переменной для этой цели, сейчас, не приветствуется, поскольку может привести к беспорядку в раскрытиях строк, которые также используют числовые переменные для других целей.
   Например, следующий аутентификатор проверяет, что имя пользователя данное клиентом -
“ph10”, и, если это так, используется “secret” как пароль. Для любых других имён пользователя - аутентификация неудачна.
fixed_cram:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${if eq{$auth1}{ph10}{secret}fail}
  server_set_id = $auth1

   Если аутентификация успешна, установка “ server_set_id ” сохраняет имя пользователя в “ $authenticated_id ”. Более типичная конфигурация могла бы искать секретную строку в файле, используя имя пользователя как ключ. Например:
lookup_cram:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup{
$auth1}lsearch{/etc/authpwd}{$value}fail}
  server_set_id = $auth1

   Отметтьте, что это раскрытие явно вызывает принудительную неудачу, если поиск неудачен, поскольку “ $1 ” содержит неизвестное имя пользователя.

35.2 Использование cram_md5 как клиента

   Когда аутентификатор “ cram_md5 ” используется как клиент, он обладает двумя опциями:
Имя
Использование
Тип
Дефолтовое значение
client_name cram_md5 string† первичное имя хоста

   Эта строка раскрывается, и результат используется как данные имени пользователя, при вычислении ответа на подсказку сервера.

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

   Эта опция должна быть установлена, чтобы аутентификатор работал как клиент. Это значение раскрывается, и результат используется как секретная строка, когда вычисляется ответ.
   Для различных серверов могут использоваться различные имера пользователей и пароли, используя опции
“ $host ” и “ $host_address ”. Принудительная неудача любой раскрываемой строки обрабатывается как признак индицирующий, что этот аутентификатор не готов обработать этот случай. Exim двигается к следующему сконфигурированному клиентскому аутентификатору. Любые другие ошибки раскрытия заставляют exim прекратить попытки отправить сообщение текущему серверу.
   Простая конфигурация аутентификатора
“ cram_md5 ”, использующая фиксированные строки, такова:
fixed_cram:
  driver = cram_md5
  public_name = CRAM-MD5
  client_name = ph10
  client_secret = secret



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


XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить новость, Поддержать