Perché root su SSH è male
Ci sono molti robot là fuori che provano ad accedere al tuo computer tramite SSH. Questi robot funzionano nel modo seguente.
Eseguono qualcosa del genere ssh root@$IP
e poi provano password standard come "root" o "password123". Lo fanno il più a lungo possibile, fino a quando non trovano la password giusta. Su un server accessibile in tutto il mondo è possibile visualizzare molte voci di registro nei file di registro. Posso andare fino a 20 al minuto o più.
Quando gli attaccanti hanno fortuna (o abbastanza tempo) e trovano una password, avrebbero accesso alla radice e ciò significherebbe che sei nei guai.
Ma quando si impedisce a root di accedere tramite SSH, il bot deve prima indovinare un nome utente e quindi la password corrispondente. Supponiamo quindi che l'elenco di password plausibili contenga N
voci e che l'elenco di utenti plausibili sia M
composto da voci di grandi dimensioni. Il bot ha una serie di N*M
voci da testare, quindi questo rende un po 'più difficile per il bot rispetto al caso radice in cui è solo una serie di dimensioni N
.
Alcune persone diranno che questo ulteriore M
non è un vero guadagno in termini di sicurezza e sono d'accordo che si tratta solo di un piccolo miglioramento della sicurezza. Ma penso a questo più come questi piccoli lucchetti che di per sé non sono sicuri, ma impediscono a molte persone di accedere facilmente. Questo ovviamente è valido solo se la tua macchina non ha altri nomi utente standard, come tor o apache.
Il motivo migliore per non consentire il root è che root può fare molti più danni sulla macchina di quanto un utente standard possa fare. Quindi, se per fortuna trovano la tua password, l'intero sistema viene perso mentre con un account utente standard puoi solo manipolare i file di quell'utente (che è ancora molto male).
Nei commenti è stato menzionato che un utente normale potrebbe avere il diritto di utilizzare sudo
e se si indovinasse la password di questo utente, anche il sistema andrebbe completamente perso.
In sintesi, direi che non importa quale password dell'utente ottiene un utente malintenzionato. Quando indovinano una password non puoi più fidarti del sistema. Un utente malintenzionato può utilizzare i diritti di quell'utente per eseguire comandi sudo
, l'attaccante può anche sfruttare una debolezza del sistema e ottenere i privilegi di root. Se un attaccante ha avuto accesso al tuo sistema non puoi più fidarti di esso.
La cosa da ricordare qui è che ogni utente nel tuo sistema a cui è consentito accedere tramite SSH è un ulteriore punto debole. Disabilitando root si rimuove un'ovvia debolezza.
Perché le password su SSH sono sbagliate
Il motivo per disabilitare le password è davvero semplice.
- Gli utenti scelgono password errate!
L'intera idea di provare le password funziona solo quando le password sono indovinabili. Quindi quando un utente ha la password "pw123" il tuo sistema diventa insicuro. Un altro problema con le password scelte dalle persone è che le loro password non sono mai veramente casuali perché sarebbe difficile da ricordare.
Inoltre, gli utenti tendono a riutilizzare le proprie password, utilizzandole per accedere a Facebook o ai loro account Gmail e per il proprio server. Quindi, quando un hacker ottiene la password dell'account Facebook di questo utente, potrebbe accedere al tuo server. L'utente potrebbe facilmente perderlo a causa del phishing o il server di Facebook potrebbe essere violato.
Ma quando si utilizza un certificato per accedere, l'utente non sceglie la sua password. Il certificato si basa su una stringa casuale che è molto lunga da 1024 bit fino a 4096 bit (~ 128 - 512 caratteri password). Inoltre, questo certificato è lì solo per accedere al tuo server e non viene utilizzato con alcun servizio esterno.
link
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
Questo articolo proviene dai commenti e volevo dargli una posizione un po 'più prominente, poiché va un po' più a fondo nella questione delle botnet che provano ad accedere tramite SSH, come lo fanno, come appaiono i file di registro e cosa si può fare per fermarli. È stato scritto da Peter Hansteen.