Quanto è vecchia la vostra chiave ssh?
Rigenerare le chiavi ssh usate per collegarsi ai server è una rottura di scatole, ma potrebbe essere una rottura di molte unità di grandezza inferiore rispetto allo scoprire che una chiave ssh viene usata da mesi a nostra insaputa.
Quanto sono cortelunghe le chiavi ssh registrate nei file authorized-keys dei vostri server?
Per fortuna a questa ultima domanda c’è una risposta veloce sotto forma di un pratico script shell.
#!/bin/sh
set -ue
tmp="$(mktemp -t fingerprint-authkeys.XXXXXXXX)"
trap 'rm -f "$tmp"' 0
while read opts key; do
case "$opts" in
[0-9]*|ssh-dss|ssh-rsa)
# not options, first "word" is part of key
key="$opts $key"
;;
esac
echo "$key" >$tmp
set -- $(ssh-keygen -lf "$tmp")
bits="$1" fingerprint="$2"
set -- $key # Note: will mangle whitespace in the comment
case "$1" in
[0-9]*) # SSH v1 key
type=rsa1
shift 3
;;
ssh-rsa|ssh-dss) # SSH v2 key
type="$1"
shift 2
;;
*)
type=unknown
set --
;;
esac
printf '%-14s %-9s %s %s\n' "$type" "$bits" "$fingerprint" "$*"
done <$1
Una volta salvato e reso eseguibile, si può lanciare lo script passando come unico parametro obbligatorio il percorso di un file authorized-keys.
L’output del file sarà qualcosa di simile a questo:
ssh-rsa 2048 ba:dd:ec:af:f3:48:c2:9b:64:7d:e7:21:10:fb:28:00 pippo ssh-rsa 4096 de:ad:be:ef:51:32:a2:f1:9d:ef:35:6c:95:58:ad:00 pluto ssh-rsa 4096 b1:9b:b0:0b:50:8a:dd:e4:ef:f8:d7:b4:0f:ec:a9:00 paperone ssh-rsa 4096 f0:0d:be:fe:b6:48:97:ba:ac:90:0d:c2:60:bf:5e:00 paperino
Qui vediamo che la chiave di pippo è l’unica a 2048 bit, mentre le altre sono già a 4096.
Le chiavi a 1024 sono state violate nel 2010, quindi sotto i 2048 bit siete protetti giusto dai ladri di polli; le linee guida attuali (Debian, per citarne una) consigliano l’uso di chiavi a 4096 bit.
Bisogna sottolineare che è vero che 4096 è il doppio di 2048, ma la complessità della chiave è esponenziale, quindi se si ipotizza che una chiave a 2048 potrebbe essere attaccata con successo in qualche centinaio di giorni, con la stessa potenza di calcolo potrebbero essere necessari anni per violare una chiave a 4096 bit.
Come obblighiamo gli utenti a cambiare password periodicamente, così dobbiamo anche noi cambiare periodicamente le chiavi e utilizzare possibilmente quelle a 4096 bit.
Lascia un commento