La disabilitazione dell'accesso root migliora la sicurezza?


13

Recentemente ho trovato un argomento contro la disabilitazione dell'accesso di un utente root in Linux all'indirizzo http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html

Suppongo che, se tutti usano un'autenticazione con chiave pubblica, non c'è rischio di perdere la password di root.

È sempre meglio disabilitare il login root tramite ssh?


1
Quello che devi davvero chiedere è "La disabilitazione dell'accesso root è conforme alla mia politica di sicurezza?" La politica di ognuno è diversa per vari motivi.
Alex Holst,

Risposte:


10

La risposta breve è che minore è il profilo di attacco, migliore è. Sempre. Se non ti serve o puoi usare un'alternativa come sudo o su, allora non abilitare il login root.

Un grande argomento a favore della disabilitazione di root e dell'uso di sudo / su è che puoi tenere traccia di chi sta facendo cosa. Un utente - un accesso. Non condividere mai gli account.

L'argomento su quel link sembra essere specifico per l'accesso locale, piuttosto che per ssh.


3
Il punto di tracciamento è controverso: sudo -ie le tue azioni vengono mostrate come root, non tue
Fahad Sadah,

2
Ma hai il registro del loro login originale. Potresti non avere prove, ma hai prove. Inoltre puoi controllare a cosa l'utente ha accesso e cosa può fare.
In pausa fino a ulteriore avviso.

Che dire di una situazione utente per sistema operativo? C'è solo una persona che gestisce il sistema, posso tracciare chi sta già facendo cosa. Usa sudo per rendere la stringa bash molto complessa ... ad esempio: unix.stackexchange.com/questions/551899/…
bronzo uomo

8

Secondo il punto di Dennis, più:

Consentire l'accesso root tramite SSH significa anche che root è attaccabile da ipotesi di password brute force.

Perché root è sempre lì e la ricompensa è così alta, è un obiettivo prioritario. Il nome utente dovrebbe essere indovinato prima, il che aggiunge alcuni ordini di grandezza alla difficoltà del problema.


Inoltre, poiché è root, come con la maggior parte degli account admin, anche se imposti il ​​tuo sistema per bloccare gli account dopo (x) errori, non lo farà. Devi invece impostare qualcosa per bloccare gli IP dopo guasti, ma anche questo non aiuterà contro una forza bruta distribuita.
Joe H.

1
Puoi rinominare l'account di root, proprio come qualsiasi altro.
Fahad Sadah,

@fahadsadah Alcuni software presuppongono UID 0 == root. Una volta ho provato a rinominare il root su un router OpenWRT e la sua interfaccia web si è rotta.
Gerald Combs,

3
Il root tramite ssh NON significa automaticamente che il sistema è suscettibile alla forza bruta. Prendi in considerazione un sistema con l' PermitRootLogin without-passwordopzione impostata.
Zoredache,

4

Non disabilitare mai l'account root se non si dispone dell'accesso alla console. Se il file system si riempie e l'avvio non riesce durante la creazione di / etc / nologin, solo l'account root potrà accedere al computer.

Detto questo, se hai accesso alla console per affrontare queste situazioni, chiudere l'account di root potrebbe farti venire il mal di testa, poiché nessuno sarà in grado di accedere all'account di root usando un attacco da dizionario (la mia esperienza è che questi sono costanti in questi giorni - qualcuno ci prova sempre). Altre cose che potresti pensare di fare:

  • Installa un programma come fail2ban che chiude automaticamente l'accesso a un indirizzo IP se fallisce l'autenticazione più di un numero di volte (per proteggere attivamente dagli attacchi del dizionario).
  • Usa solo i tasti ssh.
  • Se gestisci molte macchine, usa cfengine o altro per gestire le chiavi pubbliche che autorizzi ad entrare in una macchina (oppure ottieni quelle obsolete abbastanza rapidamente).

Cordiali saluti,
João Miguel Neves


1

È sempre meglio disabilitare l'accesso root tramite SSH.

Esistono sistemi PKI (ad es. Chiavi pubbliche con SSH) che sono stati compromessi. SSH ha già avuto in passato difetti di autenticazione remota che hanno consentito il verificarsi di un compromesso di root. Le PKI software sono notoriamente più deboli delle PKI basate su hardware .... Se il computer host è compromesso, anche il server di destinazione potrebbe cadere facilmente. Oppure potrebbero esserci nuovi difetti trovati in SSH. Limitando l'accesso root, è possibile anche prolungare il periodo di tempo necessario a un utente malintenzionato per eseguire l'escalation dei privilegi.

Storicamente, molti amministratori hanno usato gli host bastion (sostanzialmente gateway) per entrare in una rete e poi passare alle caselle in seguito. L'uso di una distribuzione sicura (ad es. OpenBSD) come host di bastioni, in combinazione con diversi sistemi operativi fornisce difesa in profondità e difesa in diversità (una vulnerabilità in meno che compromette l'intera rete).

Considera anche di avere una connessione fuori banda alla tua rete, come un concentratore seriale, uno switch seriale o altro. Ciò fornirà la disponibilità di backup dell'interfaccia amministrativa, se necessario.

Dato che sono paranoico e in sicurezza, avrei più probabilità di utilizzare una VPN IPSEC o VPN di tipo 1 e quindi eseguire SSH su di essa, senza alcuna esposizione Internet di SSH. Mettere la VPN sull'hardware di rete può semplificare notevolmente l'implementazione.


0

Dovremmo esaminare questa domanda da diversi punti.

Ubuntu disabilita l'account root per impostazione predefinita, il che significa che non è possibile accedere tramite SSH con root. Tuttavia, consente a chiunque disponga di un CD di Ubuntu di eseguire l'avvio e ottenere l'accesso come root.

Credo che il miglior compromesso sia abilitare l'account root con accesso SSH disabilitato. Se hai bisogno dell'accesso root con SSH, accedi con un utente normale e usa sudo. In questo modo protegge l'accesso al box, senza compromettere la sicurezza remota.


2
Quando qualcuno avvia il tuo computer con un CD è già troppo tardi, ha già lanciato il tuo computer. Il meglio che puoi sperare è una partizione di dati crittografata.
Kamil Kisiel,

1
Se hai accesso al "portabicchieri", non hai bisogno di ssh.
In pausa fino a ulteriore avviso.

@Kamil Kisiel questo non significa che non puoi mettere blocchi stradali per scoraggiarli. Qual è la frase? Se riescono a toccare la tua scatola, possono possederla. Ma dobbiamo mettere le cose in prospettiva. @Dennis Williamson puoi spiegare ulteriormente il tuo commento?
Natalie Adams,

Quali blocchi stradali? Se stai eseguendo l'avvio dal tuo CD, non hai bisogno di password. Hai appena letto il filesystem.
Kamil Kisiel,

0

Direi di sì, il login come root dovrebbe essere disabilitato per verificabilità. Se sei l'unico amministratore di sistema su questa macchina, è banale determinare chi ha fatto cosa a chi, ma se dieci persone sono autorizzate ad amministrare la scatola e tutti conoscono la password di root, abbiamo un problema.

Indipendentemente dal fatto che root sia abilitato, né root né nessun altro utente dovrebbe essere autorizzato ad accedere in remoto con una password. fail2ban non farà nulla contro una botnet a forza bruta lenta e non funziona affatto con IPv6. (La versione 1 del protocollo ssh e le precedenti implementazioni della versione 2 erano vulnerabili agli attacchi di indovinare la password contro richieste interattive di password all'interno della sessione ssh, ma questo sembra non essere più il caso di un'implementazione ssh sufficientemente recente.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.