Специальные типы параметров

В этом разделе подробно рассмотрены следующие специальные типы параметров:

настройки TLS/SSL (TLSSettings)  настройки для работы шифрованного соединения с использованием криптографических протоколов TLS и SSL.

настройки пула (pool options) — настройки пула потоков.

Типы параметров Lookup, LookupLite, Storage рассмотрены в разделе Lookup.

Настройки TLS/SSL

Настройки для работы шифрованного соединения с использованием криптографических протоколов TLS и SSL.

Настройки задаются в формате: НАЗВАНИЕ ЗНАЧЕНИЕ и разделяются запятыми.

Если в качестве ЗНАЧЕНИЯ указан путь к файлу, то он будет зависеть от регистра (по соглашению, принятому для UNIX-побных ОС). В данной версии поддерживаются следующие настройки:

ouse_sslv2 {yes | no}  использовать или не использовать протокол SSLv2. По умолчанию данный протокол отключен, т.к. не является безопасным.

ouse_sslv3 {yes | no}  использовать или не использовать протокол SSLv3. По умолчанию протокол SSLv3 включен.

ouse_tlsv1 {yes | no}  использовать или не использовать протокол TLSv1. По умолчанию протокол TLSv1 включен.

oprivate_key_file {путь к файлу}  абсолютный путь к файлу с закрытым ключом. Ключ должен быть в формате PEM. Поддерживается шифрование ключа. Данный параметр является обязательным для заполнения при настройке серверной части. По умолчанию значение этого параметра не задано.

oprivate_key_password {строка}  пароль для ключа, указанного в параметре private_key_file. По умолчанию значение данного параметра не задано.

ocertificate {путь к файлу}  путь к файлу сертификата с подписанным открытым ключом. Значение данного параметра должно задаваться в паре со значением параметра private_key_file. Данный параметр является обязательным для заполнения для серверной части. По умолчанию значение параметра не задано.

overify_mode {none | peer | client_once | fail_if_no_peer_cert} - задает режим проверки сертификата собеседника. Можно использовать следующие настройки:

none  не проверять сертификат собеседника. Это значение установлено по умолчанию для серверных соединений;

peer  проверять сертификат собеседника. В клиентском режиме эта настройка игнорируется, если при использовании анонимного шифрования серверная сторона не выслала сертификат. Это значение установлено по умолчанию для клиентских соединений;

client_once  для серверной стороны запрашивать сертификат только при установлении соединения (не запрашивать сертификат при повторении процедуры TLS handshake  в рамках уже установленного соединения). Данное значение можно использовать только вместе с настройкой peer.

fail_if_no_peer_cert  для серверной стороны воспринимать отсутствие сертификата у клиента как ошибку. Данное значение можно использовать только вместе с настройкой peer.

Примеры:

verify_mode peer, verify_mode client_once
verify_mode none

Если peer и none встречаются в одном наборе настроек, то используется последнее указанное значение.

overify_ca {путь к файлу}  абсолютный путь к файлу, где находятся CA-сертификаты в PEM-формате. Данные сертификаты используются при проверке валидности сертификата собеседника.

ocipher_list {строка}  список разрешенных алгоритмов шифрования. Формат списка алгоритмов шифрования можно узнать по команде man ciphers (для этого должен быть установлен OpenSSL).

Настройки пула (pool options)

Имеют комбинированный вид. Параметры настройки перечисляются через запятую

Первым определяется количество потоков в пуле:

oauto  количество потоков определяется автоматически в зависимости от загрузки системы;

o целое положительное число. В пуле всегда будет присутствовать ровно N активных потоков;

oN-M  целые положительное значения, и M N. В пуле, в зависимости от нагрузки, будет активно не менее N и не более M потоков (если требуется обеспечить неизменное число потоков, установите M = N).

Далее определяются дополнительные параметры:

otimeout = {время}  если поток не становится активным в течение заданного периода времени, поток закрывается. Этот параметр не влияет на первые N потоков (ожидающих запросов бесконечно). Значение по умолчанию: 2m

ostat = {yes|no}  сбор статистики по потокам в пуле. Статистика сохраняется при получении системного сигнала SIGUSR1 и при завершении работы Dr.Web MailD в специальном файле в каталоге, определенном значением параметра BaseDir секции [General]. Значение по умолчанию: no

olog_level  уровень подробности журнала для потоков в пуле. Если значение не задано, используется значение параметра LogLevel секции [Logging].

ostop_timeout = {время}  максимальное время ожидания остановки работающего потока (например при завершении работы программы или когда требуется уменьшить число потоков в пуле).

Пример:

InPoolOptions = auto

В данном примере число потоков определяется автоматически, внутренняя статистика по потокам в пуле не ведется (если это не Receiver или Sender, поскольку для них она ведется всегда).

Пример: (для Notifier)

PoolOptions = 25, stat=yes

В данном примере число потоков в пуле потоков всегда ровно 25, внутренняя статистика по потокам в пуле ведется.

warning

Для компонентов Sender и Receiver значение auto эквивалентно значению 2-500, а для прочих компонентов Dr.Web MailD оно эквивалентно значению 2-1000. Следует с осторожностью изменять количества потоков в пулах. Подробнее об этом см. в разделе Оптимизация работы и использования системных ресурсов.

Для компонентов Sender и Receiver дополнительные параметры пула (такие как timeout, stat и т.п.) не задаются, а если заданы, то не имеют никакого эффекта, так как Sender и Receiver всегда осуществляют сбор статистики по своим пулам потоков.