Proteger a replicação do MySQL; Tunelamento SSL ou SSH?

2

Eu tenho uma configuração de replicação Master-Master MySQL entre dois servidores. Estou prestes a mudar um para outro local, então a replicação será pela Internet e, naturalmente, precisará ser protegida.

Pelo que sei, basicamente tenho duas opções:

  1. Use suporte SSL integrado na replicação do MySQL.
  2. Use o encapsulamento SSH para encaminhar portas usadas para replicação.

Existem benefícios significativos de segurança, desempenho ou manutenção ao escolher um sobre o outro?

A saída abaixo me faz pensar que não posso usar a opção 1. No entanto, eu ainda gostaria de saber os prós e contras de cada um.

EDITAR: procurei mais e tenho suporte a SSL. Está desativado no momento.

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)

Obrigado por qualquer ajuda / conselho.

    
por Andrew Ensley 21.04.2011 / 01:44

3 respostas

3

Eu prefiro a replicação SSL.

Acho mais fácil usar a funcionalidade integrada do que tentar enxertar em uma camada de segurança independente (por exemplo, SSH). Quanto mais você personalizar, mais trabalho terá que ser feito, na criação, na depuração, no monitoramento e na correção, e será mais difícil para terceiros (por exemplo, listas de discussão) ajudá-lo se ele não funcionar como esperado.

    
por 21.04.2011 / 02:39
4

erm, nenhuma resposta clara sobre isso.

Usar o wrapper ssl embutido é uma abordagem de sobrecarga mais baixa - mas você está potencialmente empacotando um processo pesado de msyql com E / S de rede - mas isso só é realmente um problema se você estiver replicando para muitas outras caixas e / ou você está muito apertado para a memória. Rotear o tráfego por meio de um processo adicional adicionaria uma quantidade muito pequena de latência - mas se as caixas estiverem em redes diferentes, é improvável que isso seja significativo.

Se fosse eu, compararia os méritos do SSL em processo com um link VPN completo (não necessariamente baseado em ssh). O último suportaria mais do que apenas a replicação do mysql (rede privada DNS / LDAP, acesso remoto, registro ....) e o uso de uma implementação com o NAT (por exemplo, executar o ppp através de ssh / ssl) poderia ser rapidamente reajustado para ser executado em um rota de backup. Essa abordagem também fornece diagnóstico mais simples e consistente de problemas de comunicação.

    
por 21.04.2011 / 14:46
1

Como na documentação do MySQL, talvez você não tenha o SSL ativado. Por favor, dê uma olhada no link e como começar no servidor. .. Além disso, o MySQL fornece uma boa referência para a replicação do MySQL com SSL no link ...

    
por 21.04.2011 / 03:12