Por que o servidor está FIN após iniciar a sessão TLS?

Por que o servidor está FIN após iniciar a sessão TLS?

O servidor TLS está fazendo algo que não entendo.

  1. O handshake TCP é executado normalmente.
  2. O cliente SSL Hello é executado normalmente.
  3. Servidor SSL Olá parece normal. Fornece certificado, diz Server Hello Done.
  4. Dissecção mostra problemas do cliente "Troca de chave do cliente, alteração de especificação de cifra, mensagem de handshake criptografada"
  5. Dissecção mostra problemas de servidor "Alterar especificação de cifra" e depois "Mensagem de handshake criptografada"

O cliente agora ACKs, começa a enviar dados. Mas os ACKs do servidor enviam um "Alerta Criptografado" e os FINs são enviados.

Isso aconteceu logo após a troca de certificados. O certificado apresentado no handshake SSL é a nova chave.

Pista, alguém?

Responder1

Provavelmente é devido a um problema de SNI com o cliente ou algum dispositivo intermediário, como um balanceador de carga. O dispositivo de balanceamento de carga deve ser capaz de apresentar o nome do servidor ao host back-end como parte do Client Hello inicial. verhttps://en.m.wikipedia.org/wiki/Server_Name_Indication

Responder2

O pacote mais importante é o “Alerta Criptografado”, pois contém o motivo pelo qual a conexão foi encerrada.

Parece ser um erro de validação. Isso significa que o certificado não é confiável ou é inválido. Mas o verdadeiro motivo é enviar através doProtocolo de alerta TLS

Responder3

Encontrei um problema semelhante no pure-ftpdmodo TLS explícito (servidor FTPS).

No meu caso, porém, houvenão Encrypted Alertenviado do servidor; apenas foi encontrado imediatamente após a troca de chaves ( Change Cipher Spec, Finishedmensagem do servidor → FIN do servidor). Próximo,o clienteenviou o Encrypted alertcódigo 0 de nível 1 Close Notify(o que é esperado - ao contrário do servidor FIN).

Isso aconteceu apenas com um único cliente específico (um firmware de dispositivo) e não foi reproduzido com outros clientes FTP.

Não desenterrei a raiz do problema, mas suspeito que atingimos umbug do servidor. pure-ftpdusa modelo de bifurcação por conexão semelhante ao Apache; e eu observeio processo filho travandono gdb (saindo com o código -1) - o que obviamente leva o sistema operacional a fechar o soquete FD e enviar FIN.

Mais uma razão para dizer que é um bug de servidor no meu caso – o comportamento parou de ser reproduzido assim que trocamos o servidor FTPs por uma implementação diferente, proftpd.


Não acho que isso corresponda ao caso do OP - aí, o servidor encerra a conexão de maneira apropriada ao TLS, com Alerta Criptografado - mas, mesmo assim, é algo a considerar para quem acessa esta página.

informação relacionada