Cloudflare đã giới thiệu OpenPubkey SSH (OPKSSH), một công nghệ tích hợp single sign-on (SSO) với xác thực SSH. Dưới đây là các điểm chính về OPKSSH:
Các tính năng chính của OPKSSH
- Tích hợp Single Sign-On:
- OPKSSH tận dụng OpenID Connect để nhúng khóa công khai của người dùng trong các ID Token tiêu chuẩn, biến chúng thành “PK Tokens”.
- Cách tiếp cận này vẫn duy trì tính tương thích với các quy trình làm việc SSO và các nhà cung cấp danh tính như Google, Azure, hoặc Okta.
- Quản lý khóa tạm thời:
- Thay vì tạo và duy trì các cặp khóa SSH lâu dài, OPKSSH sử dụng các cặp khóa tạm thời tự hủy ngay khi không còn cần thiết.
- Điều này giảm thiểu rắc rối khi xử lý các khóa lâu dài và làm nhỏ khoảng thời gian tiếp xúc nếu khóa riêng tư bị đánh cắp.
- Cách OPKSSH hoạt động:
- Khi một người dùng đăng nhập qua nhà cung cấp danh tính của họ, OPKSSH tự động tạo một cặp khóa công khai/riêng tư ngắn hạn và lưu trữ khóa công khai dưới dạng một cấu trúc giống chứng chỉ.
- Máy chủ SSH, được cấu hình để gọi một trình xác minh OpenPubkey, xác nhận rằng token được cung cấp là hợp lệ, không quá hạn và được ký bởi nhà cung cấp danh tính chính xác.
- Điều này loại bỏ nhu cầu cho các quản trị viên phân phối thủ công khóa người dùng cho từng máy chủ trong tổ chức.
- Chi tiết triển khai:
- Tích hợp bao gồm việc tiêm một khóa tạm thời và PK Token vào một phần mở rộng chứng chỉ SSH, được gửi đến máy chủ như một phần của quá trình bắt tay SSH thông thường.
- Ở phía máy chủ, một dòng thêm trong
sshd_configquy định một AuthorizedKeysCommand tùy chỉnh trỏ đến trình xác minh OpenPubkey. Kịch bản này kiểm tra xem token còn hợp lệ không, đảm bảo khóa công khai tạm thời của người dùng khớp với khóa trong token, và xác định xem địa chỉ email của người dùng có được phê duyệt truy cập hay không.
- Cộng đồng và sự chấp nhận:
- Mã đã thuộc sở hữu của BastionZero và sau đó được Cloudflare mua lại. Nó hiện đã được quyên góp cho cộng đồng OpenPubkey để thúc đẩy việc áp dụng rộng rãi và cải tiến do cộng đồng điều hành.
- Người dùng có thể kiểm tra README chính thức của OPKSSH trong kho GitHub của nó để biết các bước cài đặt và thông tin thêm.
Ví dụ thực tiễn
Để triển khai OPKSSH, bạn thường làm theo các bước sau:
- Cấu hình nhà cung cấp danh tính:
- Đảm bảo nhà cung cấp danh tính của bạn (ví dụ: Google, Azure, Okta) được thiết lập để phát hành ID Token có nhúng các khóa công khai.
- Thiết lập máy chủ SSH:
- Chỉnh sửa
sshd_configđể bao gồm một AuthorizedKeysCommand tùy chỉnh trỏ đến kịch bản xác minh OpenPubkey.
- Chỉnh sửa
- Xác minh token:
- Kịch bản xác minh kiểm tra tính hợp lệ của token, khớp khóa công khai tạm thời và đảm bảo địa chỉ email của người dùng đã được phê duyệt truy cập.
- Tạo khóa tạm thời:
- Khi một người dùng đăng nhập, OPKSSH tạo một cặp khóa công khai/riêng tư ngắn hạn và lưu trữ khóa công khai dưới dạng một cấu trúc giống chứng chỉ.
Bằng cách làm theo các bước này, các tổ chức có thể đơn giản hóa việc truy cập SSH trong khi nâng cao bảo mật bằng cách tận dụng các nền tảng danh tính đã được thiết lập và giảm độ phức tạp của việc quản lý các khóa SSH.










