Preoccupazioni per l'accesso come root sopravvalutato?


16

Per Linux personali sui miei notebook personali, di solito ho impostato il mio ambiente su autologin come root anche sotto X o runlevel inferiori. Ho trovato il mio flusso di lavoro è molto piacevole e veloce, senza la necessità di digitare ingombranti suo sudoo essere chiesto da portachiavi o auth o qualcosa del genere.

Finora non ho mai avuto alcun problema, quindi perché la maggior parte delle persone lo fa impazzire? La preoccupazione è sopravvalutata? Naturalmente questo presuppone che l'utente sappia cosa stanno facendo e non si preoccupi davvero dell'affidabilità del sistema e dei problemi di sicurezza.


4
perché correre come root? se davvero non vuoi scrivere, sudoti suggerisco di modificare /etc/sudoerse aggiungere alcuni comandi come nopasswd (non tutti), quindi nel tuo ~/.bashrc(o alias file) aggiungi aliases sudo command. Probabilmente questa non è ancora una buona idea, ma limiterà il danno che puoi fare o che ti è stato fatto.
xenoterracide,

11
Il livello di ostilità in questo thread è un po 'preoccupante; è una domanda legittima. Sì, correre come root tutto il tempo è una cattiva idea, ma non è necessario capovolgerlo
Michael Mrozek

5
@Mrozek: concordato. Ora, non darei mai la password di root OP a nessun sistema su cui avevo il controllo, ma cestinare il proprio sistema digitando la cosa sbagliata può essere molto istruttivo. Forse l'OP che scrive "Finora non ho mai avuto problemi con questo" imparerà qualcosa di utile, come il fatto che le cose possano accadere per la prima volta.
David Thornley,

2
Penso che questo riassuma
Alex B

3
Per introdurre un'analogia con un'auto: è come guidare senza cintura di sicurezza. Possibile, ma potenzialmente mortale.
inverti il

Risposte:


33

Per gli stessi motivi per cui ogni demone dovrebbe avere diritti minimi. Apache può essere eseguito come root. È progettato per eseguire un compito e sicuramente non può succedere nulla di male?

Ma supponiamo che apache non sia privo di bug. I bug vengono scoperti di volta in volta. A volte può anche essere l'esecuzione di codice arbitrario o simile. Ora con apache in esecuzione come root, può accedere a qualsiasi cosa, ad esempio può caricare un rootkit nel kernel e nascondersi.

D'altra parte, scrivere un rootkit a livello di utente è molto difficile. Deve sovrascrivere diversi programmi (come ps) all'interno /home, il che può sollevare sospetti a causa dello spazio su disco aggiuntivo utilizzato. Potrebbe non conoscere l'esatta configurazione e dimenticare di includere, ad esempio, gnome-system-monitoresponendosi. Essa deve coprire bash, tcshe qualsiasi shell vi capita di utilizzare (per iniziare a se stesso). Dovrebbe funzionare con configurazioni diverse invece di "semplicemente" sovrascrivere un gruppo di callback.

Considera che non molto tempo fa è stata scoperta l'esecuzione di codice arbitrario in ... Adobe Reader.

L'altro motivo sono gli errori dell'utente. È meglio essere avvisati prima di cancellare l'intero disco con un comando.

