Verifique o certificado remoto - MySQL

2

Encontrei Salvar certificado SSL remoto via linha de comando do Linux mas no caso do MySQL (e, portanto, TLS), não funciona.

Então a questão é - como faço para verificar o certificado remoto para conexão TLS ao MySQL?

    
por Wojtek 27.11.2012 / 09:41

2 respostas

1

O MySQL não usa SSL direto na porta (se o fizer, não será possível usar a mesma porta TCP / 3306 para conexões não criptografadas e criptografadas, da mesma maneira que não é possível usar a porta TCP / 80 para tráfego HTTP e HTTPS).

Ele também não usa um simples comando STARTTLS textual para alternar entre criptografia não criptografada e SSL (como IMAP, POP3, FTP, SMTP, XMPP, etc.). Em vez disso, ele usa seu próprio protocolo binário para negociar as opções do mysql (SSL sendo apenas uma delas). Você pode ver como funciona na fonte mysql na função sql_real_connect ().

Portanto, para obter o que você deseja, você precisaria escrever um programa personalizado para simular a conexão SSL libmysql, mas gerando informações extras de depuração com o certificado SSL no processo. Um bom ponto de partida pode ser sql-common / client.c da fonte mysql (procure por CLIENT_SSL). Infelizmente eu não estou ciente de nenhum desses programas já escritos (não que eu não tenha olhado, apenas não encontrei nenhum).

Alternativamente, se você tiver acesso ssh / NRPE ao servidor, você pode facilmente hackear um script para usar o openssl (1) para exibir o certificado diretamente do arquivo PEM que o mysqld está usando, isso seria muito mais fácil.

    
por 26.07.2013 / 18:47
0

Como esta questão aparece como o melhor resultado do google para isso, quero acrescentar que o único método que encontrei agora é capturar o handshake SSL com

tcpdump -ni any port 3306 -w dump.cap

e, em seguida, abri-lo com o Wireshark e verificar o certificado:

conteúdo

    
por 22.03.2018 / 17:36