Настройка 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).