Czy SSH używa TLS?

Aug 27 2020

Mam dziwny przypadek, w którym skanowanie podatności zgłasza, że ​​sshd jest podatny na ataki z powodu TLS. Nie sądziłem, że SSH używa TLS, więc czy ktoś może mi pomóc wyjaśnić, dlaczego „openssl s_client -connect nazwa hosta: 22 -tls1” pokazuje, że SSH akceptuje połączenia TLS?

Na przykład:

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

Z góry dziękuję!

Odpowiedzi

3 multithr3at3d Aug 27 2020 at 23:23

Nie, SSH nie używa TLS. Używa własnego protokołu, który zapewnia szyfrowanie.

Zwróć uwagę na drugą linię wyjścia:

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

Wygląda to na błąd krytyczny, więc wszelkie dodatkowe dane wyjściowe są prawdopodobnie związane z debugowaniem.