GNU/Linux >> Linux Esercitazione >  >> Linux

4 modi per disabilitare l'account di root in Linux

La radice account è l'ultimo account su Linux e altri sistemi operativi simili a Unix. Questo account ha accesso a tutti i comandi e ai file su un sistema con autorizzazioni complete di lettura, scrittura ed esecuzione. Viene utilizzato per eseguire qualsiasi tipo di attività su un sistema; per creare/aggiornare/accedere/eliminare account di altri utenti, installare/rimuovere/aggiornare pacchetti software e molto altro ancora.

Perché la radice l'utente ha poteri assoluti, qualsiasi azione che esegue è fondamentale per un sistema. A questo proposito, eventuali errori da parte della root utente può avere enormi implicazioni sul normale funzionamento di un sistema. Inoltre, questo account può anche essere utilizzato in modo improprio utilizzandolo in modo improprio o inappropriato accidentalmente, in modo dannoso o per ignoranza forzata delle norme.

Pertanto, è consigliabile disabilitare l'accesso root nel proprio server Linux, invece, creare un account amministrativo che dovrebbe essere configurato per ottenere i privilegi di utente root utilizzando il comando sudo, per eseguire attività critiche sul server.

In questo articolo, spiegheremo quattro modi per disabilitare l'accesso all'account utente root in Linux.

Attenzione :prima di bloccare l'accesso alla root account, assicurati di aver creato un account amministrativo, in grado di utilizzare il comando sudo per ottenere i privilegi di utente root, con il comando useradd e fornire a questo account utente una password complessa. La bandiera -m significa creare la home directory dell'utente e -c permette di specificare un commento:

# useradd -m -c "Admin User" admin
# passwd admin

Successivamente, aggiungi questo utente al gruppo appropriato di amministratori di sistema utilizzando il comando usermod, dove l'opzione -a significa aggiungere account utente e -G specifica un gruppo in cui aggiungere l'utente (wheel o sudo a seconda della distribuzione Linux):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

Dopo aver creato un utente con privilegi di amministratore, passa a quell'account per bloccare l'accesso come root.

# su admin

1. Cambia la shell dell'utente root

Il metodo più semplice per disabilitare l'accesso dell'utente root è cambiare la sua shell da /bin/bash o /bin/bash (o qualsiasi altra shell che permetta l'accesso dell'utente) a /sbin/nologin , in /etc/passwd file, che puoi aprire per la modifica utilizzando uno dei tuoi editor preferiti a riga di comando, come mostrato.

  
$ sudo vim /etc/passwd

Cambia la linea:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Salva il file e chiudilo.

D'ora in poi, quando root l'utente effettua l'accesso, riceverà il messaggio "Questo account non è attualmente disponibile. ” Questo è il messaggio predefinito, ma puoi cambiarlo e impostare un messaggio personalizzato nel file /etc/nologin.txt .

Questo metodo è efficace solo con i programmi che richiedono una shell per l'accesso dell'utente, altrimenti sudo , ftp e e-mail i clienti possono accedere all'account root.

2. Disabilita l'accesso root tramite dispositivo console (TTY)

Il secondo metodo utilizza un PAM modulo chiamato pam_securetty , che consente l'accesso come root solo se l'utente sta effettuando l'accesso a un TTY "sicuro" , come definito dall'elenco in /etc/securetty .

Il file sopra ti consente di specificare quale TTY dispositivi su cui l'utente root può accedere, lo svuotamento di questo file impedisce l'accesso come root su qualsiasi dispositivo collegato al sistema informatico.

Per creare un file vuoto, esegui.

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

Questo metodo ha alcune limitazioni, riguarda solo programmi come login, display manager (ad esempio gdm , kdm e xdm ) e altri servizi di rete che avviano un TTY. Programmi come su, sudo, ssh e altri strumenti di openssh correlati avranno accesso all'account root.

3. Disabilita l'accesso root SSH

Il modo più comune per accedere a server remoti o VPS è tramite SSH e per bloccare l'accesso dell'utente root sotto di esso, è necessario modificare /etc/ssh/sshd_config file.

$ sudo vim /etc/ssh/sshd_config

Quindi decommenta (se è commentata) la direttiva PermitRootLogin e imposta il suo valore su no come mostrato nello screenshot.

Al termine, salva e chiudi il file. Quindi riavvia sshd servizio per applicare la recente modifica alle configurazioni.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Come forse già saprai, questo metodo ha effetto solo sul set di strumenti di openssh, programmi come ssh, scp, sftp verranno bloccati dall'accesso all'account di root.

4. Limita l'accesso root ai servizi tramite PAM

Moduli di autenticazione collegabili (PAM in breve) è un metodo di autenticazione centralizzato, collegabile, modulare e flessibile su sistemi Linux. PAM, tramite /lib/security/pam_listfile.so modulo, consente una grande flessibilità nel limitare i privilegi di account specifici.

Il modulo sopra può essere utilizzato per fare riferimento a un elenco di utenti a cui non è consentito accedere tramite alcuni servizi di destinazione come login, ssh e qualsiasi programma compatibile con PAM.

In questo caso, vogliamo disabilitare l'accesso dell'utente root a un sistema, limitando l'accesso ai servizi di login e sshd. Innanzitutto apri e modifica il file per il servizio di destinazione in /etc/pam.d/ directory come mostrato.

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Quindi, aggiungi la configurazione di seguito in entrambi i file.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Quando hai finito, salva e chiudi ogni file. Quindi crea il file semplice /etc/ssh/deniedusers che dovrebbe contenere un elemento per riga e non leggibile da tutti.

Aggiungi la radice del nome, quindi salva e chiudi.

$ sudo vim /etc/ssh/deniedusers

Imposta anche le autorizzazioni richieste su questo.

$ sudo chmod 600 /etc/ssh/deniedusers

Questo metodo interessa solo i programmi e i servizi che sono in grado di riconoscere PAM. Puoi bloccare l'accesso root al sistema tramite ftp e client di posta elettronica e altro ancora.

Per ulteriori informazioni, consultare le relative pagine man.

$ man pam_securetty
$ man sshd_config
$ man pam

È tutto! In questo articolo, abbiamo spiegato quattro modi per disabilitare l'accesso (o account) dell'utente root in Linux. Hai commenti, suggerimenti o domande, non esitare a contattarci tramite il modulo di feedback qui sotto.


Linux
  1. Come personalizzare gli ambienti utente Linux

  2. Disabilita l'accesso con l'account root

  3. Metodi per disabilitare l'account di root nel sistema Linux Ubuntu 20.04 LTS

  4. Abilita e disabilita l'account utente root su Ubuntu 20.04 - Fallo ora?

  5. Installa WordPress su un account utente come root

Come abilitare e disabilitare l'account utente root in Ubuntu

Come elencare tutti gli utenti in Linux

Metodi per disabilitare l'account root in Linux

Linux – Aggiungi utente all'elenco di Sudoers

Come disabilitare l'accesso SSH per l'utente root in Linux?

Come creare utenti su Ubuntu Linux in più modi