La terza ragione sono diverse conchiglie. La shell di root dovrebbe essere installata /nel caso in cui fosse necessario eseguire il ripristino del sistema. Le shell degli utenti possono essere installate su /usr(ad esempio l'utente può usare zsh).

La ragione principale è che programmi diversi non funzionano come root. Sanno specificamente che non dovrebbero, quindi è necessario patch di sistema.

La quinta ragione è che /rootnon dovrebbe essere su una partizione separata mentre /homepuò (e dovrebbe). Avere /homeaiuti separati per vari motivi.

ANCHE : PERCHÉ NON UTILIZZARLO COME UTENTE NORMALE. Più spesso non è necessario disporre dei diritti di root rispetto a quelli necessari. È un costo molto basso per la sicurezza.


3
Il fatto che, come root, ddpossa fare qualsiasi cosa su qualsiasi dispositivo a blocchi nel sistema, in combinazione con il fatto che root può fare molte interferenze, intenzionali e non intenzionali, con kernel e roba di sistema in / dev e / proc dovrebbe essere abbastanza per convincere chiunque a non correre come root a meno che non sia necessario.
LawrenceC,

29

Puoi anche guidare una moto nuda e non può succedere nulla. Ma scommetto che ti sentiresti meglio se lo facessi in caso di incidente con la bici ...


7
forse, ma pensa alla sensazione che avresti avuto per il resto del tempo!
Sirex,

12

A parte l'ovvio punto di sicurezza, è chiaro che non hai mai nascosto il tuo sistema digitando erroneamente un comando nella shell o in un lapsus. Se succede, capirai perché le persone ne vanno fuori di testa. E poi piangerai per l'orrore e realizzerai anche che è stata un'esperienza altamente educativa, ma non riavrai comunque il tuo sistema.

Un pensiero: se ti viene chiesta la password di root durante il normale utilizzo del tuo sistema (cioè non installando pacchetti o qualche altra attività di amministrazione del sistema), stai sbagliando .


+1 per avermi ricordato alcune vecchie esperienze. O dovrebbe essere -1 per ripristinarli?
David Thornley,

5
Non ho mai capito perché la gente creda che l'uso di sudo prevenga i comandi di errore di digitazione. L'ultimo sistema che ho nascosto qualche anno fa era un sudo rm -rf / dir / job.
Sirex,

4

No, non è sopravvalutato. In pratica è molto sottovalutato. :-)

Il mio piccolo team al lavoro, ad esempio, sta condividendo una macchina RHEL per il lavoro di sviluppo: costruzione di materiale, test, ecc. Tutti usano account utente individuali, ma condividiamo anche la password di root poiché le persone ne hanno bisogno di tanto in tanto per attività rapide di amministratore di sistema. Ciò ha portato anche noi a gestire il sistema operativo alcune volte durante la sua breve durata. Qualcuno che ha creato una determinata versione di libc ha rimosso la libc di sistema da una scioccarminvocazione. In un altro episodio curioso, mancava la tabella delle partizioni. (Ok, questo non ha avuto nulla a che fare con i privilegi.) Il resto della squadra è bloccato fino a quando la rottura non viene riparata. Una soluzione è quella di avere qualcuno che si offre volontario per svolgere i compiti di amministratore di sistema. A questo punto non ci siamo preoccupati troppo, se non per consentire alle persone di imparare le loro lezioni: tutti noi abbiamo bisogno di alcuni segni dei denti sulle nostre estremità posteriori, e questi sono segni dei denti relativamente economici.

I veramente curiosi potrebbero voler seguire il principio del privilegio minimo e leggere l'articolo di Ken Thompson, "Riflessioni sulla fiducia". ("La morale è ovvia. Non puoi fidarti del codice che non hai creato completamente te stesso.")


3

Raccogliendo un tuo commento per un'altra risposta

ma Linux riguarda la libertà, inclusa la libertà di distruggere i propri dati, privacy e sicurezza

Anche forzando le persone sudo, Linux offre questa libertà. L'intero argomento di sicurezza che vuoi evitare è lì per proteggerti dalle cose che non lo sono vero (leggi: programmi dannosi o programmi controllati da persone maligne).

Pensalo come una cintura di sicurezza. Ci vuole un secondo per usarlo. Potrebbe salvarti la vita da altri idioti là fuori (così come te stesso).

Se non vuoi digitare sempre la password, sudoedit /etc/sudoers ma se continui a funzionare come root, un giorno probabilmente eseguirai qualcosa che annulla il tuo sistema e tutti i tuoi dati.

Se sei felice di sapere che anche qualcosa di così scadente come Flash potrebbe riformattare il tuo computer, a nessuno importa cosa fai. Esegui come root.


