Perché Ubuntu ha un account root disabilitato?

Ubuntu disabilita il login di root per “ragioni di sicurezza”. Comunque mi sembra che non aiuti affatto con la sicurezza.

Se un intruso riesce a ottenere la tua password di accesso per Ubuntu, allora ha anche la password del superutente, poiché è la stessa della password di accesso.

Tuttavia, se è richiesta la password di root, solo il login non aiuterà molto l’intruso – è vero no?

Quindi, in pratica, quello che voglio sapere è: perché Ubuntu ha scelto di disabilitare la password di root? Quali sono i motivi di sicurezza?

Per favore non rispondere in base a ciò che “pensi” fosse la ragione – sto cercando una risposta da fonti ufficiali o collegata a loro.

Mitch ha pubblicato un buon link nel commento: Perché è male accedere come root? e il sito Debian ha i principali vantaggi elencati nella loro wiki :

Perché sudo ?

L’utilizzo di sudo è migliore (più sicuro) dell’apertura di una sessione come root per una serie di motivi, tra cui:

  • Nessuno ha bisogno di conoscere la password di root ( sudo richiede la password dell’utente corrente). È ansible concedere temporaneamente privilegi extra ai singoli utenti e portarli via senza la necessità di modificare la password.

  • È facile eseguire solo i comandi che richiedono privilegi speciali tramite sudo ; il resto del tempo, lavori come un utente non privilegiato, che riduce il danno che gli errori possono causare.

  • Controllo / registrazione: quando viene eseguito un comando sudo , vengono registrati il ​​nome utente e il comando originali.

Per i motivi precedenti, passare a root usando sudo -i (o sudo su ) è solitamente deprecato perché annulla le funzionalità di cui sopra.

Riguardo a Ubuntu I vantaggi e gli svantaggi sono elencati sulla nostra wiki :

Benefici dell’uso di sudo

Esistono numerosi vantaggi per Ubuntu che lasciano i login di root disabilitati per impostazione predefinita, tra cui:

  • L’installatore ha meno domande da porre. Gli utenti non devono ricordare una password aggiuntiva per l’uso occasionale (cioè la password di root). Se lo facessero, probabilmente lo dimenticheranno (o lo registreranno in modo non sicuro, permettendo a chiunque di crackare facilmente nel loro sistema).

  • Evita l’accesso interattivo “Posso fare qualsiasi cosa” per impostazione predefinita. Ti verrà richiesta una password prima che possano verificarsi importanti cambiamenti, che dovrebbero farti riflettere sulle conseguenze di ciò che stai facendo.

  • sudo aggiunge una voce di registro del comando (i) eseguito (in /var/log/auth.log ). Se ti incasina, puoi tornare indietro e vedere quali comandi sono stati eseguiti.

  • Su un server, ogni cracker che cerca di forzare la brute-force saprà che ha un account chiamato root e proverà a farlo prima. Quello che non sanno è quali sono i nomi utente degli altri utenti. Poiché la password dell’account di root è bloccata, questo attacco diventa sostanzialmente priva di significato, poiché in primo luogo non vi è alcuna password da scartare o indovinare.

  • Consente un trasferimento facile per i diritti di amministrazione aggiungendo e rimuovendo utenti dai gruppi. Quando si utilizza una singola password di root, l’unico modo per de-autorizzare gli utenti è modificare la password di root.
  • sudo può essere impostato con una politica di sicurezza molto più dettagliata. La password dell’account di root non deve essere condivisa con tutti coloro che devono eseguire alcuni tipi di attività amministrative sul sistema (consultare il punto precedente).

  • L’autenticazione scade automaticamente dopo un breve periodo (che può essere impostato su un valore minimo o uguale a 0); quindi se ti allontani dal terminale dopo aver eseguito i comandi come root usando sudo, non lascerai un terminale root aperto indefinitamente.

Svantaggi dell’uso di sudo

Sebbene per i desktop i vantaggi dell’uso di sudo siano grandi, ci sono alcuni problemi che devono essere segnalati:

  • Il reindirizzamento dell’output dei comandi eseguiti con sudo richiede un approccio diverso. Ad esempio, considera sudo ls > /root/somefile non funzionerà poiché è la shell che tenta di scrivere su quel file. Puoi usare ls | sudo tee -a /root/somefile ls | sudo tee -a /root/somefile per aggiungere o ls | sudo tee /root/somefile ls | sudo tee /root/somefile per sovrascrivere i contenuti. È anche ansible passare l’intero comando a un processo shell eseguito su sudo per fare in modo che il file venga scritto con i permessi di root, come sudo sh -c "ls > /root/somefile" .

  • In molti ambienti di ufficio, l’utente locale SOLO su un sistema è root. Tutti gli altri utenti vengono importati usando tecniche NSS come nss-ldap. Per impostare una workstation, o correggerla, nel caso di un errore di rete in cui nss-ldap è danneggiato, è richiesto root. Questo tende a lasciare il sistema inutilizzabile a meno che non sia rotto. Qui è necessario un utente locale aggiuntivo o una password di root abilitata. L’account utente locale deve avere $ HOME su un disco locale, non su NFS (o qualsiasi altro file system in rete), e un file .profile / .bashrc che non fa riferimento a nessun file su mount NFS. Questo di solito è il caso di root, ma se si aggiunge un account di ripristino non root, è necessario prendere queste precauzioni manualmente. Tuttavia, il vantaggio di utilizzare un utente locale con sudo è che i comandi possono essere facilmente rintracciati, come menzionato nei vantaggi sopra.

E l’abbiamo sempre avuto (dalla primissima versione).


Il riferimento più antico che ho trovato parla di 4.10 che ha “sudo”

SHUTTLEWORTH LANCIA UBUNTU LINUX DEBIAN-BASED

… Ubuntu Linux basato su Debian include Gnome 2.8, kernel 2.6.8.1, OpenOffice.org 1.1.2 e viene fornito con una procedura di installazione basata sul testo, ma semplice. Ubuntu ha disabilitato l’utente root preferendo usare sudo come Mac OSX fa …

Credo che ciò che è scritto nella pagina di aiuto sia abbastanza chiaro e abbastanza objective.

Ubuntu è “per tutti” e anche se sei abbastanza bravo non hai bisogno dell’accesso root per danneggiare il tuo computer, allo stesso tempo non ne hai quasi bisogno (e sai come abilitarlo facilmente).
Quindi il problema non è con le persone che sono “abbastanza brave”, ma per tutti gli altri, che possono arrivare a Linux da un altro mondo di informatica e il primo impatto è con Ubuntu (e siamo in molti).

Se non sei un esperto e non sai esattamente cosa sia root e come gestirlo correttamente, non vuoi né devi averlo abilitato (e rischi, per esempio, di fare un login grafico con esso).
È molto meglio imparare come fare le cose dal lato sicuro e poi passare a un percorso più difficile e più pericoloso, piuttosto che iniziare direttamente nel modo più duro e poi danneggiare l’installazione / workstation, essere frustrati e forse non riuscire a recuperare un funzionamento pienamente funzionante sistema.
In generale, prevenire è molto meglio che curare.