Özel SSH DH gruplarını yalnızca istemci sistemlerine dağıtmanın herhangi bir güvenlik avantajı var mı?


16

SSH'ye yönelik Logjam ile ilgili saldırılara karşı önerilen hafifletici stratejilerden biri , aşağıdakiler gibi özel bir SSH Diffie-Hellman grubu oluşturmaktır (aşağıda OpenSSH içindir)

ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates

ardından sistem genelindeki modül dosyası çıktı dosyası ile değiştirilir moduli-2048. ( ssh-keygen -Gaday DH-GEX primerlerini ssh-keygen -Türetmek ve üretilen adayları güvenlik açısından test etmek için kullanılır.)

Bu, aksi takdirde kendilerini ön hesaplamaya iyi borç veren iyi bilinen grupları kullanan SSH sunucularında yapılması oldukça makul bir şeydir, ancak özel SSH DH gruplarını yalnızca istemci sistemlere dağıtmanın herhangi bir güvenlik faydası var mı? (Yani, SSH sunucularına bağlanan, ancak asla SSH sunucusu olarak davranmayan sistemler.)

Öncelikle Linux'ta OpenSSH ile ilgili cevaplarla ilgileniyorum, ancak daha genel cevaplar da takdir edilecektir.

Yanıtlar:


18

Gerçekten isterseniz, ancak OpenSSH için 2048 bit DH parametrelerini yenilemeyi rahatsız etmem. SSH'yi güvence altına almak için, zayıf kriptoyu devre dışı bırakmak gibi yapmanız gereken çok daha önemli şeyler var .

Ne olur ne 2048 parçalarıdır mevcut olanları silmek.

awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli

Fark etmemiş olmanız durumunda, OpenSSH 8192 bite kadar önceden oluşturulmuş çok sayıda modülle birlikte gönderilir. Bugün kesinlikle 1024 bitlik primlerden endişelenirken, 2048 bitliklerin öngörülebilir gelecek için güvenli olduğuna inanılıyor. Ve bu sonunda değişecek olsa da, önümüzdeki hafta olabilir, ancak emekli olduktan sonra daha uzun sürebilir ...

ssh-keygenMan sayfasında bu meraklı bit de var :

Bu dosyanın çeşitli bit uzunluklarında modüller içermesi ve bir bağlantının her iki ucunun da ortak modülleri paylaşması önemlidir.

Mevcut modüllerin değiştirilmesine karşı olduğu anlaşılıyor, ancak bunu yapmak için gerçek bir neden sağlamıyor.


İlgili: her iki tarafta farklı modülüne kullanarak Diffie-Hellman üzerinde Kriptografi . Benim sınırlı anlayış için, şunlar anlaşılmaktadır istenilen uzunlukta hiçbir ortak modülü varsa, o uzunlukta bir grup ile Diffie-Hellman genel durumda mümkün değildir ve herhangi bir spesifik durumda mümkün olmayabilir. Bu nedenle, iki uç nokta arasında paylaşılan modüllerin olması, Diffie-Hellman anahtar değişim protokolünün matematiksel bir gereksinimidir ve ortak modülleri olmayan iki uç nokta arasında bir Diffie-Hellman anahtar değişimi gerçekleştirmeye çalışmak başarısız olacaktır.
CVn

2
RFC 4419 [ tools.ietf.org/html/rfc4419] , sunucunun özel DH parametreleri sağlamasına izin vermek içindir. Sunucu, aday parametrelerini istemciye gönderir ve istemci kabul ederse, her iki taraf da sunucu tarafından sağlanan parametreleri kullanarak oturum anahtarı olarak kullanılan paylaşılan bir sır oluşturur. Bu nedenle, sunucu ve istemci kendi moduli dosyasında aynı girişlere sahip değilse mükemmel olur.
Brian Minton

2

Cevap: Hayır. Hiçbir faydası yok. :)

/etc/ssh/moduli dosyası yalnızca sunucu tarafı için kullanılır.

SSH istemci tarafı için bu dosya hakkında endişelenmenize gerek yok:

SSH istemcisinin yürütülmesini izleyebilir ve bu dosyayı açıp açmadığını kontrol edebilirsiniz.

$ strace -e openat ssh user@localhost
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.