Apakah ada manfaat keamanan untuk menyebarkan grup DH SSH khusus ke sistem khusus klien?

16

Salah satu strategi mitigasi yang disarankan terhadap serangan yang terkait dengan Logjam pada SSH adalah menghasilkan grup SSH Diffie-Hellman khusus menggunakan sesuatu seperti (di bawah ini untuk OpenSSH)

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

diikuti dengan mengganti file moduli seluruh sistem dengan file output moduli-2048. ( ssh-keygen -Gdigunakan untuk menghasilkan kandidat primer DH-GEX, dan ssh-keygen -Tuntuk menguji kandidat yang dihasilkan untuk keamanan.)

Ini jelas merupakan hal yang wajar untuk dilakukan pada server SSH yang jika tidak akan menggunakan kelompok-kelompok terkenal yang cocok untuk perhitungan awal, tetapi apakah ada manfaat keamanan untuk menempatkan kelompok DHH SS khusus ke dalam sistem khusus klien? (Yaitu, sistem yang terhubung ke server SSH, tetapi tidak pernah bertindak sebagai server SSH sendiri.)

Saya terutama tertarik pada jawaban yang berkaitan dengan OpenSSH di Linux, tetapi jawaban yang lebih umum akan dihargai juga.

sebuah CVn
sumber

Jawaban:

18

Anda bisa jika Anda benar-benar menginginkannya, tetapi saya tidak akan repot-repot membuat ulang parameter DH 2048-bit untuk OpenSSH. Ada banyak hal lebih penting yang perlu Anda lakukan untuk mengamankan SSH, seperti menonaktifkan crypto yang lemah .

Apa yang akan saya lakukan adalah menghapus yang sudah ada yang kurang dari 2048 bit.

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

Jika Anda tidak menyadarinya, OpenSSH dikirimkan dengan sejumlah besar moduli pra-hasilkan, hingga 8192 bit. Sementara kita tentu prihatin dengan bilangan prima 1024-bit hari ini, yang 2048-bit diyakini aman untuk masa mendatang. Dan sementara itu pada akhirnya akan berubah, itu mungkin minggu depan, tetapi itu lebih mungkin untuk menjadi lama setelah kita menjadi pensiunan ...

Ada juga bagian aneh di ssh-keygenhalaman manual ini:

Adalah penting bahwa file ini berisi moduli dari kisaran panjang bit dan kedua ujung koneksi berbagi moduli umum.

Yang tampaknya menentang penggantian moduli yang ada, meskipun itu tidak benar-benar memberikan alasan sebenarnya untuk melakukannya.

Michael Hampton
sumber
Terkait: Diffie-Hellman menggunakan modulus berbeda di kedua sisi pada Kriptografi . Untuk pemahaman saya yang terbatas, tampak bahwa jika tidak ada moduli bersama dari panjang yang diinginkan, Diffie-Hellman dengan kelompok panjang itu tidak mungkin dalam kasus umum, dan mungkin tidak mungkin dalam kasus tertentu. Oleh karena itu, memiliki moduli dibagi antara dua titik akhir adalah persyaratan matematika dari protokol pertukaran kunci Diffie-Hellman, dan berusaha untuk melakukan pertukaran kunci Diffie-Hellman antara dua titik akhir yang tidak memiliki moduli umum akan gagal.
CVn
2
RFC 4419 [ tools.ietf.org/html/rfc4419] tepat untuk memungkinkan server memberikan parameter DH khusus. Server mengirimkan parameter kandidat ke klien, dan jika klien setuju, kedua belah pihak menggunakan parameter yang disediakan server untuk menghasilkan rahasia bersama yang digunakan sebagai kunci sesi. Jadi, tidak apa-apa jika server dan klien tidak memiliki entri yang sama dalam file moduli mereka.
Brian Minton
2

Jawabannya adalah: Tidak. Tidak ada manfaatnya. :)

/etc/ssh/moduli file hanya digunakan untuk sisi server.

Anda tidak perlu khawatir tentang file itu untuk sisi klien SSH:

Anda dapat melacak eksekusi klien SSH dan memeriksa apakah itu tidak membuka file itu.

$ strace -e openat ssh user@localhost
Adi Roiban
sumber