Buttare fuori < Moduli incorporati a 2048 bit
Sul server: dai un'occhiata al sshd_config
e butta fuori diffie-hellman-group1-sha1
se appare nella sezione KexAlgorithms
.
E riavvia SSHD.
Verifica con Nmap
how can I test if that is good enough?
Ottieni Nmap ed esegui lo script 'ssh2-enum-algos' contro il server SSH .
Il diffie-hellman-group1-sha1
non deve apparire. Ha solo 1024 bit.
Buttare fuori < Moduli personalizzati a 2048 bit
Sul server: elimina i moduli DH meno di 2048 bit.
Ecco un codice. E 'adattato da un Domanda ServerFault :
awk '$5 >= 2048' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli
E riavvia SSHD.
Verifica con strumento SSH-Debole-DH
Ottieni, compila ed esegui lo strumento di identificazione di gruppo Diffie-Hellman debole SSH .
Lo strumento utilizza un client OpenSSH patchato che tenta varie volte di connettersi al server utilizzando diversi parametri del gruppo DH per il protocollo di scambio della chiave DH, determinando in tal modo se il server ha gruppi DH deboli abilitati. GDSSecurity spiega come funziona lo strumento sul blog .
Verifica con WireShark
Non so davvero come controllarlo.
Alcune idee di seguito:
Annota l'handshake sul client con WireShark.
Filtro per ssh
. Trova la riga Server: Diffie-Hellman Key Exchange Reply, New Keys
.
O ancora più veloce: filtra direttamente per ssh.message_code == 31
.
Guarda all'interno della sezione SSH Protocol | SSH Version 2 | Key Exchange | KEX DH host key
. C'è un testo ASCII leggibile dall'uomo lì che ti dirà quale meccanismo di scambio di chiavi è stato selezionato dal server. Se è qualcosa che inizia con ecdsa-
, allora sei al sicuro da LogJam. Altrimenti dovrai contare di nuovo i byte. E ci deve essere almeno 256. (256 x 8 bit == 2048 bit. Qual è ciò che vogliamo come lunghezza minima della chiave.)
Ulteriori letture: