17.6.2 Поддержка Secure Socket Layer (SSL) в Group Replication
Связи групповой коммуникации, а также связи восстановления, защищены с помощью SSL. В следующих разделах объясняется, как настроить соединения.
Настройка SSL для восстановления Group Replication
Восстановление выполняется через обычное асинхронное соединение репликации. После выбора донора сервер, присоединяющийся к группе, устанавливает асинхронное соединение репликации. Всё это происходит автоматически.
Однако, пользователю, которому требуется соединение SSL, необходимо было создать пользователя до того, как сервер присоединился к группе. Обычно это настраивается во время подготовки сервера к присоединению к группе.
donor> SET SQL_LOG_BIN=0;
donor> CREATE USER 'rec_ssl_user'@'%' REQUIRE SSL;
donor> GRANT replication slave ON *.* TO 'rec_ssl_user'@'%';
donor> SET SQL_LOG_BIN=1;Предполагая, что у всех серверов, уже входящих в группу, настроен пользователь репликации для использования SSL, вы настраиваете сервер, присоединяющийся к группе, на использование этих учетных данных при подключении к донору. Это делается в соответствии со значениями параметров SSL, предоставляемых плагином Group Replication.
new_member> SET GLOBAL group_replication_recovery_use_ssl=1;
new_member> SET GLOBAL group_replication_recovery_ssl_ca= '.../cacert.pem';
new_member> SET GLOBAL group_replication_recovery_ssl_cert= '.../client-cert.pem';
new_member> SET GLOBAL group_replication_recovery_ssl_key= '.../client-key.pem';И настройка канала восстановления для использования учетных данных пользователя, которому требуется соединение SSL.
new_member> CHANGE MASTER TO MASTER_USER="rec_ssl_user" FOR CHANNEL "group_replication_recovery";
new_member> START GROUP_REPLICATION;Настройка SSL для групповой коммуникации
Для установления связи между членами группы могут использоваться защищенные сокеты. Настройка зависит от конфигурации SSL сервера. Таким образом, если на сервере настроена SSL, плагин Group Replication также настроен на SSL. Для получения дополнительной информации о настройке SSL сервера см. Параметры команд для зашифрованных соединений. Параметры, настраивающие Group Replication, показаны в следующей таблице.
Таблица 17.2 Параметры SSL
Конфигурация сервера | Описание конфигурации плагина |
|---|---|
ssl_key | Путь к файлу ключа. Используется в качестве сертификата клиента и сервера. |
ssl_cert | Путь к файлу сертификата. Используется в качестве сертификата клиента и сервера. |
ssl_ca | Путь к файлу с авторитетами сертификации SSL, которым доверяют. |
ssl_capath | Путь к каталогу, содержащему сертификаты авторитетов сертификации SSL, которым доверяют. |
ssl_crl | Путь к файлу, содержащему списки отзыва сертификатов. |
ssl_crlpath | Путь к каталогу, содержащему списки отозванных сертификатов. |
ssl_cipher | Разрешенные шифры для шифрования данных по соединению. |
tls_version | Защищенное соединение использует эту версию и её протоколы. |
Эти параметры являются параметрами конфигурации MySQL Server, на которых Group Replication основывается для своей конфигурации. Кроме того, есть следующий параметр Group Replication для настройки SSL в самом плагине.
group_replication_ssl_mode- определяет состояние безопасности соединения между членами Group Replication.
Таблица 17.3 Значения конфигурации group_replication_ssl_mode
Значение | Описание |
|---|---|
DISABLED | Установить незащищенное соединение (по умолчанию). |
REQUIRED | Установить защищенное соединение, если сервер поддерживает защищенные соединения. |
VERIFY_CA | Как REQUIRED, но дополнительно проверяет сертификат TLS сервера на соответствие с настроенными сертификатами Центра сертификации (CA). |
VERIFY_IDENTITY | Как VERIFY_CA, но дополнительно проверяет, соответствует ли сертификат сервера хосту, к которому осуществляется подключение. |
Следующий пример показывает пример раздела my.cnf, используемого для настройки SSL на сервере и активации его для Group Replication.
[mysqld]
ssl_ca = "cacert.pem"
ssl_capath = "/.../ca_directory"
ssl_cert = "server-cert.pem"
ssl_cipher = "DHE-RSA-AEs256-SHA"
ssl_crl = "crl-server-revoked.crl"
ssl_crlpath = "/.../crl_directory"
ssl_key = "server-key.pem"
group_replication_ssl_mode= REQUIREDЕдинственный параметр конфигурации плагина, который указан, это group_replication_ssl_mode. Этот параметр активирует SSL-связь между членами группы, настроив фреймворк SSL с параметрами ssl_*, которые предоставляются серверу.
© 2025 Oracle
Licensed under the GPLv2 License.