Spec-Zone.ru › MariaDB

Защита коммуникаций в кластере Galera

По умолчанию Galera Cluster реплицирует данные между узлами без шифрования. Это обычно приемлемо, когда узлы кластера работают на одном хосте или в сетях, где безопасность гарантируется другими средствами. Однако в случаях, когда узлы кластера находятся в разных сетях или в сети с высоким риском, отсутствие шифрования создает проблемы безопасности, поскольку злоумышленник может потенциально перехватывать трафик или получить полную копию данных, вызвав SST.

Для уменьшения этой проблемы Galera Cluster позволяет шифровать данные в процессе передачи при репликации между узлами кластера с помощью протокола Transport Layer Security (TLS). TLS раньше назывался Secure Socket Layer (SSL), но строго говоря, SSL является предшественником TLS, и в настоящее время этот вариант протокола считается небезопасным. В документации часто используется термин SSL, а для совместимости переменные сервера и статуса, связанные с TLS, по-прежнему используют префикс ssl_, но внутренне MariaDB поддерживает только его безопасные преемники.

Для обеспечения безопасности соединений между узлами кластера необходимо убедиться, что все серверы скомпилированы с поддержкой TLS. См. Обзор безопасных подключений, чтобы определить, был ли сервер скомпилирован с поддержкой TLS.

Для каждого узла кластера также необходим сертификат, закрытый ключ и цепочка сертификатов Удостоверяющего центра (CA) для проверки сертификата. Если вы хотите использовать самоподписанные сертификаты, созданные с помощью OpenSSL, ознакомьтесь с Созданием сертификатов с помощью OpenSSL для получения информации о создании таких сертификатов.

Защита трафика репликации Galera Cluster

Для включения TLS для трафика репликации Galera Cluster необходимо установить ряд wsrep_provider_options, таких как:

  • Необходимо установить путь к сертификату сервера, задав socket.ssl_cert wsrep_provider_option.
  • Необходимо установить путь к закрытому ключу сервера, задав socket.ssl_key wsrep_provider_option.
  • Необходимо установить путь к цепочке сертификатов Удостоверяющего центра (CA), которые могут проверить сертификат сервера, задав socket.ssl_ca wsrep_provider_option.
  • Если вы хотите ограничить сервер определенными шифрами, вам также необходимо установить socket.ssl_cipher wsrep_provider_option.

Также рекомендуется установить стандартные системные переменные MariaDB Server, связанные с TLS, чтобы TLS был включен и для обычных клиентских подключений. См. Обеспечение безопасности подключений для клиента и сервера для получения информации об этом.

Например, чтобы установить эти переменные для сервера, добавьте системные переменные в соответствующую группу опций сервера группу опций в файле опций:

[mariadb]
...
ssl_cert = /etc/my.cnf.d/certificates/server-cert.pem
ssl_key = /etc/my.cnf.d/certificates/server-key.pem
ssl_ca = /etc/my.cnf.d/certificates/ca.pem
wsrep_provider_options="socket.ssl_cert=/etc/my.cnf.d/certificates/server-cert.pem;socket.ssl_key=/etc/my.cnf.d/certificates/server-key.pem;socket.ssl_ca=/etc/my.cnf.d/certificates/ca.pem"

Затем перезапустите сервер, чтобы изменения вступили в силу.

Установив как системные переменные TLS MariaDB Server, так и wsrep_provider_options Galera Cluster, сервер сможет защитить как внешние клиентские подключения, так и трафик репликации Galera Cluster.

Защита переносов моментальных снимков состояния

Метод, который вы бы использовали для включения TLS для переносов моментальных снимков состояния (SST), зависел бы от значения wsrep_sst_method.

mariabackup

См. Метод SST mariabackup: TLS для получения дополнительной информации.

xtrabackup-v2

См. Метод SST xtrabackup-v2: TLS для получения дополнительной информации.

mysqldump

Этот метод SST просто использует утилиту mariadb-dump (ранее mysqldump), поэтому TLS будет включен, следуя руководству по Обеспечению безопасности подключений для клиента и сервера: Включение TLS для MariaDB клиентов

rsync

Этот метод SST поддерживает шифрование в процессе передачи через stunnel. См. Введение в переносы моментальных снимков состояния (SST): rsync для получения дополнительной информации.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/securing-communications-in-galera-cluster/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API