Những thay đổi và cải tiến chính trong OpenSSH 10.0

Những thay đổi và cải tiến chính trong OpenSSH 10.0

  1. Ngưng hỗ trợ Thuật toán chữ ký DSA:
    OpenSSH 10.0 đã chính thức ngưng hỗ trợ thuật toán chữ ký số cũ (DSA), vốn đã bị ngừng sử dụng từ năm 2015. Mặc dù DSA đã bị tắt theo mặc định, việc loại bỏ hoàn toàn nó đánh dấu sự kết thúc của quá trình loại bỏ thuật toán yếu này.
  2. Trao đổi khóa hậu lượng tử:
    Phiên bản mới giới thiệu thuật toán MLKEM-768 như mặc định cho quá trình đồng ý khóa, bảo vệ chống lại các cuộc tấn công tiềm tàng từ máy tính lượng tử. Thuật toán này nhanh hơn và đáng tin cậy hơn, đồng thời được chuẩn hóa bởi NIST.
  3. Cập nhật ưu tiên mã hóa:
    OpenSSH 10.0 ưu tiên AES-GCM hơn AES-CTR cho các kết nối, trong khi ChaCha20/Poly1305 vẫn đứng đầu danh sách về hiệu suất và độ tin cậy.
  4. Phân tách quy trình xác thực:
    Quy trình xác thực hiện nay được chuyển giao cho một chương trình riêng biệt có tên `sshd-auth`. Sự phân tách này cải thiện bảo mật bằng cách giữ cho bề mặt tấn công trước xác thực tách biệt khỏi phần còn lại của quy trình phiên SSH.
  5. Cải tiến cấu hình:
    Người dùng hiện có thể sử dụng `%token` và mở rộng biến môi trường trong một số chỉ thị `ssh_config`, cho phép triển khai linh hoạt hơn. Các quy tắc `Match` bổ sung cũng cho phép kiểm soát chi tiết dựa trên phiên bản OpenSSH cục bộ hoặc loại phiên.
  6. Sửa lỗi và cải thiện bảo mật:
    Phiên bản này bao gồm nhiều sửa lỗi, chẳng hạn như cải tiến biện pháp giảm thiểu ObscureKeystrokeTiming cho chuyển tiếp X11, xử lý tốt hơn các tệp cấu hình `sshd` lớn, và hành vi dự phòng mạnh mẽ hơn cho trao đổi nhóm Diffie-Hellman. Một bản sửa lỗi bảo mật cho chỉ thị cấu hình DisableForwarding cũng được bao gồm.
  7. Trao đổi khóa hậu lượng tử hybrid:
    Phiên bản trước sử dụng một phương pháp kết hợp giữa NTRU Prime và X25519 cho việc trao đổi khóa. Tuy nhiên, OpenSSH 10.0 giờ đây sử dụng MLKEM-768, nhanh hơn và được chuẩn hóa bởi NIST, khiến nó trở thành lựa chọn ưu tiên cho các triển khai trong tương lai.
  8. Ngưng Hỗ trợ Trao đổi Khóa Diffie-Hellman Truyền thống:
    Phương pháp trao đổi khóa Diffie-Hellman truyền thống bị tắt theo mặc định trong `sshd`, vì nó không mang lại lợi thế về hiệu suất so với các phương pháp hiện đại hơn như đường cong elip hoặc thuật toán an toàn trước lượng tử.

Ví dụ thực tiễn và khuyến nghị

  • Tác động của việc loại bỏ DSA: Người dùng có thể không nhận thấy sự biến mất của DSA vì nó đã bị tắt theo mặc định từ năm 2015. Tuy nhiên, các quản trị viên nên đảm bảo rằng cấu hình của họ không phụ thuộc vào DSA, giờ đây đã hoàn toàn bị loại bỏ khỏi codebase.
  • Ưu tiên mã hóa: Khi cấu hình các kết nối SSH, nên sử dụng AES-GCM làm mã hóa ưu tiên, đặc biệt cho các thiết lập mới. Điều này đảm bảo mã hóa mạnh mẽ và hiệu suất tốt hơn.
  • Sự tách biệt quy trình xác thực: Việc tách biệt quy trình xác thực thành một chương trình riêng biệt (`sshd-auth`) tăng cường bảo mật bằng cách giảm bề mặt tấn công. Thay đổi này đặc biệt quan trọng để giảm thiểu các cuộc tấn công trước xác thực như tấn công Terrapin và lỗ hổng RegreSSHion.
  • Linh hoạt trong cấu hình: Việc giới thiệu `%token` và mở rộng biến môi trường trong các chỉ thị `ssh_config` cho phép kiểm soát chi tiết và linh hoạt hơn về cấu hình SSH. Tính năng này đặc biệt hữu ích cho các thiết lập phức tạp nơi mà các môi trường hoặc phiên khác nhau cần các thiết lập khác nhau.

Bằng cách hiểu những thay đổi và cải tiến này, các quản trị viên và người dùng có thể bảo mật tốt hơn các kết nối SSH của họ và đảm bảo tuân thủ các tiêu chuẩn bảo mật mới nhất.