Perché è male eseguire come root?


9

Mi sono imbattuto spesso in post su forum o altri siti Web in cui vedi persone che scherzano in modo tale da eseguire / accedere come root come se fosse qualcosa di terribile e tutti dovrebbero saperlo. Tuttavia, non c'è molto che una ricerca rivela sulla questione. Forse è ampiamente conosciuto dagli esperti di Linux, ma non so davvero perché. Ricordo di aver sempre funzionato come root quando ho provato Linux per la prima volta anni fa (Redhat e Mandrake) e non ricordo di essermi imbattuto in problemi a causa di ciò. In realtà ci sono alcune distro che hanno uno sfondo rosso brillante con segni di avviso su di esso come sfondo per l'utente root (Suse?). Uso ancora l'account "Amministratore" per un uso regolare nella mia installazione di Windows e non ho mai riscontrato problemi.

Risposte:


9

Questi utenti hanno accesso amministrativo al sistema, un livello di autorizzazione che consente loro e alle applicazioni che eseguono di eludere i meccanismi di protezione (come le autorizzazioni del file system), consentendo loro di fare tutto su un sistema. Il software dannoso ama l'accesso senza restrizioni.

Come semplice esempio,

sudo rm -rf *

eliminerà praticamente tutto su un sistema Linux, se ti trovi nella directory principale. Non deve essere così ovvio o malizioso. Qualcosa come variabili inaspettatamente indefinite negli script che richiedono i privilegi di root può causare gravi problemi:

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

A volte, è un semplice errore di battitura in uno script che elimina metà del sistema.

Pertanto, la raccomandazione generale è quella di utilizzare i programmi di esecuzione solo con autorizzazioni elevate se è veramente necessario.


3
Quindi in breve: sta diventando pericoloso.
digitxp

Il solo guardare quel comando mi fa venire il mal di stomaco.
Paul Lammertsma,

4

Il root su Linux è persino più potente di un account amministratore su Windows. È paragonabile all'account SYSTEM su Windows, che normalmente non è accessibile.


0

Sarebbe l'equivalente di disabilitare completamente UAC e di eseguirlo come amministratore per tutti gli utenti su una finestra di Windows. I malware possono essere installati più facilmente, i download sono più efficaci, se c'è una penetrazione ora sono dio sul tuo computer. Basta rimuovere efficacemente i privilegi dell'utente (generalmente cattiva pratica). imho, se non hai avuto un problema sei stato molto fortunato, hai abitudini di navigazione incredibilmente sicure, o molto probabilmente .... hai avuto un problema e non lo sapevi.


Che tipo di problemi avrei potuto avere (e avere ora su Windows) e non conoscere?
Mussnoon

Potresti non rilevare alcuni tipi di rootkit che non fanno nulla di intensivo per il processore o intensivo del disco (come eseguire il polling di un sito Web con un singolo get / post ogni 2 minuti per far parte di un DDoS). Altre possibilità includono la ricerca lenta del disco per i dati relativi al PCI (numeri di carta di credito)
RobotHumans

0

Ho (almeno due volte) script scritti che avrebbero dovuto sfogliare la struttura delle directory in un modo particolare ed eseguire rm -rf *in alcune directory. Si è verificato un bug e lo script ha finito per andare alla "/"directory (root) ed eseguire rm -rf *. Questo è ovviamente l'esempio del peggior tipo, ma script o comandi malvagi minori possono causare seri danni al sistema se eseguiti come root.


Per gli script (specialmente quelli che devono essere eseguiti con i privilegi di root) dovresti usare reti di sicurezza come "rm -rf / full / path / to / target / dir / *" o "cd / some / inesistente / directoy / | exit 1" .

0

Oltre ai poteri che ne derivano, e quindi agli effetti degli errori, arriva anche senza avvertimenti. Ed è gli avvisi che ti avvisano di cose inaspettate.

Come quando si esegue una GUI come root: come si fa a sapere che alcuni malware hanno tentato di installarsi?


0

