O SSH está usando TLS?

Aug 27 2020

Eu tenho um caso estranho em que uma varredura de vulnerabilidade está relatando que o sshd é vulnerável por causa do TLS. Não achei que o SSH usasse TLS, então alguém pode me ajudar a explicar por que "openssl s_client -connect hostname: 22 -tls1" mostra que SSH está aceitando conexões TLS?

Por exemplo:

$ openssl s_client -connect myhost:22 -tls1
CONNECTED(00000004)
140300455982912:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 104 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1598564402
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

Desde já, obrigado!

Respostas

3 multithr3at3d Aug 27 2020 at 23:23

Não, o SSH não usa TLS. Ele usa seu próprio protocolo que fornece criptografia.

Observe sua segunda linha de saída:

140300455982912:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332

Isso parece um erro fatal, portanto, qualquer saída adicional provavelmente está relacionada à depuração.