Перейти к основному содержимому
Версия: 2.0.x

SSL-аутентификация

Начиная с версии v1.5.2, Selena поддерживает безопасные соединения, зашифрованные с помощью SSL. В отличие от традиционных незашифрованных соединений с СУБД, соединения SSL обеспечивают проверку конечных точек и шифрование данных, гарантируя, что данные, передаваемые между клиентами и Selena, не могут быть прочитаны неавторизованными пользователями.

Включение SSL-аутентификации

Настройка FE-узлов

Чтобы включить SSL-аутентификацию в Selena, настройте следующие параметры в конфигурационном файле FE fe.conf:

  • ssl_keystore_location: Указывает путь к файлу keystore, который хранит SSL-сертификат и ключ.
  • ssl_keystore_password: Пароль для доступа к файлу keystore. Selena требует этот пароль для чтения файла keystore.
  • ssl_key_password: Пароль для доступа к ключу. Selena требует этот пароль для извлечения ключа из keystore.
  • ssl_force_secure_transport: Принудительно использовать SSL-аутентификацию. Значение по умолчанию: FALSE. Если этот параметр установлен в TRUE, система будет отклонять соединения, не зашифрованные с помощью SSL.

Пример:

ssl_keystore_location = // Путь к файлу keystore
ssl_keystore_password = // Пароль для файла keystore
ssl_key_password = // Пароль для доступа к ключу

Генерация SSL-сертификата

В production-среде рекомендуется использовать сертификаты, предоставленные центрами сертификации.

В среде разработки вы можете сгенерировать пользовательский SSL-сертификат. Используйте следующую команду для генерации SSL-сертификата:

keytool -genkeypair -alias selena \
-keypass <ssl_key_password> \
-keyalg RSA -keysize 1024 -validity 365 \
-keystore <ssl_keystore_location> \
-storepass <ssl_keystore_password>

Параметры:

  • -keypass: Пароль ключа, соответствует ssl_key_password в fe.conf.
  • -storepass: Пароль файла keystore, соответствует ssl_keystore_password в fe.conf.
  • -keystore: Путь хранения файла keystore, соответствует ssl_keystore_location в fe.conf.

Включение SSL на клиенте

Selena совместима с протоколом MySQL. Для клиентов MySQL SSL-аутентификация включена по умолчанию.

Для JDBC-соединений добавьте следующие опции:

useSSL=true
verifyServerCertificate=false

Отключение SSL-аутентификации

Чтобы отключить SSL-аутентификацию, выполните следующие шаги:

  • Клиент MySQL: Добавьте опцию --ssl-mode=DISABLED.
  • JDBC: Удалите useSSL=true и verifyServerCertificate=false.

LDAP-аутентификация

См. Методы аутентификации для подробных инструкций по включению LDAP-аутентификации.

Для JDBC-соединений, поскольку Selena поддерживает SSL-аутентификацию, вам не нужно настраивать пользовательский AuthPlugin. Вы можете использовать встроенный MysqlClearPasswordPlugin.

  • При использовании JDBC 5 с LDAP-аутентификацией настройте следующие параметры:

    authenticationPlugins: com.mysql.jdbc.authentication.MysqlClearPasswordPlugin
    defaultAuthenticationPlugin: com.mysql.jdbc.authentication.MysqlClearPasswordPlugin
    disabledAuthenticationPlugins: com.mysql.jdbc.authentication.MysqlNativePasswordPlugin
  • При использовании JDBC 8 с LDAP-аутентификацией настройте следующие параметры:

    authenticationPlugins: com.mysql.cj.protocol.a.authentication.MysqlClearPasswordPlugin
    defaultAuthenticationPlugin: com.mysql.cj.protocol.a.authentication.MysqlClearPasswordPlugin
    disabledAuthenticationPlugins: com.mysql.cj.protocol.a.authentication.MysqlNativePasswordPlugin

FAQ

Q1: При подключении к Selena с использованием DBeaver возвращается ошибка "Unable to load authentication plugin 'mysql_native_password'".

A: Вам необходимо обновить JDBC 5 до версии 5.1.46 или выше.