Bản phát hành OpenSSH 8.5

Sau năm tháng phát triển, việc phát hành OpenSSH 8.5, một triển khai mở của máy khách và máy chủ để hoạt động trên giao thức SSH 2.0 và SFTP, đã được trình bày.

Các nhà phát triển OpenSSH đã nhắc nhở chúng tôi về việc ngừng hoạt động sắp tới của các thuật toán sử dụng hàm băm SHA-1 do hiệu quả của các cuộc tấn công va chạm với tiền tố nhất định tăng lên (chi phí chọn xung đột ước tính khoảng 50 nghìn USD). Trong một trong những bản phát hành sắp tới, họ có kế hoạch vô hiệu hóa theo mặc định khả năng sử dụng thuật toán chữ ký số khóa công khai “ssh-rsa”, được đề cập trong RFC gốc cho giao thức SSH và vẫn phổ biến trong thực tế.

Để kiểm tra việc sử dụng ssh-rsa trên hệ thống của bạn, bạn có thể thử kết nối qua ssh với tùy chọn “-oHostKeyAlgorithms=-ssh-rsa”. Đồng thời, việc tắt chữ ký số “ssh-rsa” theo mặc định không có nghĩa là từ bỏ hoàn toàn việc sử dụng khóa RSA, vì ngoài SHA-1, giao thức SSH cho phép sử dụng các thuật toán tính toán băm khác. Đặc biệt, ngoài “ssh-rsa”, vẫn có thể sử dụng các gói “rsa-sha2-256” (RSA/SHA256) và “rsa-sha2-512” (RSA/SHA512).

Để quá trình chuyển đổi sang các thuật toán mới diễn ra suôn sẻ, OpenSSH 8.5 đã bật cài đặt UpdateHostKeys theo mặc định, cho phép khách hàng tự động chuyển sang các thuật toán đáng tin cậy hơn. Sử dụng cài đặt này, tiện ích mở rộng giao thức đặc biệt sẽ được bật “[email được bảo vệ]", cho phép máy chủ, sau khi xác thực, thông báo cho máy khách về tất cả các khóa máy chủ có sẵn. Máy khách có thể phản ánh các khóa này trong tệp ~/.ssh/known_hosts của nó, tệp này cho phép cập nhật các khóa máy chủ và giúp thay đổi khóa trên máy chủ dễ dàng hơn.

Việc sử dụng UpdateHostKeys bị hạn chế bởi một số cảnh báo có thể bị xóa trong tương lai: khóa phải được tham chiếu trong UserKnownHostsFile và không được sử dụng trong GlobalKnownHostsFile; khóa phải chỉ có một tên; không nên sử dụng chứng chỉ khóa máy chủ; không nên sử dụng mặt nạ known_hosts theo tên máy chủ; cài đặt VerifyHostKeyDNS phải bị tắt; Tham số UserKnownHostsFile phải được kích hoạt.

Các thuật toán được đề xuất để di chuyển bao gồm rsa-sha2-256/512 dựa trên RFC8332 RSA SHA-2 (được hỗ trợ kể từ OpenSSH 7.2 và được sử dụng theo mặc định), ssh-ed25519 (được hỗ trợ kể từ OpenSSH 6.5) và dựa trên ecdsa-sha2-nistp256/384/521 trên RFC5656 ECDSA (được hỗ trợ kể từ OpenSSH 5.7).

Các thay đổi khác:

  • Thay đổi về bảo mật:
    • Một lỗ hổng do giải phóng lại vùng bộ nhớ đã được giải phóng (không có hai lần) đã được sửa trong ssh-agent. Sự cố này đã xuất hiện kể từ khi phát hành OpenSSH 8.2 và có khả năng bị khai thác nếu kẻ tấn công có quyền truy cập vào ổ cắm ssh-agent trên hệ thống cục bộ. Điều khiến việc khai thác trở nên khó khăn hơn là chỉ có root và người dùng ban đầu mới có quyền truy cập vào socket. Kịch bản tấn công có khả năng xảy ra nhất là tác nhân được chuyển hướng đến tài khoản do kẻ tấn công kiểm soát hoặc đến máy chủ mà kẻ tấn công có quyền truy cập root.
    • sshd đã bổ sung tính năng bảo vệ chống lại việc truyền các tham số rất lớn có tên người dùng đến hệ thống con PAM, cho phép bạn chặn các lỗ hổng trong mô-đun hệ thống PAM (Mô-đun xác thực có thể cắm). Ví dụ: thay đổi này ngăn không cho sshd được sử dụng làm vectơ để khai thác lỗ hổng gốc được phát hiện gần đây trong Solaris (CVE-2020-14871).
  • Có khả năng phá vỡ các thay đổi tương thích:
    • Trong ssh và sshd, một phương thức trao đổi khóa thử nghiệm đã được thiết kế lại để có khả năng chống đoán trên máy tính lượng tử. Máy tính lượng tử hoàn toàn nhanh hơn trong việc giải quyết vấn đề phân tách số tự nhiên thành thừa số nguyên tố, vốn là nền tảng của các thuật toán mã hóa bất đối xứng hiện đại và không thể giải quyết một cách hiệu quả trên các bộ xử lý cổ điển. Phương pháp được sử dụng dựa trên thuật toán NTRU Prime, được phát triển cho các hệ thống mật mã hậu lượng tử và phương pháp trao đổi khóa đường cong elip X25519. Thay vì [email được bảo vệ] phương pháp hiện được xác định là [email được bảo vệ] (thuật toán sntrup4591761 đã được thay thế bằng sntrup761).
    • Trong ssh và sshd, thứ tự công bố các thuật toán chữ ký số được hỗ trợ đã được thay đổi. ED25519 hiện được cung cấp đầu tiên thay vì ECDSA.
    • Trong ssh và sshd, việc thiết lập các tham số dịch vụ chất lượng TOS/DSCP cho các phiên tương tác hiện đã được thực hiện trước khi thiết lập kết nối TCP.
    • Hỗ trợ mật mã đã bị ngừng trong ssh và sshd [email được bảo vệ], giống hệt aes256-cbc và được sử dụng trước khi RFC-4253 được phê duyệt.
    • Theo mặc định, tham số CheckHostIP bị tắt, lợi ích của tham số này là không đáng kể nhưng việc sử dụng tham số này sẽ làm phức tạp đáng kể việc xoay vòng khóa đối với các máy chủ phía sau bộ cân bằng tải.
  • Cài đặt PerSourceMaxStartups và PerSourceNetBlockSize đã được thêm vào sshd để hạn chế cường độ khởi chạy trình xử lý dựa trên địa chỉ máy khách. Các tham số này cho phép bạn kiểm soát tốt hơn giới hạn khởi chạy quy trình, so với cài đặt MaxStartups chung.
  • Cài đặt LogVerbose mới đã được thêm vào ssh và sshd, cho phép bạn tăng mạnh mức độ thông tin gỡ lỗi được đưa vào nhật ký, với khả năng lọc theo mẫu, chức năng và tệp.
  • Trong ssh, khi chấp nhận khóa máy chủ mới, tất cả tên máy chủ và địa chỉ IP được liên kết với khóa sẽ được hiển thị.
  • ssh cho phép tùy chọn UserKnownHostsFile=none vô hiệu hóa việc sử dụng tệp known_hosts khi xác định khóa máy chủ.
  • Cài đặt KnownhostsCommand đã được thêm vào ssh_config cho ssh, cho phép bạn lấy dữ liệu known_hosts từ đầu ra của lệnh được chỉ định.
  • Đã thêm tùy chọn PermitRemoteOpen vào ssh_config cho ssh để cho phép bạn hạn chế đích đến khi sử dụng tùy chọn RemoteForward với SOCKS.
  • Trong ssh dành cho khóa FIDO, yêu cầu mã PIN lặp lại được cung cấp trong trường hợp thao tác chữ ký số không thành công do mã PIN không chính xác và người dùng không được nhắc nhập mã PIN (ví dụ: khi không thể lấy được dữ liệu sinh trắc học chính xác và thiết bị quay lại nhập mã PIN thủ công).
  • sshd bổ sung hỗ trợ cho các lệnh gọi hệ thống bổ sung vào cơ chế cách ly quy trình dựa trên seccomp-bpf trên Linux.
  • Tiện ích contrib/ssh-copy-id đã được cập nhật.

Nguồn: opennet.ru

Thêm một lời nhận xét