"Sudo su -" è considerato una cattiva pratica?


13

sfondo

So che la differenza tra su -, sudo su -e sudo <command>:

  • su - - passa l'utente al root, richiede la password di root
  • sudo su - - passa l'utente alla radice, richiede solo la password dell'utente corrente
  • sudo <command>- concede l'accesso root solo per un comando specifico; richiede solo la password dell'utente corrente

La mia domanda è se usare o meno sudo su -una pratica sicura in un ambiente di produzione.

Alcuni pensieri:

  1. Sembra che consentire sudo su -rischi per la sicurezza rendendo l'accesso all'account di root dipendente dalle password dei singoli utenti. Naturalmente, questo potrebbe essere mitigato applicando una rigorosa politica di password. Non penso che su -sia meglio poiché richiederebbe all'amministratore di condividere la password di root effettiva.

  2. Consentire agli utenti di passare completamente all'account di root rende più difficile tenere traccia di chi apporta modifiche al sistema. Ho visto casi nel mio lavoro di giorno in cui più utenti hanno sudo su -accesso. La prima cosa che fanno gli utenti quando accedono al sistema viene eseguita sudo su -prima di iniziare a lavorare. Quindi, un giorno qualcosa si rompe e non c'è tracciabilità per chi ha eseguito rm -rf *nella directory sbagliata.

Domande

Date le preoccupazioni di cui sopra, è mai una buona idea consentire agli utenti di utilizzare sudo su -o addirittura del su -tutto?

Ci sono dei motivi per cui un amministratore configura gli account utente sudo su -o su -invece di sudo <command>(a parte la pigrizia)?

Nota: sto ignorando il caso in cui l'utente in esecuzione sudo su -o su -l'amministratore debba apportare modifiche al sistema, quando l'accesso diretto a ssh è stato disabilitato per l'utente root.


4
sudo su -è piuttosto sciocco poiché sudo -iessenzialmente fa la stessa cosa, con meno battiture.
Michael Hampton

Sono d'accordo con @MichaelHampton. Tuttavia, di solito corro sudo bashsemplicemente per evitare un po 'del sovraccarico di accesso. Tuttavia, riflettendo, ciò potrebbe non evitare quanto immagino.
Ericx,

2
@ericx Considerare anche sudo -s.
Michael Hampton

Risposte:


11

Diamo un'occhiata ai tuoi casi:

 su -

eseguirà un / bin / sh come utente root usando l'ambiente root. È necessaria la password di root e la registrazione può essere registrata in base alle impostazioni di syslog (di solito è /var/log/auth.log per impostazione predefinita).

 sudo /bin/sh

eseguirà la shell come utente root usando l'attuale set di variabili d'ambiente (con alcune eccezioni come sarebbe definito nel file sudoers). La password è la password dell'utente di origine e NON la password dell'utente root. di solito sudo è registrato.

 sudo su -

eseguirà una shell (di solito / bin / sh) come utente root configurando l'ambiente come utente root. Ciò richiederà la password dell'utente di origine e questo verrà generalmente registrato.

A volte è necessario avere l'ambiente di root sul proprio ambiente, quindi su - è un metodo appropriato. Ricorda che sudo registrerà comunque l'uso del comando shell in entrambi i casi.


Ho completamente perso la differenza negli ambienti tra sudo e su. Grazie!
Kingand,

0

* Date le preoccupazioni di cui sopra, è mai una buona idea consentire agli utenti di usare sudo su *

No, non secondo me. Non ha alcun vantaggio pratico rispetto a consentire loro di fare su tranne che non hanno bisogno della password di root per farlo.

o su - affatto?

Dal momento che disabilito sempre l'accesso come root, su è necessario e, a conti fatti, rende il server più sicuro.


2
Non richiedere a tutti di condividere attivamente la password di root presenta importanti vantaggi culturali di sicurezza che non devono essere trascurati.
Falcon Momot,

0

L'OP sembra fornire molte buone ragioni per non consentire / incoraggiare gli usi generali sudo basho sudo su -poiché ciò li porta in una modalità onnipotente i cui interni generalmente non sono registrati. E potrebbero dimenticare di essere in quella modalità e fare qualcosa ... deplorevole.

Ergo, sembra più sicuro avere la maggior parte degli utenti limitata all'esecuzione sudo on/a/particular/command/o all'elenco dei comandi. In questo modo viene registrato ogni comando sudo.

Incontrerai eccezioni nella pratica? Sicuro. La reazione a tali eccezioni è quella di ritornare alla pratica pigra del non ristretto - sudo suprobabilmente no.

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.