Hai la triste sfortuna di Microsoft e degli antivirus che si occupano del problema. L'account amministratore (root) deve avere accesso illimitato (come dichiarato da tutti). Può non solo modificare i file di sistema che si traducono in una macchina che non può essere avviata, ma può accedere ad altri dati utente (le autorizzazioni utente non sono sufficienti per proteggere l'accesso e la modifica dei dati quando è disponibile l'accesso fisico al computer). Ora passiamo a ciò che non "vedi".

È stata una pratica sfortunata eseguire sempre un computer Windows come amministratore. Ci sono buoni motivi per questo, come la possibilità di diventare un altro utente all'interno di una sessione succhiata (l'installazione del programma richiederebbe la disconnessione e l'accesso come amministratore e l'installazione dell'applicazione, che potrebbe anche richiedere l'esecuzione da amministratore). Il risultato è che il tuo computer viene utilizzato per cose che non ti aspettavi, anche se non hai installato l'applicazione.

Il risultato non è che le persone si stiano allontanando dall'esecuzione come Admin, ma Microsoft sta concedendo il controllo delle autorizzazioni alla struttura di sottolineatura dell'UAC del sistema operativo. Ciò significa che ti viene chiesto di autorizzare l'esecuzione dell'applicazione, indipendentemente da chi sei. Vista è stato davvero male perché aveva due livelli per gli utenti Admin, "Vuoi eseguire questo programma?", "Ok, ora che stai eseguendo questo programma, vorresti lasciarlo funzionare?"

In Linux vedi una filosofia molto diversa. Prima di tutto, il sistema operativo fa ciò che dici, non ricontrollando che volevi davvero eseguire un'applicazione. In secondo luogo, l'utente non può fare tutto ciò che vuole sul sistema. Ciò significa che il sistema è al sicuro da errori dell'utente, ma l'utente può sempre aumentare le proprie autorizzazioni al livello corretto se lo desidera. Microsoft ha fondamentalmente creato un livello di escalation delle autorizzazioni separato dal livello utente, Linux / Unix ha sempre avuto un progetto per intensificare le autorizzazioni che funzionavano con gli utenti.


0

In Linux, per lo più ti impedisce (o un'applicazione che agisce per tuo conto) di fare accidentalmente qualcosa di stupido.

In Windows, non è possibile installare molti tipi di software senza eseguire un account come amministratore, poiché non si ha accesso in scrittura ai file del programma o alle cartelle di Windows. I peggiori tipi di malware devono essere in grado di scrivere in queste aree per farsi strada nel tuo sistema.

Se non si esegue come amministratore e si visita un sito compromesso che tenta di installare qualcosa come un keylogger nascosto per rubare password, informazioni bancarie o numeri di carta di credito, l'installazione probabilmente fallirà. Se stai eseguendo come amministratore, quell'installazione ha molte più possibilità di successo. Lo stesso principio vale per i sistemi Linux.

La chiave qui è che il software antivirus non entra nemmeno. In questi giorni, il software antivirus è la tua ultima linea di difesa, non la tua prima. L'ordine di importanza che utilizzo per valutare le misure di sicurezza è il seguente:

  1. Mantieni il tuo sistema (incluso il software applicativo) patchato
  2. Non eseguire come amministratore
  3. Usa altre abitudini sicure su Internet
  4. Esegui un firewall
  5. Avere un buon backup offline (in questo caso offline significa "non accessibile al normale file system", che potrebbe effettivamente significare l'utilizzo di un servizio online)
  6. Esegui software antivirus

In effetti, se stai facendo abbastanza degli altri articoli correttamente, il software antivirus non è assolutamente necessario. Ma la cosa importante qui è che correre come amministratore è un no-no.

Per fortuna, questo è ora lo stato predefinito in Windows 7. Anche se il tuo account ha i privilegi di amministratore, viene comunque eseguito "in modalità sandbox" e ti dà semplicemente il diritto di elevare per un'applicazione specifica su richiesta.

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.