Configurei meu servidor para permitir SSL e modifiquei meu cliente ~/.my.cnf para usar SSL:
[client]
ssl
ssl-cipher=DHE-RSA-AES256-SHA
ssl-ca=~/certs/ca-cert.pem
Quando faço login com meu cliente e visualizo o status, ele lista uma cifra na linha SSL:
mysql> \s
--------------
SSL: Cipher in use is DHE-RSA-AES256-SHA
Sem instalar algo como o wireshark para verificar se a conexão é segura, posso presumir que estou me conectando via SSL com base nessas informações?
A partir do cliente, basta executar
status
. Se esta conexão estiver usando SSL, você obterá algo interessante na linha SSL.Se esta conexão não estiver usando SSL, você obterá:
Você também pode usar:
Mas acho que o primeiro é mais atraente e com certeza mais fácil de digitar.
Isso é aplicável ao MariaDB (não tentei no MySQL puro):
A
--ssl
opção informará se o SSL está ativado. Se estiver desabilitado, o comando retornará " não está em uso "Forçar SSL por usuário:
MySQL 5.6.4
eu não tenho certeza disso
foi alterado em versões posteriores. Para mim, mesmo se eu não estiver usando SSL, ele aparece
SSL: Cipher in use is DHE-RSA-AES256-SHA
para mim.Você pode usar o seguinte para confirmar que o SSL está usando ou não.
O
status
comando não informa se a conexão está usando SSL. Os clientes podem desabilitar usando SSL do seu lado.Use
show session status
e procure paraSsl_client_connects
encontrar o número de conexões usando SSL.SOLUÇÃO OFICIAL DE ACORDO COM O SITE MYSQL
Execute isso na sessão que você deseja verificar:
Se você obtiver as strings de cifra e versão, a conexão será criptografada. Se não estiver criptografado, você receberá strings vazias.
Fonte: https://dev.mysql.com/doc/refman/8.0/en/encrypted-connection-protocols-ciphers.html
Usando o Mysql Workbench:
Se você estiver conectado ao servidor com o Mysql Workbench, poderá ver a variável de status SSL na
Status and System Variable
seção sob aSSL
categoria-Se o valor SSL_Cipher estiver em branco, isso significa que o SSL não está ativado .
No meu caso: Sim, o SSL está ativado.