Bản phát hành OpenSSH 8.7

Sau bốn tháng phát triển, việc phát hành OpenSSH 8.7, 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 làng.

Sự thay đổi chính:

  • Chế độ truyền dữ liệu thử nghiệm đã được thêm vào scp bằng giao thức SFTP thay vì giao thức SCP/RCP truyền thống. SFTP sử dụng các phương pháp xử lý tên dễ dự đoán hơn và không sử dụng xử lý shell các mẫu toàn cầu ở phía máy chủ khác, điều này tạo ra các vấn đề bảo mật. Để kích hoạt SFTP trong scp, cờ “-s” đã được đề xuất, nhưng trong tương lai nó được lên kế hoạch chuyển sang giao thức này theo mặc định.
  • sftp-server triển khai các phần mở rộng cho giao thức SFTP để mở rộng các đường dẫn ~/ và ~user/, cần thiết cho scp.
  • Tiện ích scp đã thay đổi hành vi khi sao chép tệp giữa hai máy chủ từ xa (ví dụ: "scp Host-a:/path Host-b:"), hiện được thực hiện theo mặc định thông qua máy chủ cục bộ trung gian, như khi chỉ định " Cờ -3". Cách tiếp cận này cho phép bạn tránh chuyển các thông tin xác thực không cần thiết đến máy chủ đầu tiên và giải thích ba lần tên tệp trong shell (ở phía nguồn, đích và hệ thống cục bộ) và khi sử dụng SFTP, nó cho phép bạn sử dụng tất cả các phương thức xác thực khi truy cập từ xa máy chủ chứ không chỉ các phương thức không tương tác. Tùy chọn "-R" đã được thêm vào để khôi phục hành vi cũ.
  • Đã thêm cài đặt ForkAfterAuthentication vào ssh tương ứng với cờ "-f".
  • Đã thêm cài đặt StdinNull vào ssh, tương ứng với cờ "-n".
  • Cài đặt SessionType đã được thêm vào ssh, qua đó bạn có thể đặt các chế độ tương ứng với cờ “-N” (không có phiên) và “-s” (hệ thống con).
  • ssh-keygen cho phép bạn chỉ định khoảng thời gian hiệu lực của khóa trong các tệp khóa.
  • Đã thêm cờ "-Oprint-pubkey" vào ssh-keygen để in toàn bộ khóa chung như một phần của chữ ký sshsig.
  • Trong ssh và sshd, cả máy khách và máy chủ đều đã được chuyển sang sử dụng trình phân tích cú pháp tệp cấu hình hạn chế hơn, sử dụng các quy tắc giống như shell để xử lý dấu ngoặc kép, dấu cách và ký tự thoát. Trình phân tích cú pháp mới cũng không bỏ qua các giả định đã được đưa ra trước đó, chẳng hạn như bỏ qua các đối số trong các tùy chọn (ví dụ: lệnh DenyUsers không thể để trống nữa), dấu ngoặc kép không được đóng và chỉ định nhiều ký tự =.
  • Khi sử dụng bản ghi DNS SSHFP khi xác minh khóa, giờ đây ssh sẽ kiểm tra tất cả các bản ghi trùng khớp, không chỉ những bản ghi chứa một loại chữ ký số cụ thể.
  • Trong ssh-keygen, khi tạo khóa FIDO bằng tùy chọn -Ochallenge, lớp tích hợp hiện được sử dụng để băm, thay vì libfido2, cho phép sử dụng các chuỗi thử thách lớn hơn hoặc nhỏ hơn 32 byte.
  • Trong sshd, khi xử lý các lệnh môi trường="..." trong các tệp ủy quyền, kết quả khớp đầu tiên hiện được chấp nhận và có giới hạn 1024 tên biến môi trường.

Các nhà phát triển OpenSSH cũng cảnh báo về việc phân rã 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 bản phát hành tiếp theo, chúng tôi dự định tắt theo mặc định khả năng sử dụng thuật toán chữ ký số khóa công khai "ssh-rsa", thuật toán này đã được đề cập trong RFC gốc cho giao thức SSH và vẫn được sử dụng rộng rãi 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 trước đây đã 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).

Nguồn: opennet.ru

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