Làm thế nào để cuộn qua các phím máy chủ ssh?


17

Tôi đang cố gắng nâng cấp máy chủ ssh của mình từ các khóa RSA 2048 bit lên các khóa lớn hơn, vì các khuyến nghị sẽ sớm loại bỏ các khóa 2048 bit.

Tôi đã tạo một khóa mới, sau đó thêm nó vào cấu hình sshd, như thế này:

HostKey / etc / ssh / ssh_host_rsa_key             (khóa 2k-bit cũ trước) 
HostKey / etc / ssh / ssh_host_rsa4096_key         (khóa mới lớn hơn thứ 2 )

Sau khi khởi động lại sshd, tôi đã đến máy chủ lưu trữ, tôi không nhận được cảnh báo thay đổi nhận dạng, tuy nhiên cái mới cũng không được lưu trong bộ nhớ cache ~/.ssh/known_hosts. Nếu tôi đặt các dòng theo thứ tự ngược lại, tôi sẽ nhận được cảnh báo thay đổi nhận dạng. Tương tự, khi tôi thêm khóa ed25519, bất kể tôi đặt nó theo thứ tự nào, máy khách sẽ không thêm khóa mới vào tệp máy chủ đã biết.

Điều này dường như làm cho việc cuộn lại khóa máy chủ SSH không thể tin được, đó là điều khó thực sự, tuy nhiên, việc xem xét bảo mật thường xuyên yêu cầu nâng cấp khóa.

Tôi biết bạn chỉ có thể trao đổi khóa, sau đó mọi khách hàng cần chạy ssh-keygen -Rđể xóa khóa cũ, sau đó xác minh thủ công và chấp nhận khóa mới nhưng đó là một nỗi đau thực sự, đặc biệt là nếu bạn có nhiều khách hàng kết nối hoặc không quản trị Tất cả các khách hàng. Chưa kể, nếu bạn không quản trị khách hàng, rất có khả năng họ sẽ không thực sự kiểm tra khóa máy chủ và thay vào đó chỉ cần nhấn Y, do đó, nỗ lực cải thiện bảo mật có thể sẽ thực sự mở ra cho bạn. các cuộc tấn công trung gian thay thế.

Có cách nào để làm cho nâng cấp khóa máy chủ SSH hoạt động không? Đó là, khách hàng nên tìm hiểu khóa mới an toàn hơn (và cũng hy vọng không tìm hiểu khóa lỗi thời). Và không đưa ra chìa khóa máy chủ đã thay đổi cảnh báo trung gian.


Hãy có một cái nhìn tại này . Mặc dù nó không cung cấp giải pháp cho những gì bạn muốn ngay bây giờ, nhưng nó có thể giúp bạn đạt được mục tiêu cuối cùng trong tương lai.
rda

Câu trả lời:


14

Xoay vòng khóa máy chủ được hỗ trợ kể từ OpenSSH 6.8 (cả máy khách và máy chủ đều hỗ trợ thêm trong phiên bản này).

Vì vậy, quá trình nên hoạt động như thế này:

  • Tạo và thêm các khóa mới với tùy chọn HostKey newkey(sau các khóa hiện có) vào/etc/ssh/sshd_config
  • Khởi động lại sshd
  • Các máy khách phải thiết lập UpdateHostKeys yescấu hình của chúng (trên toàn cầu hoặc trên mỗi máy chủ)
  • Các máy khách kết nối sẽ nhận tất cả các khóa mới
  • Sau một thời gian (tháng?), Bạn có thể xóa các phím cũ khỏi sshd_configvà khởi động lạisshd
  • Các máy khách (được kết nối trong giai đoạn chuyển tiếp) sẽ có các khóa mới (cũ sẽ không bị xóa, đây là vấn đề duy nhất ở đây) và chúng sẽ không hiển thị cảnh báo tấn công MitM.

Các khách hàng mới đủ sẽ có thể nhận các khóa mới. Tính năng này không được bật theo mặc định, có lẽ vì nó khá mới và sớm cho thấy một số cân nhắc về bảo mật. Nhưng những ngày này, nó sẽ ổn để sử dụng nó.


-4

sshd luôn sử dụng dòng đầu tiên, vì vậy hãy xóa nó, sau đó khởi động lại sshd.


1
... Kết quả là khóa máy chủ đáng sợ đã thay đổi cảnh báo. Cố gắng tránh điều đó, bằng cách cho khách hàng tìm hiểu khóa mới (và loại bỏ khóa cũ).
derobert

Bạn đúng rồi. Bạn không thể sử dụng 2 phím khác nhau cùng một lúc. ssl không phải là tls. Không có tính năng thêm khóa chỉ thay đổi.
Ipor Sircer

4
Đó không phải là SSL hay TLS. Giao thức hỗ trợ nhiều khóa máy chủ, ví dụ, tất cả mọi người đều có cả khóa RSA và DSA. Bây giờ, nó thường là các khóa ED25519, ECDSA và RSA.
derobert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.