SSH có sử dụng TLS không?

Aug 27 2020

Tôi gặp một trường hợp kỳ lạ khi quét lỗ hổng báo cáo rằng sshd dễ bị tấn công do TLS. Tôi không nghĩ rằng SSH đã sử dụng TLS, vì vậy ai đó có thể giúp tôi giải thích tại sao "openssl s_client -connect hostname: 22 -tls1" cho thấy SSH đang chấp nhận kết nối TLS không?

Ví dụ:

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

Cảm ơn trước!

Trả lời

3 multithr3at3d Aug 27 2020 at 23:23

Không, SSH không sử dụng TLS. Nó sử dụng giao thức riêng cung cấp mã hóa.

Lưu ý dòng đầu ra thứ hai của bạn:

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

Điều đó trông giống như một lỗi nghiêm trọng, vì vậy bất kỳ đầu ra bổ sung nào có thể liên quan đến gỡ lỗi.