- Cloudflare merilis OPKSSH (OpenPubkey SSH) sebagai open source
- OPKSSH memungkinkan login SSO berbasis OpenID Connect untuk secara otomatis membuat dan menggunakan kunci SSH
- Pengguna tidak lagi perlu mengelola sendiri kunci publik/pribadi SSH atau mendistribusikannya ke server
- Pendekatan akses berbasis identitas dapat diterapkan pada autentikasi SSH tanpa memodifikasi protokol SSH
Penjelasan latar belakang SSO dan OpenID Connect
- SSO (Single Sign-On) adalah metode autentikasi yang memungkinkan pengguna mengakses beberapa sistem setelah login satu kali
- OpenID Connect adalah protokol yang umum digunakan untuk SSO dan menerbitkan token ID yang berisi informasi pengguna
- Token ID memuat informasi seperti email pengguna, tetapi tidak menyertakan kunci publik → sehingga tidak bisa langsung digunakan untuk protokol keamanan seperti SSH
Pengenalan OpenPubkey
- OpenPubkey menyisipkan kunci publik pengguna ke dalam token ID untuk membuat PK Token
- Dengan ini, dapat dibuktikan bahwa “Google mengautentikasi bahwa pengguna alice@example.com sedang menggunakan kunci publik 0x123”
- Dapat diterapkan tanpa perubahan pada protokol OpenID Connect yang sudah ada
Peran dan keunggulan OPKSSH
- OPKSSH mengintegrasikan OpenPubkey ke SSH untuk membuat kunci SSH sekali pakai melalui login SSO
- Bekerja tanpa perubahan pada protokol SSH yang ada, dan cukup menambahkan dua baris pada file konfigurasi untuk menerapkannya
-
Peningkatan keamanan
- Menggunakan kunci SSH sekali pakai alih-alih kunci jangka panjang → mengurangi dampak jika kunci bocor dan memungkinkan pembatasan masa berlaku kunci
- Secara default kedaluwarsa dalam 24 jam, dan dapat diubah lewat konfigurasi
-
Peningkatan kenyamanan pengguna
- Cukup jalankan perintah
opkssh login untuk membuat kunci SSH dan login
- Tidak perlu menyalin kunci privat SSH ke banyak komputer
-
Peningkatan visibilitas pengelolaan
- Berbasis alamat email alih-alih akses berbasis kunci → lebih mudah melacak siapa pengguna yang mengakses
- Jika email seperti
bob@example.com ditambahkan ke file izin akses, akses bisa langsung diberikan
Cara kerja OPKSSH
- Saat pengguna menjalankan
opkssh login:
- Membuat kunci publik/pribadi SSH sementara
- Login melalui browser ke OpenID Provider (seperti Google)
- Jika berhasil, membuat PK Token yang memuat kunci publik dan identitas pengguna melalui protokol OpenPubkey
- Menyimpan file kunci publik yang berisi PK Token dan file kunci pribadi di direktori
.ssh
- Saat koneksi SSH dilakukan:
- Klien SSH mengirimkan kunci publik yang berisi PK Token ke server SSH
- Server memverifikasi validitas kunci publik melalui OpenPubkey verifier yang dikonfigurasi dengan
AuthorizedKeysCommand
- Jika PK Token valid dan email ada dalam daftar izin akses, koneksi disetujui
Penyelesaian masalah teknis
- Pengiriman PK Token: menggunakan field ekstensi sertifikat SSH untuk menyisipkan PK Token ke dalam kunci publik SSH
- Validasi di server: menggunakan
AuthorizedKeysCommand untuk mendelegasikan validasi kunci publik ke program kustom (OpenPubkey verifier)
- Verifikasi kecocokan kunci publik: memastikan bahwa kunci publik yang melindungi sesi SSH cocok dengan kunci di dalam PK Token
Open source dan maknanya
- OPKSSH dipublikasikan di GitHub dengan lisensi Apache 2.0
- Sebelumnya masih berada pada tingkat prototipe, tetapi kini tersedia sebagai rilis stabil dengan fungsi SSH yang lengkap
- Cloudflare tidak memelihara atau menjaminnya, tetapi menyumbangkan kodenya ke komunitas OpenPubkey
Peningkatan utama
- Penambahan fungsi SSH yang siap digunakan di dunia nyata
- Menyediakan skrip instalasi otomatis
- Termasuk alat konfigurasi yang ditingkatkan
1 komentar
Opini Hacker News