¿SSH está usando TLS?

Aug 27 2020

Tengo un caso extraño en el que un escaneo de vulnerabilidades informa que sshd es vulnerable debido a TLS. No pensé que SSH usaba TLS, entonces, ¿alguien puede ayudarme a explicar por qué "openssl s_client -connect hostname: 22 -tls1" muestra que SSH está aceptando conexiones TLS?

Por ejemplo:

$ 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
---

¡Gracias por adelantado!

Respuestas

3 multithr3at3d Aug 27 2020 at 23:23

No, SSH no usa TLS. Utiliza su propio protocolo que proporciona cifrado.

Tenga en cuenta su segunda línea de salida:

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

Parece un error fatal, por lo que cualquier resultado adicional probablemente esté relacionado con la depuración.