Настроить SSL в API

За настройки SSL-шифрования отвечают опции модуля LBcore. Изменять опции нужно с помощью SQL-запросов:

mysql> insert into options (name,descr,value) values ('Опция','Описание','Значение');

Настройки

Основные

  • soap_enc_ssl — установите значение «1», чтобы включить SSL-шифрование.

  • soap_ssl_key_path — укажите путь к PEM-файлу, который состоит из открытого ключа и зашифрованного закрытого ключа.

Дополнительные

  • soap_ssl_password — задайте пароль к закрытом ключу, если он отличается от «billing». Незашифрованные закрытые ключи система не поддерживает.

  • soap_enc_strong_ssl — отключите использование протоколов SSL2, SSL3, TLS 1.0, TLS 1.1, а также шифра RC4.

  • soap_ssl_ciphers — задайте список шифров, разделяя их двоеточием. Список доступных значений можно посмотреть в документации OpenSSL в разделе «CIPHER STRINGS».

  • soap_dh_file_path — укажите путь к файлу настройки обмена ключами по протоколу Диффи-Хеллмана.

Пример конфигурации БД

mysql> select name,concat('"',value,'"') from options where name like '%ssl%'\G
*************************** 1. row ***************************
name: soap_enc_ssl
concat('"',value,'"'): "1"
*************************** 2. row ***************************
name: soap_enc_strong_ssl
concat('"',value,'"'): "1"
*************************** 3. row ***************************
name: soap_ssl_ciphers
concat('"',value,'"'): "TLSv1.2:!eNULL"
*************************** 4. row ***************************
name: soap_ssl_key_password
concat('"',value,'"'): "4VpJvy"
*************************** 5. row ***************************
name: soap_ssl_key_path
concat('"',value,'"'): "/etc/pki/tls/certs/lb_soap_ssl_srv.crt"
5 rows in set (0.00 sec)

mysql> select name,concat('"',value,'"') from options where name like '%dh%'\G
*************************** 1. row ***************************
name: soap_dh_file_path
concat('"',value,'"'): "/etc/pki/tls/certs/dhparam4096.pem"
1 row in set (0.00 sec)

Аутентификация клиентских подключений по TLS-сертификатам

Есть два варианта.

  • В опции soap_require_client_auth включите проверку TLS-сертификатов, которые будут использоваться для аутентификации клиентских подключений к LBcore. После этого в опции soap_ca_cert_filename укажите путь к PEM-файлу с сертификатами.

  • В опции soap_ca_certs_directory укажите путь к директории, в которой в особом виде лежат доверенные TLS-сертификаты. Этой опции соответствует параметр CApath в OpenSSL-утилитe verify. Описание сертификатов можно посмотреть в документации к этой утилите в разделе «COMMAND OPTIONS».