| 
 Чтобы реализовать механизм аутентификации SASL клиентов через службу авторизации Cyrus SASL (saslauthd), необходимо выполнить следующие действия: 
1.Настроить и запустить службу аутентификации Cyrus SASL (saslauthd).  2.Выполнить настройку Dr.Web MailD на использование Cyrus SASL (все настройки задаются в секции [SASL] и секции [Cyrus-SASL]): oВключить использование аутентификации SASL и использование драйвера Cyrus SASL:  Use = yes 
Driver = cyrus 
oВ качестве значения параметра Lib указать корректный путь к библиотеке libsasl;  oВ качестве значения параметра Path указать путь к файлу конфигурации аутентификации клиентов сервисом saslauthd. Например: /etc/sasl2/maild (обратите внимание, что расширение файла .conf указывать в параметре не нужно). Этот файл должен быть помещен в тот каталог, из которого saslauthd читает конфигурацию аутентификации. 
  
 | 
Каталог, в котором должен быть расположен конфигурационный фал, зависит от версии Cyrus SASL и используемого дистрибутива ОС. 
•Cyrus SASL версий 2.x пытается найти файл в каталоге /usr/lib/sasl2/  •Cyrus SASL версий 2.1.22 и новее также ищет файл в каталоге /etc/sasl2/  Cyrus SASL в первую очередь ищет файл конфигурации в каталоге /usr/lib/sasl2/. Если она обнаружит файл по этому пути, то другие файлы не будут использоваться. 
 | 
 
 
 
3.Создать и заполнить файл конфигурации аутентификации (в этом примере – /etc/sasl2/maild.conf). Этот файл состоит из строк вида <параметр>: <значение>. Если параметр допускает список значений, то они должны указываться в одну строку, разделенные пробелом. Обязательны следующие параметры: opwcheck_method - Метод проверки пароля (способ аутентификации). Здесь указывается имя модуля, используемого для аутентификации. Возможные значения: 
Значение 
 | 
Используемый источник аутентификации 
 | 
 
saslauthd 
 | 
Непосредственно демон saslauthd 
 | 
 
auxprop 
 | 
Модуль, извлекающий атентификационные данные из внешних хранилищ (базы данных, LDAP) 
 | 
 
 
 
omech_list - Список используемых механизмов аутентификации. Возможные значения: plain, login, cram-md5, digest-md5, ntlm.  Обратите внимание, что если в качестве источника аутентификации выбран неспосредственно saslauthd, то вы можете использовать только механизмы plain и login.  
Демон saslauthd может использовать для аутентификации данные, извлекаемые из системного файла /etc/shadow, а также механизм PAM или данные IMAP-сервера. О настройке saslauthd на работу с конкретным источником см. в документации Cyrus SASL. 
oЕсли требуется использовать для аутентификации данные, хранящиеся в базах данных или в LDAP, следует использовать authprop. В этом случае источник данных указывается в дополнительном параметре auxprop_plugin. Возможные значения параметра: 
Подключаемый модуль 
 | 
Назначение 
 | 
 
sasldb 
 | 
Использование базы данных sasldb (Berkeley DB для Cyrus SASL) 
 | 
 
sql 
 | 
Использование баз данных MySQL, PostgreSQL, SQLite 
 | 
 
ldapdb 
 | 
Использование LDAP 
 | 
 
 
 
В случае указания источника sasldb, путь к базе данных указывается в параметре sasldb_path. По умолчанию, если параметр не указан, используется путь /etc/sasldb2. 
Если указан источник sql, то следующий набор дополнительных параметров определяет использование базы данных: 
Параметр 
 | 
Назначение 
 | 
 
sql_engine 
 | 
Определяет тип используемой СУБД: 
•mysql для подключения к MySQL; •pgsql для подключения к PostgreSQL; •sqlite для подключения к SQLite.  | 
 
sql_hostnames 
 | 
Определяет хост для подключения к серверу СУБД (имя хоста или пару имя:порт). В случае использования нескольких серверов, адреса можно перечислить через запятую. 
Примечание: Для СУБД MySQL укажите localhost для подключения через UNIX-сокет или IP-адрес 127.0.0.1 для подключения через TCP-сокет 
 | 
 
sql_user 
 | 
Имя пользователя для подключения к базе данных 
 | 
 
sql_passwd 
 | 
Пароль пользователя 
 | 
 
sql_database 
 | 
Имя используемой базы данных 
 | 
 
sql_select 
 | 
SQL-оператор SELECT, который должен извлекать из базы данных пароль пользователя в виде plain text. 
Важное примечание: Не заключайте текст SQL-выражения в кавычки, а для указания макросов (см. ниже) используйте апострофы. 
Макросы, предоставляемые для SQL-выражений, представлены ниже. Они будут заменены на значения соответствующих данных, посланных аутентифицируемым клиентом. Доступны следующие макросы: 
•%u - Имя пользователя. •%r - Realm (домен), к которому принадлежит пользователь. Это может быть KERBEROS realm, FQDN хоста, на котором запущен SASL, или почтовый домен (часть почтового адреса, указываемая после символа '@')  | 
 
 
 
Если указан источник ldapdb, то следующий набор дополнительных параметров определяет использование LDAP:  
Параметр 
 | 
Назначение 
 | 
 
ldapdb_uri 
 | 
Используемый URI LDAP. Используйте следующие префиксы: 
•ldapi:// для подключения через UNIX-сокет •ldap:// для подключения через незащищенное TCP-соединение •ldaps:// для использования защищенного TCP-соединения (TLS)  | 
 
ldapdb_id 
 | 
Логин для аутентификации на LDAP-сервере (прокси-авторизация) 
 | 
 
ldapdb_pw 
 | 
Пароль (plain text) для аутентификации на LDAP-сервере (прокси-авторизация) 
 | 
 
ldapdb_mech 
 | 
Механизм аутентификации, используемый сервером LDAP 
 | 
 
ldapdb_rc 
(опционально) 
 | 
Путь к файлу, содержащему индивидуальные настройки клиента LDAP (libldap). Например, в нем можно определить клиентский сертификат TLS, используемый для защищенного подключения. 
 | 
 
ldapdb_starttls 
(опционально) 
 | 
Политика TLS, используемая для подключения к серверу LDAP. Определено два значения – try и demand. 
Если указано try, то модуль попытается установить защищенное соединение, а если эта попытка не увенчается успехом, перейдет в режим незащищенного соединения . Если указано demand, и защищенное соединение установить не удается, соединение с сервером LDAP будет разорвано. 
 | 
 
 
 
Примеры: 
1. Простейшая конфигурация (используется saslauthd): 
pwcheck_method: saslauthd 
mech_list: plain login 
2. Использование sasldb: 
pwcheck_method: authprop 
auxprop_plugin: sasldb 
mech_list: plain login cram-md5 
sasldb_path: /etc/sasldb2  
3. Использование PoslgreSQL: 
pwcheck_method: auxprop 
auxprop_plugin: sql 
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM 
sql_engine: pgsql 
sql_hostnames: 127.0.0.1, 192.0.2.1 
sql_user: username 
sql_passwd: secret 
sql_database: dbname 
sql_select: SELECT password FROM users WHERE user = '%u@%r'  
Обратите внимание, что файл конфигурации аутентификации для Cyrus SASL можно не создавать, тогда будут использоваться настройки аутентификации и источник аутентификационных данных по умолчанию. 
 |