- SSH3, HTTP/3 üzerinde çalışan yeni nesil bir güvenli kabuk protokolü olup, geleneksel SSHv2'ye kıyasla oturum bağlantı hızını büyük ölçüde artırır
- QUIC ve TLS 1.3 ile güvenli kanal kurar; OAuth 2.0, OpenID Connect gibi modern kimlik doğrulama sistemlerini destekler
- Sunucuyu gizli bir yolun arkasına saklayabildiği için port tarama gibi saldırılara karşı dayanıklıdır; UDP port yönlendirme ve QUIC multipath gibi yeni özellikler sunar
- OpenSSH'in birçok temel özelliğini şimdiden benimsemiştir, ancak şu anda deneysel aşamadadır; bu yüzden gerçek üretim ortamlarına dağıtılması önerilmez
- SSH3 adının uygun olmadığı yönünde çok sayıda görüş bulunduğundan, standardizasyon taslağının adı “Remote Terminals over HTTP/3” olarak değiştirildi ve yeniden adlandırma süreci devam ediyor
SSH3 projesine genel bakış ve önemi
- SSH3, mevcut SSH protokolünü HTTP/3 ve modern web teknolojilerine uygun şekilde yeniden tasarlayan açık kaynaklı bir çözüm
- Mevcut SSH bağlantı protokolünün (RFC4254) anlamını HTTP/3 Extended CONNECT ve QUIC+TLS 1.3 kanalı üzerinde yeniden kurar
- IETF internet taslağı draft-michel-remote-terminal-http3 olarak önerildi; oturum bağlantı süresini önemli ölçüde azaltırken, modern kimlik doğrulama yöntemlerinin genişletilmesi gibi çeşitli avantajlar sunar
- Diğer SSH uygulamalarına kıyasla, QUIC kullanımı ve gizlenmiş sunucu yapılandırması gibi yenilikçi fikirleriyle öne çıkar
Başlıca işlevler ve özellikler
- Hızlı oturum bağlantısı
- Geleneksel SSHv2 bağlantısı ortalama 5~7 ağ gidiş-dönüşü gerektirirken, SSH3 yalnızca 3 gidiş-dönüş gerektirir; bu da kullanıcının hissettiği bekleme süresini büyük ölçüde azaltır
- Tuş vuruşu gecikmesi (latency) mevcut düzeyde kalır
- Güçlendirilmiş güvenlik
- TLS1.3, QUIC ve HTTP kimlik doğrulaması temelinde, e-ticaret ve internet bankacılığı gibi alanlarda hâlihazırda kullanılan, doğrulanmış güvenlik protokollerinden yararlanır
- RSA, EdDSA/ed25519 tabanlı açık anahtar yöntemleri ile OAuth 2.0, OpenID Connect gibi çeşitli kimlik doğrulama yöntemlerini destekler
- Google, Microsoft ve Github hesaplarıyla da oturum açılabilir
- Sunucuyu gizleme özelliği
- Sunucu, belirli bir gizli URL'nin arkasına yerleştirilir (ör. https://192.0.2.0:443/M3MzkxYWMx...); yalnızca bu URL'ye kimlik doğrulama isteği geldiğinde yanıt verir
- Diğer isteklere 404 Not Found döndürerek, internetteki saldırganların ve tarayıcıların sunucunun varlığını fark etmesini engeller
- Ancak gizli yol, kimlik doğrulamanın yerini tutmaz; bu nedenle ayrıca bir kimlik doğrulama mekanizması (açık anahtar, parola, OIDC vb.) kullanılması mutlaka önerilir
- Geliştirilmekte olan deneysel proje
- Yapısal olarak güvenilir bir güvenlik doğrulamasına ihtiyaç duyar ve üretim sunucularında kullanılması önerilmez
- Topluluk geri bildirimleri, deney ortamlarında veya kapalı ağlarda toplanmaktadır
- OpenSSH uyumluluğu ve ek özellikler
- ~/.ssh/authorized_keys ve known_hosts ayrıştırma, ssh-agent entegrasyonu, TCP/UDP port yönlendirme, Proxy Jump desteği
- UDP yönlendirme desteği sayesinde DNS, RTP, QUIC servisleri gibi UDP tabanlı sunuculara erişim yolu sağlar; QUIC datagram yolunu kullanır
- X.509 sertifikaları ile HTTPS düzeyinde sunucu kimlik doğrulaması
- Anahtarsız (Keyless) kimlik doğrulama: OpenID Connect ile açık anahtar kopyalamadan, kurumsal SSO veya Google/GitHub gibi harici hesaplarla bağlantı kurulabilir
Sonuç
- SSH3, modern ağ protokolleri ve kimlik doğrulama yöntemlerini benimseyerek SSH ortamını ileri taşıyan açık kaynaklı, deneysel bir projedir
- Hız, esneklik ve güvenliği büyük ölçüde artırsa da, yeterli doğrulama yapılmadan önce gerçek üretim kullanımında dikkatli olunmalıdır
- OpenSSH'e benzer bir kullanıcı deneyimi sunar ve yeni özellikler açısından da zengindir
- Sağlam bir güvenlik değerlendirmesi ve topluluk katılımıyla, gelecek nesil SSH olarak konumlanma potansiyeli taşır
1 yorum
Hacker News yorumu
ssh3adını gerçekten hiç beğenmemiştim; deponun en üstünde “SSH3'ün adı değişecek. Şu anda SSH Connection Protocol (RFC4254), HTTP/3 Extended connect üzerinde çalışıyor, ancak gerekli değişiklikler çok fazla ve mevcut SSH'tan fazla farklı olduğu için kolayca entegre edilebilecek düzeyde değil. Taslak spesifikasyonun adını zaten ‘Remote Terminals over HTTP/3’ olarak değiştirdik ve daha iyi, kalıcı bir ad bulmak için zamana ihtiyacımız var” yazıyor olması hoşuma gittiSSH+HTTP/3hissi veriyor)bike-sheddingtartışmasının başyapıtıackbeklemeden büyük miktarda veriyi art arda gönderebilir, dolayısıyla dünyanın dört bir yanına büyük dosyalarıscpile aktarırken ciddi hız artışı bekliyorumssh3'te head-of-line blocking büyük ihtimalle çözülmüştür; tek bir fiziksel bağlantı üzerinden birden fazla portu ya da bağlantıyı çoklayınca daha hızlı olacaktırhttpiçinde erimesi neden bu kadar hüzünlü geliyor bilmiyorumHTTP/3'ün taşıma katmanı) o kadar genel amaçlı ki,HTTPadının kendisi bile anlamını yitiriyor gibi. En azından QUIC, TCP'nin yerine geçen bir şey olarak oldukça net konumlanıyorconnection init, yani ağ bağlantısı başlatma karmaşıklığının artması yüzünden sonunda savaşta kendini kanıtlamış protokollere dayanan en iyi uygulamalara çıkmak gerektiğini de anlıyorum. Ama gerçek veri aktarımı artıkhypertextdeğilken buna hâlâhttpdemek tuhaf geliyorconnection migrationvemultipathdesteği QUIC'in temel özellikleri;roamingişlevi ile "yerleşiktmux" arasındaki farkta, bunun sisteme doğrudan entegre olmasının gerçekten ne kadar değerli olduğundan emin değilimcdyerineSet-Locationdaha tercih edilesi;remote-terminals-over-http3adı dassh3'ten daha iyimultipath/migrationve TCP kaynaklı blocking sorunlarını da çözerse, bu zaten başlı başına büyük bir ilerleme olur