SSH использует TLS?

Aug 27 2020

У меня есть странный случай, когда сканирование уязвимостей сообщает, что sshd уязвим из-за TLS. Я не думал, что SSH использует TLS, поэтому может ли кто-нибудь помочь мне объяснить, почему "openssl s_client -connect hostname: 22 -tls1" показывает, что SSH принимает соединения TLS?

Например:

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

Заранее спасибо!

Ответы

3 multithr3at3d Aug 27 2020 at 23:23

Нет, SSH не использует TLS. Он использует собственный протокол , обеспечивающий шифрование.

Обратите внимание на вторую строку вывода:

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

Это похоже на фатальную ошибку, поэтому любой дополнительный вывод, вероятно, связан с отладкой.