Шифрование SSL
ADB Control
Для установки защищенного соединения между web-сервером ADB Control и клиентами можно использовать протокол HTTPS, поддерживающий технологию шифрования SSL. Для настройки доступа к ADB Control через HTTPS выполните следующие шаги:
-
Откройте конфигурационную страницу сервиса ADB Control в ADCM.
-
Установите флаг Show advanced.
-
Переведите переключатель SSL в активное состояние.
-
Заполните следующие поля, если вы планируете использовать собственные сертификаты.
ВАЖНОЕсли настройки не будут заполнены, ADB Control создаст сертификаты самостоятельно.
Параметр Описание Значение по умолчанию CA certificate
Содержимое сертификата центра сертификации (Certificate Authoruty, CA) в формате CRT (файл *.crt)
—
Server certificate
Содержимое серверного сертификата в формате CRT (файл *.crt)
—
Server private key
Содержимое серверного приватного ключа (файл *.key)
—
Verify system endpoints' certificates
Флаг, определяющий необходимость проверки сертификатов системных конечных точек.
Перед использованием опции Verify system endpoints' certificates в конфигурации ADB Control с самоподписанными (self-signed) сертификатами убедитесь, что в хранилище доверенных корневых сертификатов ОС добавлены корневой и промежуточные CA-сертификаты.
Чтобы использовать опцию Verify system endpoints' certificates с вашими собственными сертификатами, для успешной верификации добавьте IP-адрес ADB Control в поле
CN
файла san.cnf (SAN
), а также исключите DNS из секцииalt_names
(оставив только IP)false
Server JKS keystore path
Путь к keystore-файлу в формате JKS для серверной части ADB Control. Например, /opt/adcc/ssl/keystore.jks
—
Server JKS keystore password
Пароль для доступа к keystore-файлу
Server JKS keystore path
—
Server JKS truststore path
Путь к truststore-файлу в формате JKS для серверной части ADB Control. Например, /opt/adcc/ssl/truststore.jks
—
Server JKS truststore password
Пароль для доступа к truststore-файлу
Server JKS truststore path
—
Client JKS keystore path
Путь к keystore-файлу в формате JKS для клиентской части ADB Control (агентов ADB Control/ADBM). Например, /opt/ssl/keystore.jks
—
Client JKS keystore password
Пароль для доступа к keystore-файлу
Client JKS keystore path
—
Client JKS truststore path
Путь к truststore-файлу в формате JKS для клиентской части ADB Control (агентов ADB Control/ADBM). Например, /opt/ssl/truststore.jks
—
Client JKS truststore password
Пароль для доступа к truststore-файлу
Client JKS truststore path
—
Заполнение параметров SSLРЕКОМЕНДАЦИЯ-
Файлы adcc_ca.crt, adcc.crt и adcc.key автоматически создаются на хосте, где развернут сервис ADB Control. По умолчанию они расположены в директории /opt/adcc/ssl. Эти файлы можно использовать исключительно для целей тестирования.
-
В production-системах необходим доверенный центр сертификации (Certificate Authority, CA) для подписи сертификатов. Для создания и регистрации SSL-сертификатов можно использовать утилиту openssl.
-
В случае расширения кластера ADB необходимо перегенерировать сертификаты, чтобы добавить соответствующие
ServerAltNames
для новых хостов. -
При подключении внешнего кластера ADB для мониторинга в ADB Control, где настроено использование SSL, необходимо указать сертификаты с
ServerAltNames
хостов обоих кластеров в настройках основного и внешнего кластера ADB.
-
-
Нажмите Save.
-
Примените действие Reconfigure & Restart к сервису ADB Control.
Применение изменений
После успешного выполнения описанных выше шагов порт сервера ADB Control (по умолчанию 81
) будет использоваться для SSL-соединения. Адрес подключения будет выглядеть следующим образом: https://<ADB Control IP address>:81.
Внешние базы данных
Начиная с версии ADB Control 4.11.0 в случае включения SSL описанным выше способом SSL-шифрование автоматически используется при подключении к внутренним базам данных ADB Control и ADBM. Если в ADB Control используются внешние базы данных Metrics DB (ClickHouse), Query DB (PostgreSQL) или Offload DB (PostgreSQL) и/или в ADBM используется внешняя PostgreSQL, необходимо дополнительно выполнить настройку SSL-шифрования на их стороне.
PostgreSQL
-
Укажите следующие параметры в файле postgresql.conf:
ssl = on ssl_cert_file = '<server_crt_path>' ssl_key_file = '<server_key_path>'
где:
-
<server_crt_path>
— путь к серверному сертификату на стороне PostgreSQL. Например, /pg_data1/adpg14/server.crt. -
<server_key_path>
— путь к серверному приватному ключу на стороне PostgreSQL. Например, /pg_data1/adpg14/server.key.
-
-
Добавьте строку следующего вида в файл ph_hba.conf:
hostssl all all 0.0.0.0/0 md5
-
Перезагрузите PostgreSQL для применения настроек.
-
Чтобы убедиться в успешном включении SSL, можно подключиться к серверу PostgreSQL с помощью
psql
, указав в опции-U
имя пользователя, в опции-d
— название БД, в опции-h
— адрес хоста:$ psql -U adcc -d metrics -h 10.92.41.125
После ввода пароля пользователя на экране должна отобразиться следующая информация:
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
-
Выполните стандартные действия по настройке внешней базы данных PostgreSQL в ADB Control или ADBM. Для настройки Offload DB обратитесь к разделу Настройка политик запуска задач → Metrics offload.
ВАЖНО
|
ClickHouse
С подробной инструкцией по настройке SSL можно ознакомиться в документации ClickHouse. Ниже приведены минимальные настройки:
-
Внесите следующие изменения в серверный конфигурационный файл config.xml на каждой ноде кластера ClickHouse:
-
Сделайте доступными HTTPS-порты и отключите HTTP-порты:
<https_port>8443</https_port> <!--<http_port>8123</http_port>--> <interserver_https_port>9010</interserver_https_port> <!--<interserver_http_port>9009</interserver_http_port>-->
-
Настройте секцию
OpenSSL
следующим образом:<openSSL> <server> <certificateFile>/etc/clickhouse-server/certs/server.crt</certificateFile> <privateKeyFile>/etc/clickhouse-server/certs/server.key</privateKeyFile> <verificationMode>relaxed</verificationMode> <caConfig>/etc/clickhouse-server/certs/ca.crt</caConfig> <cacheSessions>true</cacheSessions> <disableProtocols>sslv2,sslv3</disableProtocols> <preferServerCiphers>true</preferServerCiphers> </server> <client> <loadDefaultCAFile>false</loadDefaultCAFile> <caConfig>/etc/clickhouse-server/certs/ca.crt</caConfig> <cacheSessions>true</cacheSessions> <disableProtocols>sslv2,sslv3</disableProtocols> <preferServerCiphers>true</preferServerCiphers> <verificationMode>relaxed</verificationMode> <invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler> </client> </openSSL>
где используются следующие пути, которые могут отличаться в вашем окружении:
-
/etc/clickhouse-server/certs/server.crt — путь к серверному сертификату на стороне ClickHouse.
-
/etc/clickhouse-server/certs/server.key — путь к серверному приватному ключу на стороне ClickHouse.
-
/etc/clickhouse-server/certs/ca.crt — путь к сертификату центра сертификации (Certificate Authority, CA) на стороне ClickHouse.
-
-
-
Перезагрузите ClickHouse для применения настроек.
-
Выполните стандартные действия по настройке внешней базы данных ClickHouse в ADB Control
ВАЖНО
Сертификат и ключ, указываемые в полях |