A porta 3306 do MySQL está criptografada e, se não, como posso criptografá-la?

26

Estou trabalhando em uma auditoria de segurança de um sistema no meu trabalho e um dos requisitos é criptografar todo o tráfego através de redes públicas / desprotegidas. Como estamos acessando o banco de dados MySQL (pela porta 3306) em um de nossos servidores externos da rede do escritório, a conexão com o MySQL precisa ser criptografada.

Ele já está criptografado e, se não, como posso criptografá-lo?

Estou usando ferramentas e scripts que não podem usar portas SSH sofisticadas ou VPNs ... ainda é possível?

Stephen RC
fonte
1
Apenas para pessoas que se deparam com este tópico O documento está agora (2018) em mais um link; dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
CeD

Respostas:

14

Não, por padrão o tráfego mysql não é criptografado. Configurar o MySQL para funcionar com o OpenSSL em uma base por conexão é a sua melhor aposta. Atualmente, a maioria dos binários é criada com suporte a SSL, mas é fácil verificar se a sua versão é compatível. A partir da documentação:

Para verificar se um binário de servidor é compilado com suporte a SSL, chame-o com a opção --ssl. Ocorrerá um erro se o servidor não suportar SSL:

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
nedm
fonte
O hiperlink está morto.
JellicleCat
Link for v5.6: dev.mysql.com/doc/refman/5.6/en/ssl-connections.html (também atualizou acima)
SMHG
6

Por padrão, o MySQL não criptografa sua comunicação cliente / servidor:

Você pode configurar o MySQL para aceitar conexões via SSL e exigir que os usuários usem SSL. Aqui está o guia para a configuração do SSL:

sreimer
fonte
os links estão quebrados
knocte