RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

37.4. Аутентификатор gsasl

Аутентификатор gsasl предоставляет интеграцию сервера GNU SASL и механизмы, которые это обеспечивает. Это нововведение выпуска 4.80, и есть несколько областей, где библиотека не позволяет Exim гладко масштабироваться, чтобы обработать будущие механизмы аутентификации, таким образом, нет никаких гарантий, что любой особый новый механизм аутентификации будет поддержан без изменений кода Exim.

server_channelbinding Использование: gsasl Тип: boolean Значение по умолчанию: false

Некоторые механизмы аутентификации в состоянии использовать внешний контекст в обоих концах сеанса, чтобы связать аутентификацию с тем контекстом, и прервать процесс аутентификации, если эти контексты отличаются. Определенно, некоторые TLS ciphersuites могут предоставить идентификационную информацию о криптоконтексте.

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

В настоящее время это поддержано только библиотекой GnuTLS. Это применимо только механизмами, которые поддерживают "channel binding" во время записи. Это принимает значение по умолчанию false, чтобы гарантировать гладкое обновление через выпуски Exim, в случае, если эта опция заставляет некоторых клиентов терпеть неудачу. Некоторый будущий выпуск Exim может переключить значение по умолчанию на true.

server_hostname Использование: gsasl Тип: string Значение по умолчанию: см. ниже

Эта опция выбирает имя узла, которое используется, общаясь с библиотекой. Значение по умолчанию: $primary_hostname. Некоторые механизмы будут использовать эти данные.

server_mech Использование: gsasl Тип: string Значение по умолчанию: см. ниже

Эта опция выбирает механизм аутентификации, который должен использовать этот драйвер. Значение по умолчанию: значение опции public_name. Эта опция позволяет Вам использовать различные основные механизм. Например:

sasl:
  driver = gsasl
  public_name = X-ANYTHING
  server_mech = CRAM-MD5
  server_set_id = $auth1
server_password Использование: gsasl Тип: string Значение по умолчанию: не задано

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

Доступные данные для поиска изменяются в зависимости от механизма. Во всех случаях $auth1 установлен в id аутентификации. Переменная $auth2 всегда будет id авторизации (authz) при его наличии или пустой строкой. Переменная $auth3 всегда будет realm при его наличии или пустой строкой. Принудительный отказ заставит аутентификацию задержать обработку (defer). Используя эту опцию имеет смысл устанавливать server_condition в "true".

server_realm Использование: gsasl Тип: string Значение по умолчанию: не задано

Это указывает SASL realm, в котором находится сервер. Некоторые механизмы будут использовать эти данные.

server_scram_iter Использование: gsasl Тип: string Значение по умолчанию: не задано

Эта опция предоставляет данные семейству SCRAM-механизмов. Во время оценки $auth1 недоступен. Это может измениться.

server_scram_salt Использование: gsasl Тип: string Значение по умолчанию: не задано

Эта опция предоставляет данные семейству SCRAM-механизмов. Во время оценки $auth1 недоступен. Это может измениться.

server_service Использование: gsasl Тип: string Значение по умолчанию: smtp

Это служба SASL, которую реализует сервер. Некоторые механизмы будут использовать эти данные.

37.4.1. gsasl auth-переменные

Они могут быть установлены, оценивая определенные опции, как детализировано выше. Они будут также установлены, оценивая server_condition.

Если иное не заявлено ниже, интеграция gsasl будет использовать следующие значения для этих переменных:

  • $auth1: id аутентификации.

  • $auth2: id авторизации.

  • $auth3: realm.

Теперь по специфике механизмов:

  • EXTERNAL: устанавливает только $auth1 к возможно пустому id авторизации. Опция server_condition должна быть.

  • ANONYMOUS: устанавливает только $auth1 к возможно пустому anonymous token. Опция server_condition должна быть.

  • GSSAPI: $auth1 будет установлена в GSSAPI Display Name. $auth2 будет установлена в id авторизации. Опция server_condition должна быть.

Anonymous token нечто проведенное как незаверенный идентификатор, это походит на анонимную аутентификацию в FTP, передающую адрес электронной почты или software-identifier@ как пароль.

Пример показывает миграцию с Cyrus SASL на GSASL с паролем и realm:

gsasl_cyrusless_crammd5:
  driver = gsasl
  public_name = CRAM-MD5
  server_realm = imap.example.org
  server_password = ${lookup{$auth1:$auth3:userPassword} \
                      dbmjz{/etc/sasldb2}{$value}fail}
  server_set_id = ${quote:$auth1}
  server_condition = yes

Поиск

 

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