Пaраметр listen#
Настройка поддержки https соединений с SOWA осуществляется в рамках группы ssl. Если группа ssl не задана, то используется обычное http соединение.
Обязательные параметры:
certificate
В значении параметра указывается имя сертификата, который будет использоваться для ssl/tls соединения. Значение параметра не должно содержать указатель на родительский каталог и абсолютный путь.
certificate: cert_nameСертификат должен быть помещен в каталог с ресурсами для профиля.
/sowa/profile_storage/custom/*profile_name*/Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
certificate_key
В значении параметра указывается имя приватного ключа сертификата, который будет использоваться для ssl/tls соединения. Значение параметра не должно содержать указатель на родительский каталог и абсолютный путь.
certificate_key: private_key_nameПриватный ключ сертификата должен быть помещен в каталог с ресурсами для профиля.
/sowa/profile_storage/custom/*profile_name*/Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
Опциональные параметры:
sspi
Вкл./Откл. режим GOST TLS.
Тип параметра:
true;
false.
По умолчанию:
sspi: falsessl_verify_local_crl_only
В случае режима GOST определяет, проверять ли статус сертификата локально (иначе проверка осуществляется онлайн).
Тип параметра: строковое значение.
on;
off.
Используется в случае:
sspi is not None;
sspi == True.
По умолчанию:
ssl_verify_local_crl_only: offbuffer_size
В случае режима GOST задает длину полезной нагрузки в записи TLS.
Тип параметра: текстовое значение.
min: 1024;
max: 16384.
Используется в случае:
sspi is not None;
sspi == True.
По умолчанию:
buffer_size: 16384password_file
В значении параметра указывается имя файла-пароля с секретными ключами для certificate_key.
Файл-пароль должен быть помещен в каталог с ресурсами для профиля.
/sowa/profile_storage/custom/*profile_name*/Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
client_certificate
В значении параметра указывается имя файла сертификатов доверенных CA, используемых для проверки клиентских сертификатов.
В текущей версии маппится "как есть" на опцию https://nginx.org/ru/docs/http/ngx_http_ssl_module.html#ssl_client_certificate
Сертификат клиента должен быть помещен в каталог с ресурсами для профиля.
/sowa/profile_storage/custom/*profile_name*/Файл клиентского сертификата может содержать в себе несколько сертификатов. Объединение сертификатов можно произвести с помощью команды cat.
Обязательно в случае:
verify_client: "on";
verify_client: "optional";
verify_client: "optional_no_ca".
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
verify_client
В значении параметра определяется необходимость проверки клиентских сертификатов на факт их выдачи доверенными CA (параметр client_certificate)
В текущей версии маппится "как есть" на опцию https://nginx.org/ru/docs/http/ngx_http_ssl_module.html#ssl_verify_client
Осуществляется запрос клиентского сертификата и проверка, если сертификат был предоставлен в случае использования:
verify_client: "on";
verify_client: "optional".
Осуществляется запрос клиентского сертификата. При этом не требуется, чтобы он был подписан доверенным сертификатом CA в случае использования:
verify_client: "optional_no_ca".
Тип параметра:
"off";
"on";
"optional";
"optional_no_ca".
По умолчанию:
verify_client: "off"verify_dn_trusted_path
В значении параметра включается проверка DN сертификата клиента. Для проверки используется файл. DN сертификата клиента проверяется на соответствие регулярным выражениям из файла. DN файла должен быть представлен в формате openssl (пример - /C=RU/ST=Samara/L=Samara/O=MyCompany/OU=SBT/CN=sbt-opbs-0004, команда для вывода данной информации - openssl x509 -inform PEM -in certname -subject). В случае, если необходима только проверка CN, задавать регулярное выражение вида .*/CN=sbt-opbs-0004.
В случае невалидности вернется статус-код, указанный в verify_dn_error_code (verify_client_error_code) (400 по умолчанию). Однако, для разделения ошибок, связанных с валидацией сертификатов, внутренний код возврата - 495.
Файл должен быть помещен в каталог с ресурсами для профиля.
/sowa/profile_storage/custom/*profile_name*/Используется в случае:
verify_client: "on";
verify_client: "optional";
verify_client: "optional_no_ca".
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
verify_dn_error_code
verify_client_error_code
В значении параметра задается код ответа, который будет возвращен пользователю, если в результате проверки сертификат клиента невалиден.
Используется в случае:
verify_dn_trusted_path is not None.
Тип параметра: целочисленное значение.
По умолчанию:
verify_dn_error_code: 495verify_client_error_code: 495verify_fingerprint_trusted_path
В значении параметра включается проверка фингерпринтинга. Значение параметра используется для сопоставления фингерпринтинга из файла с фингерпринтингом сертификата клиента.
В случае невалидности вернется статус-код, указанный в verify_client_error_code (400 по умолчанию). Однако, для разделения ошибок, связанных с валидацией сертификатов, внутренний код возврата - 495.
Используется в случае:
verify_client: "on";
verify_client: "optional";
verify_client: "optional_no_ca".
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
verify_depth
В значении параметра устанавливается глубина проверки в цепочке клиентских сертификатов.
Используется в случае:
verify_client: "on";
verify_client: "optional";
verify_client: "optional_no_ca".
Тип параметра: целочисленное значение.
По умолчанию:
verify_depth: 1protocols
В значении параметра задается список разрешенных протоколов.
Значения параметра protocols должны быть уникальным.
Тип параметра:
SSLv2;
SSLv3;
TLSv1;
TLSv1.1;
TLSv1.2;
TLSv1.3.
По умолчанию для RSA:
protocols: - TLSv1 - TLSv1.1 - TLSv1.2По умолчанию для GOST:
protocols: - TLSv1ciphers
В последовательности ciphers описываются разрешенные и доступные шифры.
Более подробную информацию с описанием шифров и префиксов можно найти в документации OpenSSL.
Тип параметра: последовательность параметров и их значения.
По умолчанию:
ciphers: - value: - "HIGH" - prefix: "!" value: - "aNULL" - prefix: "!" value: - "MD5"Обязательные параметры:
value
Используемое значение.
Значение должно быть уникальным.
Тип параметра: возможные значения приведены в разделе "Допустимые значения Ciphers_listen".
По умолчанию: не имеет значения по умолчанию.
Опциональные параметры:
prefix
Используемый префикс.
Тип параметра:
"!";
"+";
"-".
По умолчанию: не имеет значения по умолчанию.
dhparam
В значении параметра указывается файл с параметрами DHE - шифрования. По умолчанию файл не указан и DHE - шифрование не используется.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ciphers_str
В значении параметра указывается строка с шифрами.
Используется в случае:
ciphers is None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
session_timeout
В значении параметра указывается таймаут сессии ssl/tls.
Тип параметра: текстовое значение с суффиксом:
ms - миллисекунда;
s - секунда;
m - минута;
h - час;
d - день;
w - неделя;
M - месяц (30 дней);
y - год (365 дней).
По умолчанию:
session_timeout: 10msession_cache
В значении параметра определяется размер кэша для ssl/tls сессии.
Тип параметра: группа параметров и их значения.
По умолчанию: значение по умолчанию оценивается автоматически.
Обязательные параметры:
type
В значении параметра определяется тип размера кэша.
Значение параметра type должно быть уникальным.
Тип параметра: строковое значение.
off - жесткое запрещение использования кэша сессий: nginx явно сообщает клиенту, что сессии не могут использоваться повторно;
none - мягкое запрещение использования кэша сессий: nginx сообщает клиенту, что сессии могут использоваться повторно, но на самом деле не хранит параметры сессии в кэше;
builtin - встроенный в OpenSSL кэш, используется в рамках только одного рабочего процесса. Размер кэша задается в сессиях. Если размер не задан, то он равен 20480 сессиям. Использование встроенного кэша может вести к фрагментации памяти;
shared - кэш, разделяемый между всеми рабочими процессами. Размер кэша задается в байтах, в 1 мегабайт может поместиться около 4000 сессий. У каждого разделяемого кэша должно быть произвольное название. Кэш с одинаковым названием может использоваться в нескольких виртуальных серверах.
По умолчанию: не имеет значения по умолчанию.
name
В значении параметра указывается имя размера.
Используется в случае:
type: shared.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
size
В значении параметра указывается величина размера.
Используется в случае:
type: builtin;
type: shared.
Тип параметра: текстовое значение с суффиксом:
число без суффикса - байты;
k / K - килобайты;
m / M - мегабайты.
По умолчанию: не имеет значения по умолчанию.
allow_http2
Разрешает прием соединений по протоколу http2.
Тип параметра:
true;
false.
По умолчанию: false.
http2_only
Включение ограничения приема входящих соединений только по протоколу http2.
Тип параметра:
on;
off.
По умолчанию: off.
Дoпустимые значения Ciphers_listen#
Допустимые значения полностью копируют cipher проекта OpenSSL. Возможные значения приведены ниже:
'@STRENGTH'
'3DES'
'aDH'
'ADH'
'aDSS'
'aECDH'
'AECDH'
'aECDSA'
'AES'
'AES128'
'AES256'
'AESGCM'
'aFZA'
'aGOST'
'aGOST01'
'aGOST94'
'ALL'
'aNULL'
'aRSA'
'CAMELLIA'
'CAMELLIA128'
'CAMELLIA256'
'COMPLEMENTOFALL'
'COMPLEMENTOFDEFAULT'
'DEFAULT'
'DES'
'DH'
'DHE'
'DSS'
'ECDH'
'ECDHE'
'ECDSA'
'EDH'
'EECDH'
'eFZA'
'eNULL'
'EXP'
'EXPORT'
'EXPORT40'
'EXPORT56'
'FZA'
'GOST89MAC'
'GOST94'
'HIGH'
'IDEA'
'kDH'
'kDHd'
'kDHE'
'kDHr'
'kECDH'
'kECDHE'
'kECDHe'
'kECDHr'
'kEDH'
'kEECDH'
'kFZA'
'kGOST'
'kRSA'
'LOW'
'MD5'
'MEDIUM'
'NULL'
'NULL-SHA256'
'PSK'
'RC2'
'RC4'
'RSA'
'SEED'
'SHA'
'SHA1'
'SHA256'
'SHA384'
'SSLv2'
'SSLv3'
'SUITEB128'
'SUITEB128ONLY'
'SUITEB192'
'TLSv1'
'TLSv1.2'