Настройка TLS для OpenSearch Dashboards

По умолчанию, для упрощения тестирования и начала работы, OpenSearch Dashboards работает по протоколу HTTP. Чтобы включить TLS для HTTPS, обновите следующие настройки в файле opensearch_dashboards.yml.
НастройкаОписание
server.ssl.enabledВключает SSL-соединение между сервером OpenSearch Dashboards и веб-браузером пользователя. Установите значение true для HTTPS или false для HTTP.
server.ssl.supportedProtocolsУказывает массив поддерживаемых протоколов TLS. Возможные значения: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. По умолчанию: ['TLSv1.1', 'TLSv1.2', 'TLSv1.3'].
server.ssl.cipherSuitesУказывает массив шифров TLS. Необязательная настройка.
server.ssl.certificateЕсли server.ssl.enabled установлено в true, указывает полный путь к действительному сертификату сервера Privacy Enhanced Mail (PEM) для OpenSearch Dashboards. Вы можете сгенерировать свой сертификат или получить его у центра сертификации (CA).
server.ssl.keyЕсли server.ssl.enabled установлено в true, указывает полный путь к ключу для вашего серверного сертификата, например, /usr/share/opensearch-dashboards-1.0.0/config/my-client-cert-key.pem. Вы можете сгенерировать свой сертификат или получить его у CA.
server.ssl.keyPassphraseУстанавливает пароль для ключа. Удалите эту настройку, если у ключа нет пароля. Необязательная настройка.
server.ssl.keystore.pathИспользует файл JKS (Java KeyStore) или PKCS12/PFX (Public-Key Cryptography Standards) вместо сертификата и ключа PEM.
server.ssl.keystore.passwordУстанавливает пароль для хранилища ключей. Обязательная настройка.
server.ssl.clientAuthenticationУказывает режим аутентификации клиента TLS. Может быть одним из следующих: none, optional или required. Если установлено в required, ваш веб-браузер должен отправить действительный клиентский сертификат, подписанный CA, настроенным в server.ssl.certificateAuthorities. По умолчанию: none.
server.ssl.certificateAuthoritiesУказывает полный путь к одному или нескольким сертификатам CA в массиве, которые выдают сертификат, используемый для аутентификации клиента. Обязательная настройка, если server.ssl.clientAuthentication установлено в optional или required.
server.ssl.truststore.pathИспользует файл JKS или PKCS12/PFX trust store вместо сертификатов CA PEM.
server.ssl.truststore.passwordУстанавливает пароль для trust store. Обязательная настройка.
opensearch.ssl.verificationModeУстанавливает связь между OpenSearch и OpenSearch Dashboards. Допустимые значения: full, certificate или none. Рекомендуется использовать full, если TLS включен, что включает проверку имени хоста. certificate проверяет сертификат, но не имя хоста. none не выполняет никаких проверок (подходит для HTTP). По умолчанию: full.
opensearch.ssl.certificateAuthoritiesЕсли opensearch.ssl.verificationMode установлено в full или certificate, указывает полный путь к одному или нескольким сертификатам CA в массиве, которые составляют доверенную цепочку для кластера OpenSearch. Например, вам может потребоваться включить корневой CA и промежуточный CA, если вы использовали промежуточный CA для выдачи ваших сертификатов администратора, клиента и узла.
opensearch.ssl.truststore.pathИспользует файл trust store JKS или PKCS12/PFX вместо сертификатов CA PEM.
opensearch.ssl.truststore.passwordУстанавливает пароль для trust store. Обязательная настройка.
opensearch.ssl.alwaysPresentCertificateОтправляет клиентский сертификат в кластер OpenSearch, если установлено значение true, что необходимо, когда mTLS включен в OpenSearch. По умолчанию: false.
opensearch.ssl.certificateЕсли opensearch.ssl.alwaysPresentCertificate установлено в true, указывает полный путь к действительному клиентскому сертификату для кластера OpenSearch. Вы можете сгенерировать свой сертификат или получить его у CA.
opensearch.ssl.keyЕсли opensearch.ssl.alwaysPresentCertificate установлено в true, указывает полный путь к ключу для клиентского сертификата. Вы можете сгенерировать свой сертификат или получить его у CA.
opensearch.ssl.keyPassphraseУстанавливает пароль для ключа. Удалите эту настройку, если у ключа нет пароля. Необязательная настройка.
opensearch.ssl.keystore.pathИспользует файл хранилища ключей JKS или PKCS12/PFX вместо сертификата и ключа PEM.
opensearch.ssl.keystore.passwordУстанавливает пароль для хранилища ключей. Обязательная настройка.
opensearch_security.cookie.secureЕсли TLS включен для OpenSearch Dashboards, измените эту настройку на true. Для HTTP установите значение false.

Пример конфигурации opensearch_dashboards.yml

Следующая конфигурация opensearch_dashboards.yml показывает, как OpenSearch и OpenSearch Dashboards могут работать на одной машине с демонстрационной конфигурацией:

server.host: '0.0.0.0'
server.ssl.enabled: true
server.ssl.certificate: /usr/share/opensearch-dashboards/config/client-cert.pem
server.ssl.key: /usr/share/opensearch-dashboards/config/client-cert-key.pem
opensearch.hosts: ["https://localhost:9200"]
opensearch.ssl.verificationMode: full
opensearch.ssl.certificateAuthorities: [ "/usr/share/opensearch-dashboards/config/root-ca.pem", "/usr/share/opensearch-dashboards/config/intermediate-ca.pem" ]
opensearch.username: "kibanaserver"
opensearch.password: "kibanaserver"
opensearch.requestHeadersAllowlist: [ authorization,securitytenant ]
opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"]
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
opensearch_security.cookie.secure: true

Если вы используете опцию установки через Docker, вы можете передать пользовательский файл opensearch_dashboards.yml в контейнер. Чтобы узнать больше, посетите страницу установки Docker.

После включения этих настроек и запуска приложения вы можете подключиться к OpenSearch Dashboards по адресу https://localhost:5601. Возможно, вам потребуется подтвердить предупреждение браузера, если ваши сертификаты самоподписанные. Чтобы избежать такого предупреждения (или полной несовместимости с браузером), рекомендуется использовать сертификаты от доверенного центра сертификации (CA).