2
Non solo programmi dannosi, anche quelli con errori (ad esempio c'era un bug nel sistema di compilazione del kernel in un punto che nascondeva il tuo sistema se hai fatto il tuo kernel compilare come root)
Spudd86

2

Perché non eseguire Damn Vulnerable Linux come sistema principale mentre ci sei. Se ignorerai la sicurezza del sistema, potresti anche ignorare tutto ...


Calcolatore Tecnicamente con root come utente principale può essere teoricamente garantita ...
Maciej Piechotka

3
@Maciej l'unico computer sicuro è scollegato, incassato nel cemento sul fondo di un lago.
xenoterracide,

Come ha sottolineato Mitnick, qualcuno può portarlo fuori dal lago, rompere il cemento e collegarlo (oh, ha solo detto che qualcuno può collegare un computer scollegato usando la sociotechniques, ma il principio è lo stesso). Ho cercato di stare attento a usare 'tecnicamente' e 'teoricamente' - anche il blocco difettoso è meglio di nessun blocco. Ad esempio, considero il mio sistema attuale abbastanza sicuro nonostante la mancanza di SELinux su di esso;)
Maciej Piechotka,

@Marciej bene la sicurezza riguarda l'analisi dei costi / rischi. non hai mai messo più sicurezza in qualcosa di quanto valga la pena.
xenoterracide,

1
@Marciej e se non vale nulla, non ha senso mettere su sicurezza, a quel punto non importa la vulnerabilità.
xenoterracide,

1

Stai parlando di un sistema operativo che è lo sforzo collaborativo di innumerevoli persone. Se non esegui altro che software stabile, potresti essere sicuro per un po '.

Come accennato in precedenza, rimarrai sorpreso da quanto una cosa piccola possa rovinare l'intero HD. Nel mio primo anno, ho provato a correre in root molto perché, ai tempi di Fedora-core 3, non c'erano molti modi fantasiosi per amministrare il tuo sistema dall'utente.

A quel tempo, ho fatto una piccola modifica di xorg senza eseguire il backup, perché non pensavo che avrebbe fatto male. Desktop sparito. Quindi ho provato a risolverlo manualmente, ma non sono riuscito a capire esattamente cosa avevo fatto. Più tardi, ho pensato che forse avrei potuto reinstallare i miei driver e desktop, ma ho inavvertitamente disconnesso la mia ethernet, dal momento che era anche NVIDIA.

Durante l'esecuzione di Arch per la prima volta, ho ignorato gli avvisi di creazione di un utente e ho eseguito come amministratore per un po '. Ho installato un pacchetto da AUR di cui avevo bisogno e dopo il riavvio, l'intera installazione è stata interrotta.

Da quando ero alla radice, risolvere questi problemi è diventato molto peggio di quanto non fosse necessario.

Potresti concludere che ero solo incompetente. Ma come altri hanno già detto ... digitare "sudo" è un piccolo prezzo da pagare per stare tranquilli.

EDIT: Oh ... e alcuni programmi, come WINE, non dovrebbero essere espressamente eseguiti in un ambiente root. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

Ragioni di sicurezza: una vulnerabilità di demone o script destinata a Linux avrebbe il potere Sysadmin sul tuo sistema.

L'esecuzione come utente semplice E l'uso di sudo è molto diverso in termini di sicurezza. Il mio Firefox funziona come il mio utente, quindi qualsiasi vulnerabilità di Firefox colpirà solo il mio account. Nient'altro.


0

Concordo con Maciej per la preoccupazione per la sicurezza e il controllo su determinati poteri. Inoltre, poiché sei il proprietario del tuo sistema, puoi disabilitare questa funzionalità se lo desideri;) è la tua scelta.


-4

Non riesco a vedere nessun grosso problema accedendo come root per una sessione normale, purché tu non faccia nulla di stupido.

Non lo faccio personalmente, perché ogni tanto faccio qualcosa di stupido. Non ho mai notato che qualcosa di stupido che ho fatto è stato potenzialmente un grosso problema, ma non sono abbastanza arrogante da pensare che non farei mai qualcosa di veramente stupido.


8
l'utilizzo di un browser Web costituisce qualcosa di stupido?
xenoterracide,

4
@xenoterracide: significa fare qualcosa di stupido se sei loggato come root, direi.
David Thornley,

2
@David Lo so;) Questo è un po 'il punto
xenoterracide
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.