O tráfego de e para o mongodb usando SSL ainda é visível no wireshark em texto sem formatação

1

EDIT: There was nothing wrong. I was an idiot. The below settings are correct.

Eu configurei uma instância do mongodb (3.4) no windows, configurada assim:

net:
  port: 27017
  ssl:
      mode: preferSSL
      PEMKeyFile: C:\...\mongodb.pem
      CAFile: C:\...\mongodb.ca
      allowConnectionsWithoutCertificates: true

O certificado é um certificado assinado pela CA emitido para um domínio específico e um subdomínio de caractere curinga.

Eu posso conectar-me ao banco de dados da minha máquina local usando um programa C # simples que tenha a seguinte string de conexão:

mongodb://user:password@hostname?ssl=true

e funciona bem. O cliente não está usando um certificado.

Eu brinquei com os parâmetros e realmente parece que está se conectando usando SSL:

  • Se eu alternar para mode:requireSSL e definir ssl=false na cadeia de conexão, não consigo me conectar, o que é esperado
  • Se eu me conectar a um domínio que não está incluído no certificado, recebo The remote certificate is invalid according to the validation procedure. , o que também é esperado
  • Os únicos erros / avisos que vejo no log do mongo são no SSL certificate provided by peer - o que é esperado; o cliente não está usando um certificado, é por isso que eu configurei allowConnectionsWithoutCertificates: true

No entanto , quando olho para o tráfego usando o Wireshark, posso inspecionar todos os pacotes e ler os dados sendo enviados para e do servidor em texto simples. Não há camada SSL / TLS no painel de detalhes do pacote, apenas Ethernet, IP, TCP e, em seguida, o protocolo Mongo Wire.

Minha pergunta é : isso é esperado? O tráfego não deveria ser criptografado e, portanto, ilegível no Wireshark?

    
por DukeOf1Cat 22.02.2017 / 16:44

0 respostas