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 или выше.