Estou procurando uma possibilidade no cliente mysql para testar apenas se a --ssl-mode=REQUIRED
diretiva para um determinado --host
é 100% garantida, sem potencialmente estragar o nome de usuário, a senha e o nome do banco de dados em texto simples pela Internet. Executando esse modo com um argumento como: --ssl--check-handshake-only-then-disconnect-and-report
.
Isso é para um cenário em que, em relação ao host da web:
- não há documentação adequada/disponível/confiável sobre a disponibilidade de SSL no servidor,
- e/ou nenhum ou apenas acesso complicado ao servidor mysql e suas informações de configuração.
Depois de minha pesquisa até agora, acho que não há possibilidade de executar um teste de handshake SSL/TLS 100% sem risco, o que obviamente é sem risco, pois funciona sem fornecer nome de usuário, senha, nome do banco de dados .
A documentação para --ssl-mode=REQUIRED aborda isso de forma simples e resumida:
NECESSÁRIO: Estabeleça uma conexão criptografada se o servidor suportar conexões criptografadas. A tentativa de conexão falhará se uma conexão criptografada não puder ser estabelecida.
Basta confiar no cliente mysql (também conhecido como "shell") que ele realmente opera nessa ordem:
- certifique-se de que
--ssl-mode=REQUIRED
funciona na situação especificada, caso contrário, saia prematuramente com uma mensagem de erro explícita. - somente quando o handshake e a negociação de criptografia funcionarem bem, o cliente enviará o nome de usuário, a senha e o nome do banco de dados fornecidos.
- E que nenhum novo desenvolvedor jamais introduzirá um bug exatamente nessa verificação de condição ...
Isso pode ser suficiente para usuários versados/diários, que conhecem e confiam em seu cliente mysql e configuração.
Mas abaixo do ideal para novos usuários ou céticos que precisam ser céticos, que realmente precisam de uma possibilidade de uma verificação 100% sem risco.
Um verdadeiro "modo de teste de conexão/aperto de mão sem risco", que obviamente é sem risco porque também funciona sem apresentar nenhuma credencial concreta, seria muito reconfortante.
- Antes de me registrar em https://bugs.mysql.com e enviar uma solicitação de recurso lá
- Pergunto aqui se pode haver uma possibilidade que desconheço.