Segurança de conexão do MySQL

3

Eu tenho 2 servidores Windows 2003. Uma delas é a execução do IIS com a extensão FastCGI da Microsoft e o PHP. O outro servidor está executando o MySQL 5.1. Eu quero configurar alguns aplicativos PHP no servidor IIS e tê-los usar bancos de dados no segundo servidor.

  • O que eu preciso fazer para criptografar o canal / protocolo de rede entre os servidores no nível do MySQL?
  • Este é um recurso embutido com a edição gratuita do MySQL, ou eu preciso de uma versão paga?
  • A configuração é a mesma se migrei de um servidor Windows executando o MySQL para um servidor Linux?

Eu sei que posso usar algum outro tipo de criptografia e medidas em níveis mais baixos na pilha de rede, mas queria saber o que o MySQL oferece.

    
por Brian Lyttle 14.05.2009 / 19:16

3 respostas

3

O MySQL (o padrão, edição Open Source) oferece criptografia SSL.

Primeiro, você quer ver se está ativado. Você pode fazer isso executando o seguinte no cliente mysql:

SHOW VARIABLES LIKE 'have_ssl';

Se o valor for 'YES', você sabe que a sua versão o compilou. Se ele diz 'DISABLED', você o compilou, mas precisa adicionar as informações do certificado detalhadas abaixo. Se disser mais alguma coisa, bem, você precisa ter uma versão com ela.

Para habilitá-lo, você precisa modificar o seu arquivo my.cnf para que ele inclua o seguinte na seção [mysqld]:

ssl-ca=ca-cert.pem
ssl-cert=my_cert.pem
ssl-key=my_key.pem

Obviamente, você precisará alterar os valores para o que for apropriado. Todos os certificados devem estar no formato PEM padrão.

Eu não sou muito de um desenvolvedor PHP, mas deve haver uma maneira de ativar isso em sua chamada de conexão.

    
por 14.05.2009 / 19:32
1

O MySQL suporta nativamente SSL aqui é a referência da documentação. O bit complicado pode estar recebendo uma versão do PHP com um driver mysql que suporta ssl. Não tenho certeza, mas o código pode precisar usar mysqli * em vez de mysql * ou PDO.

    
por 14.05.2009 / 19:32
0

Os binários do MySQL (dos quais a maioria dos usuários do Windows são instalados) suportam apenas o yaSSL, que tem algum suporte duvidoso para o Windows.

Se você deseja executar isso com SSL, talvez seja necessário encontrar uma instalação yaSSL funcional para sua versão do Windows ou executá-la no Linux.

    
por 22.12.2016 / 22:14