Dört aylık geliştirme sürecinin ardından SSH 8.4 ve SFTP protokollerini kullanarak çalışmaya yönelik açık bir istemci ve sunucu uygulaması olan OpenSSH 2.0'ün piyasaya sürülmesi.
Ana değişiklikler:
- Güvenlik değişiklikleri:
- Ssh-agent'ta, SSH kimlik doğrulaması için oluşturulmamış FIDO anahtarları kullanıldığında (anahtar kimliği "ssh:" dizesiyle başlamıyor), artık mesajın SSH protokolünde kullanılan yöntemler kullanılarak imzalanıp imzalanmayacağını kontrol ediyor. Değişiklik, ssh-agent'ın, web kimlik doğrulama istekleri için imza oluşturmak üzere bu anahtarları kullanma yeteneğini engellemek üzere FIDO anahtarlarına sahip uzak ana bilgisayarlara yönlendirilmesine izin vermeyecektir (bir tarayıcının bir SSH isteğini imzalayabildiği durumun tersi, başlangıçta hariç tutulmuştur) anahtar tanımlayıcısında “ssh:” önekinin kullanılması nedeniyle).
- ssh-keygen'in yerleşik anahtar üretimi, FIDO 2.1 spesifikasyonunda açıklanan credProtect eklentisi desteğini içerir; bu eklenti, yerleşik anahtarın belirteçten çıkarılmasıyla sonuçlanabilecek herhangi bir işlemi gerçekleştirmeden önce bir PIN gerektirerek anahtarlar için ek koruma sağlar.
- Potansiyel olarak bozulan uyumluluk değişiklikleri:
- FIDO/U2F'yi desteklemek için libfido2 kitaplığının en az 1.5.0 sürümünün kullanılması önerilir. Eski sürümleri kullanma özelliği kısmen uygulandı ancak bu durumda yerleşik anahtarlar, PIN isteği ve birden fazla token bağlama gibi işlevler kullanılamayacak.
- Ssh-keygen'de, dijital imzaların onaylanmasının doğrulanması için gerekli olan kimlik doğrulayıcı verileri, bir FIDO anahtarı oluşturulurken isteğe bağlı olarak kaydedilen onay bilgilerinin formatına eklenmiştir.
- OpenSSH, FIDO belirteçlerine erişim katmanıyla etkileşime girdiğinde kullanılan API değiştirildi.
- OpenSSH'nin taşınabilir bir sürümünü oluştururken, artık yapılandırma betiğini ve beraberindeki derleme dosyalarını oluşturmak için automake gerekmektedir (yayınlanmış bir kod tar dosyasından derleme yapılıyorsa, yapılandırmanın yeniden oluşturulması gerekli değildir).
- Ssh ve ssh-keygen'de PIN doğrulaması gerektiren FIDO anahtarları için destek eklendi. PIN ile anahtar oluşturmak için ssh-keygen'e “doğrulama gerekli” seçeneği eklendi. Bu tür anahtarların kullanılması halinde imza oluşturma işlemi yapılmadan önce kullanıcıdan PIN kodunu girerek işlemlerini onaylaması istenir.
- Sshd'de, yetkili_keys ayarında "doğrulama gerekli" seçeneği uygulanır; bu, belirteçle yapılan işlemler sırasında kullanıcının varlığını doğrulamak için yeteneklerin kullanılmasını gerektirir. FIDO standardı bu tür doğrulama için çeşitli seçenekler sunar, ancak şu anda OpenSSH yalnızca PIN tabanlı doğrulamayı desteklemektedir.
- sshd ve ssh-keygen, FIDO anahtarlarının web tarayıcılarında kullanılmasına olanak tanıyan FIDO Webauthn standardına uygun dijital imzaların doğrulanması için destek ekledi.
- SertifikaDosyası ayarlarındaki ssh'de,
ControlPath, IdentityAgent, IdentityFile, LocalForward ve
RemoteForward, "${ENV}" biçiminde belirtilen ortam değişkenlerinden değerlerin değiştirilmesine olanak tanır. - ssh ve ssh-agent, ssh-askpass çağrısını etkinleştirmek veya devre dışı bırakmak için kullanılabilen $SSH_ASKPASS_REQUIRE ortam değişkeni için destek ekledi.
- AddKeysToAgent yönergesindeki ssh_config dosyasındaki ssh'ye, bir anahtarın geçerlilik süresini sınırlama özelliği eklendi. Belirtilen limitin süresi dolduktan sonra anahtarlar ssh-agent'tan otomatik olarak silinir.
- Scp ve sftp'de, "-A" bayrağını kullanarak, artık ssh-agent kullanarak scp ve sftp'ye yeniden yönlendirmeye açıkça izin verebilirsiniz (yönlendirme varsayılan olarak devre dışıdır).
- Ana makine anahtarı adını belirten ssh ayarlarında '%k' değişikliği için destek eklendi. Bu özellik, anahtarları ayrı dosyalara dağıtmak için kullanılabilir (örneğin, “UserKnownHostsFile ~/.ssh/known_hosts.d/%k”).
- Stdin'den silinecek anahtarların okunması için "ssh-add -d -" işleminin kullanılmasına izin verin.
- Sshd'de bağlantı budama işleminin başlangıcı ve bitişi, MaxStartups parametresi kullanılarak düzenlenen günlüğe yansıtılır.
OpenSSH geliştiricileri ayrıca SHA-1 karmalarını kullanan algoritmaların kullanımdan kaldırılacağını da hatırlattı. belirli bir önekle çarpışma saldırılarının etkinliği (bir çarpışma seçmenin maliyetinin yaklaşık 45 bin dolar olduğu tahmin edilmektedir). Gelecek sürümlerden birinde, SSH protokolü için orijinal RFC'de bahsedilen ve pratikte yaygın olarak kalan (kullanımı test etmek için) genel anahtar dijital imza algoritması "ssh-rsa"yı kullanma yeteneğini varsayılan olarak devre dışı bırakmayı planlıyorlar. Sistemlerinizde ssh-rsa varsa, “-oHostKeyAlgorithms=-ssh-rsa” seçeneğiyle ssh aracılığıyla bağlanmayı deneyebilirsiniz.
OpenSSH'de yeni algoritmalara geçişi kolaylaştırmak için bir sonraki sürüm, istemcileri otomatik olarak daha güvenilir algoritmalara geçirecek olan UpdateHostKeys ayarını varsayılan olarak etkinleştirecektir. Geçiş için önerilen algoritmalar arasında RFC2 RSA SHA-256'yi temel alan rsa-sha512-8332/2 (OpenSSH 7.2'den beri desteklenir ve varsayılan olarak kullanılır), ssh-ed25519 (OpenSSH 6.5'ten beri desteklenir) ve ecdsa-sha2-nistp256/384/521 tabanlı bulunur. RFC5656 ECDSA'da (OpenSSH 5.7'den beri desteklenmektedir).
Kaynak: opennet.ru
