OpenPubkey SSH (OPKSSH) açık kaynak olarak yayımlandı - SSH ile entegre tek oturum açma sistemi
(blog.cloudflare.com)- Cloudflare, OPKSSH'yi (OpenPubkey SSH) açık kaynak olarak yayımladı
- OPKSSH, OpenID Connect tabanlı SSO oturum açma ile SSH anahtarlarını otomatik olarak oluşturup kullanmayı sağlıyor
- Kullanıcıların artık SSH açık/gizli anahtarlarını doğrudan yönetmesi veya sunuculara dağıtması gerekmiyor
- SSH protokolünü değiştirmeden SSH kimlik doğrulamasına kimlik tabanlı bir yaklaşım getirilebiliyor
SSO ve OpenID Connect için arka plan açıklaması
- SSO (Single Sign-On), kullanıcının bir kez oturum açarak birden çok sisteme erişebilmesini sağlayan bir kimlik doğrulama yöntemidir
- OpenID Connect, çoğunlukla SSO için kullanılan ve kullanıcı bilgilerini içeren ID token üreten bir protokoldür
- ID token, kullanıcının e-posta adresi gibi bilgileri içerir ancak açık anahtar içermez → bu yüzden SSH gibi güvenlik protokollerinde doğrudan kullanılamaz
OpenPubkey tanıtımı
- OpenPubkey, kullanıcının açık anahtarını ID token içine ekleyerek bunu bir PK Token'a dönüştürür
- Bu sayede “Google, alice@example.com kullanıcısının 0x123 açık anahtarını kullandığını doğrulayabilir”
- Mevcut OpenID Connect protokolünde herhangi bir değişiklik yapmadan uygulanabilir
OPKSSH'nin rolü ve avantajları
- OPKSSH, OpenPubkey'yi SSH ile entegre ederek SSO oturum açma üzerinden tek kullanımlık SSH anahtarları üretir
- Mevcut SSH protokolünde değişiklik gerektirmeden çalışır ve yapılandırma dosyasına yalnızca iki satır eklenerek uygulanabilir
-
Güvenlik iyileştirmesi
- Uzun süreli anahtarlar yerine tek kullanımlık SSH anahtarları kullanır → anahtar sızıntısı durumunda etkiyi azaltır ve anahtar ömrünü sınırlandırır
- Varsayılan olarak 24 saat sonra sona erer, ayarla değiştirilebilir
-
Kullanıcı kolaylığı iyileştirmesi
- Yalnızca
opkssh loginkomutunu çalıştırarak SSH anahtarı oluşturup oturum açılabilir - SSH gizli anahtarını birden fazla bilgisayara kopyalamaya gerek yoktur
- Yalnızca
-
Yönetim görünürlüğü iyileştirmesi
- Anahtar tabanlı erişim yerine e-posta adresi tabanlı yaklaşım → kullanıcının kim olduğunun açıkça izlenmesini sağlar
bob@example.comgibi bir e-posta adresi erişim izin dosyasına eklenirse hemen erişim sağlanabilir
OPKSSH nasıl çalışır
- Kullanıcı
opkssh loginçalıştırdığında:- Geçici SSH açık/gizli anahtar çifti oluşturulur
- Tarayıcı üzerinden OpenID Provider'a (Google vb.) giriş yapılır
- Başarılı olursa, OpenPubkey protokolü aracılığıyla açık anahtar ve kullanıcı kimliğini içeren bir PK Token üretilir
.sshdizinine PK Token içeren açık anahtar dosyası ile gizli anahtar dosyası kaydedilir
- SSH bağlantısı sırasında:
- SSH istemcisi, PK Token içeren açık anahtarı SSH sunucusuna gönderir
- Sunucu,
AuthorizedKeysCommandile ayarlanmış OpenPubkey verifier aracılığıyla açık anahtarın geçerliliğini doğrular - PK Token geçerliyse ve e-posta erişim izin listesinde yer alıyorsa bağlantı onaylanır
Teknik sorunların çözümü
- PK Token iletimi: PK Token, SSH sertifikasının genişletme alanı kullanılarak SSH açık anahtarına eklenir
- Sunucuda geçerlilik doğrulaması:
AuthorizedKeysCommandkullanılarak açık anahtar doğrulaması özel bir programa (OpenPubkey verifier) devredilir - Açık anahtar eşleşmesinin doğrulanması: SSH oturumunu koruyan açık anahtarın, PK Token içindeki anahtarla eşleştiği kontrol edilir
Açık kaynak yapılması ve anlamı
- OPKSSH, Apache 2.0 lisansıyla GitHub üzerinde yayımlandı
- Daha önce prototip düzeyindeydi, artık ise tam SSH işlevselliğine sahip kararlı bir sürüm sunuyor
- Cloudflare bunu sürdürmüyor ya da garanti etmiyor, ancak kodu OpenPubkey topluluğuna bağışladı
Başlıca iyileştirmeler
- Gerçek kullanım için uygun SSH işlevleri eklendi
- Otomatik kurulum betiği sunuluyor
- Geliştirilmiş yapılandırma araçları dahil edildi
1 yorum
Hacker News görüşleri
step-caprojesistep-ca, OAUTH/OIDC sistemleri ve bulut sağlayıcılarıyla iletişim kurabiliyorssh-keygenkomutuyla yapılabildiği için yönetici açısından avantajlı