Назад | Перейти на главную страницу

Безопасная репликация MySQL; SSL или SSH-туннелирование?

У меня есть настройка репликации Master-Master MySQL между двумя серверами. Я собираюсь переместить один в другое место, поэтому репликация будет осуществляться через Интернет и, конечно же, должна быть защищена.

Насколько я могу судить, у меня есть два варианта:

  1. Используйте встроенную поддержку SSL в репликации MySQL.
  2. Используйте SSH-туннелирование для переадресации портов, используемых для репликации.

Есть ли значительные преимущества в безопасности, производительности или обслуживании при выборе одного по сравнению с другим?

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

РЕДАКТИРОВАТЬ: Я посмотрел дальше, и у меня есть поддержка ssl. Он сейчас просто отключен.

mysql> SHOW VARIABLES LIKE '%ssl%';
+---------------+----------+
| Variable_name | Value    |
+---------------+----------+
| have_openssl  | DISABLED |
| have_ssl      | DISABLED |
| ssl_ca        |          |
| ssl_capath    |          |
| ssl_cert      |          |
| ssl_cipher    |          |
| ssl_key       |          |
+---------------+----------+
7 rows in set (0.00 sec)

Спасибо за любую помощь / совет.

эм, нет четкого ответа на этот вопрос.

Использование встроенной оболочки ssl - это подход с меньшими накладными расходами, но вы потенциально связываете тяжелые процессы msyql с сетевым вводом-выводом, но это действительно проблема только в том случае, если вы реплицируете на множество других устройств и / или вы ' Re очень плотно для памяти. Маршрутизация трафика через дополнительный процесс добавит очень небольшую задержку, но если блоки находятся в разных сетях, это вряд ли будет значительным.

Если бы это был я, я бы сравнил достоинства внутрипроцессного SSL с полным VPN-соединением (не обязательно на основе ssh). Последний будет поддерживать больше, чем просто репликацию mysql (DNS / LDAP частной сети, удаленный доступ, ведение журнала ...), и использование реализации с NAT (например, запуск ppp через ssh / ssl) можно быстро перенастроить для работы через резервный маршрут. Этот подход также обеспечивает более простую и последовательную диагностику проблем связи.

Я предпочитаю SSL-репликацию.

Я считаю, что обычно проще использовать встроенные функции, чем пытаться внедрить независимый уровень безопасности (например, SSH). Чем больше вы настраиваете, тем больше работы вам нужно сделать по созданию, отладке, мониторингу и исправлению, и тем сложнее сторонним лицам (например, спискам рассылки) помочь вам, если они не работают должным образом.

Согласно документации MySQL, у вас может не быть включен SSL. Пожалуйста, взгляните на http://dev.mysql.com/doc/refman/5.1/en/secure-using-ssl.html и как начать работу на сервере ... Кроме того, MySQL предоставляет хороший справочник по репликации MySQL с помощью SSL на http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-ssl.html ...