• Aucun résultat trouvé

Gestione utenti

Dans le document Guida a Ubuntu Server (Page 160-166)

Tabella 5.5. Useful multipath Command Options

1. Gestione utenti

L'amministrazione degli utenti è una parte critica per il mantenimento di un sistema sicuro. Utenti poco esperti con privilegi di amministrazione spesso sono la causa della compromissione di sistemi.

Pertanto, è importante capire come proteggere il proprio server tramite delle semplici ed efficaci tecniche di gestione degli account utente.

1.1. Dove è l'utente root?

Gli sviluppatori di Ubuntu hanno deciso di disattivare in modo predefinito l'account di

amministrazione (root) in tutte le installazioni di Ubuntu. Questo non significa che l'account root sia stato eliminato o che non sia più accessibile, è stata impostata una password che non corrisponde ad alcun possibile valore codificato, pertanto, l'accesso come root non è direttamente possibile.

Gli utenti sono incoraggiati a utilizzare lo strumento sudo per svolgere i compiti di amministrazione di sistema. Lo strumento sudo permette a un utente autorizzato di elevare temporaneamente i propri privilegi usando la propria password, invece di dover conoscere direttamente la password di root.

Questo semplice, ma efficace, metodo cerca di fornire responsabilità per tutte le azioni degli utenti e dà all'amministratore un controllo granulare sulle azioni che un utente può eseguire con tali privilegi.

• Se per qualche ragione è necessario abilitare l'account root, basta assegnargli semplicemente una password:

sudo passwd

Il programma «sudo» chiederà di inserire la propria password e successivamente di inserirne una nuova per l'account root:

[sudo] password for username: (inserire la propria password) Enter new UNIX password: (inserire una nuova password per root) Retype new UNIX password: (reinserire la nuova password per root) passwd: password updated successfully

• Per disabilitare l'account root, utilizzare la seguente sintassi per passwd:

sudo passwd -l root

• Per maggiori informazioni riguardo sudo, consultarne il manuale:

man sudo

In modo predefinito, l'utente iniziale creato dall'installazione di Ubuntu è un membro del gruppo

«admin» ed è stato aggiunto al file /etc/sudoers come utente autorizzato all'utilizzo di sudo. Per autorizzare altri utenti ai pieni poteri amministrativi di root attraverso l'uso del comando sudo, è sufficiente aggiungerli al gruppo «admin».

1.2. Aggiungere e rimuovere utenti

Il processo per la gestione di utenti e gruppi locali è molto intuitivo e differisce poco dalla maggior parte degli altri sistemi GNU/Linux. Ubuntu e altre distribuzioni basate su Debian, incoraggiano l'utilizzo del pacchetto «adduser» per la gestione degli utenti.

• Per aggiungere un nuovo utente, utilizzare i seguenti comandi e seguire le istruzioni per impostare all'account una password e fornire le caratteristiche identificabili come nome, cognome, numero di telefono, ecc...

sudo adduser NOME_UTENTE

• Per eliminare un utente e il suo gruppo principale, digitare:

sudo deluser NOME_UTENTE

Quando si elimina un account utente non viene rimossa la sua cartella home. È decisione dell'amministratore se rimuoverla o no in base alle proprie scelte.

Ricordare che, se non sono state prese le necessarie precauzioni, ogni nuovo utente aggiunto successivamente con gli stessi UID/GID del precedente proprietario della cartella, avrà accesso a tale cartella.

È possibile modificare questi valori UID/GID con qualcosa di più appropriato, come per esempio l'account root, e spostare la cartella per evitare futuri conflitti:

sudo chown -R root:root /home/NOME_UTENTE/

sudo mkdir /home/archived_users/

sudo mv /home/NOME_UTENTE /home/archived_users/

• Per bloccare o sbloccare temporaneamente l'account di un utente, utilizzare, rispettivamente, i seguenti comandi:

sudo passwd -l NOME_UTENTE sudo passwd -u NOME_UTENTE

• Per aggiungere o rimuovere un gruppo personalizzato, utilizzare, rispettivamente, i seguenti comandi:

sudo addgroup NOME_GRUPPO sudo delgroup NOME_GRUPPO

• Per aggiungere un utente a un gruppo, digitare:

sudo adduser NOME_UTENTE NOME_GRUPPO

1.3. Sicurezza dei profili utente

Quando viene creato un nuovo utente, l'applicazione «adduser» crea una nuova directory chiamata /

home/NOME_UTENTE. Il profilo predefinito è modellato secondo i contenuti presenti nella directory /

etc/skel che contiene tutti i profili di base.

Se il proprio server ospiterà più utenti, è necessario prestare la massima attenzione alle autorizzazioni delle home degli utenti, al fine di garantirne la riservatezza. In modo predefinito, in Ubuntu, le home degli utenti sono create con permessi di lettura e di esecuzione per tutti gli utenti. Questo significa che tutti gli utenti possono visualizzare e accedere al contenuto delle home degli altri utenti, cosa che potrebbe non essere soddisfacente per il proprio ambiente.

• Per verificare i permessi attuali della home degli utenti, utilizzare il seguente comando:

ls -ld /home/NOME_UTENTE

Il seguente output mostra che la directory /home/NOME_UTENTE è accessibile in lettura da parte di tutti gli utenti:

drwxr-xr-x 2 nomeutente nomeutente 4096 2007-10-02 20:03 nomeutente

• È possibile rimuovere il permesso in lettura da tutti con il seguente comando:

sudo chmod 0750 /home/NOME_UTENTE

Alcuni amministratori utilizzano anche l'opzione per la modifica ricorsiva (-R) di tutte le sotto-cartelle e file della home, ma questo non è necessario e potrebbe inoltre causare degli effetti indesiderati. Modificare i permessi alla cartella principale è più che sufficiente per prevenire degli accessi non autorizzati.

Un modo più efficiente potrebbe essere quello di modificare direttamente le impostazioni

predefinite dell'applicazione adduser sui permessi da assegnare alle home degli utenti appena creati.

È sufficiente modificare la variabile DIR_MODE, nel file /etc/adduser.conf, secondo le proprie esigenze.

DIR_MODE=0750

• Dopo aver corretto opportunamente i permessi di accesso alle directory home come descritto precedentemente, verificare il risultato con il seguente comando:

ls -ld /home/NOME_UTENTE

Il risultato qui sotto mostra come i permessi di lettura per tutti gli altri utenti siano stati rimossi:

1.4. Politica delle password

Una severa politica delle password è uno dei più importanti aspetti della sicurezza di un sistema. Le più frequenti violazioni di un sistema avvengono tramite attacchi di forza bruta con degli elenchi di parole che statisticamente possono comprende delle parole chiavi utilizzate come password. Se si vuole di offrire un qualsiasi tipo di accesso remoto utilizzando la propria password locale, assicurarsi che la complessità della stessa superi dei limiti minimi di adeguatezza, di impostare delle password con durate massime e controllare frequentemente i propri sistemi di autenticazione.

1.4.1. Lungezza minima di una password

By default, Ubuntu requires a minimum password length of 6 characters, as well as some basic entropy checks. These values are controlled in the file /etc/pam.d/common-password, which is outlined below.

password [success=2 default=ignore] pam_unix.so obscure sha512

If you would like to adjust the minimum length to 8 characters, change the appropriate variable to min=8. The modification is outlined below.

password [success=2 default=ignore] pam_unix.so obscure sha512 min=8

Basic password entropy checks and minimum length rules do not apply to the administrator using sudo level commands to setup a new user.

1.4.2. Scadenza delle password

Quando vengono creati dei nuovi utenti è possibile impostare una durata minima e massima per le loro password, obbligando gli stessi a modificarla alla scadenza.

• Per visualizzare facilmente lo stato attuale di un account utente, utilizzare il seguente comando:

sudo chage -l NOME_UTENTE

L'output seguente mostra informazioni interessanti sull'account dell'utente, in particolare che non ci sono politiche applicate:

Ultimo cambio della password : gen 20, 2008 Scadenza della password : mai

Inattività della password : mai Scadenza dell'account : mai

Numero minimo di giorni tra i cambi di password : 0 Numero massimo di giorni tra i cambi di password : 99999 Giorni di preavviso prima della scadenza della password : 7

• Per impostare uno qualsiasi di questi campi, utilizzare il seguente comando e seguire le istruzioni:

sudo chage NOME_UTENTE

Quello che segue è un esempio di come sia possibile modificare manualmente la data di scadenza dell'account (-E) al 31/01/2008 (inserirla nel formato mm/gg/aaaa o nel formato aaaa/mm/gg), l'età minima della password (-m) a 5 giorni, l'età massima (-M) a 90 giorni, il periodo di inattività (-I) a 5 giorni dopo la scadenza della password e un avvertimento (-W) di 14 giorni prima della scadenza delle password.

sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 username

• Per verificare le modifiche, utilizzare lo stesso comando di prima:

sudo chage -l NOME_UTENTE

Il seguente output mostra i cambiamenti effettuati sull'account:

Ultimo cambio della password : gen 20, 2008 Scadenza della password : apr 19, 2008 Inattività della password : mag 19, 2008 Scadenza dell'account : gen 31, 2008

Numero minimo di giorni tra i cambi di password : 5 Numero massimo di giorni tra i cambi di password : 90

Giorni di preavviso prima della scadenza della password : 14

1.5. Ulteriori considerazioni sulla sicurezza

Molte applicazioni usano meccanismi di autenticazione alternativi che possono essere facilmente trascurati anche da esperti amministratori di sistema. Pertanto, è importante comprendere e controllare come avviene l'autenticazione degli utenti e come accedono ai servizi e alle applicazioni sul proprio server.

1.5.1. Accesso SSH per gli utenti disabilitati

Disattivando o bloccando l'account di un utente non impedisce che quest'ultimo riesca a effettuare l'accesso al server se precedentemente utilizzava una chiave pubblica RSA; saranno ancora in grado di ottenere l'accesso al server senza la necessità della password. Controllare sempre se nella directory home degli utenti sono presenti dei file che permettano questo tipo di autenticazione SSH, come per esempio /home/nomeutente/.ssh/authorized_keys.

Eliminare o rinominare la directory .ssh/ nella home degli utenti per prevenire future autenticazioni SSH.

Assicurarsi di controllare qualsiasi connessione SSH stabilita dagli utenti disabilitati, dato che potrebbero esserci connessioni aperti in entrata o in uscita. Terminare tutte quelle che vengono trovate.

Limitare l'accesso SSH solo agli utenti che ne hanno il diritto. Per esempio, è possibile creare un gruppo chiamato «sshlogin» e aggiungere il nome del gruppo alla voce AllowGroupsvarname> nel file /etc/ssh/sshd_config.

AllowGroups sshlogin

Dopo aver aggiunto gli utenti con diritto di accesso SSH al gruppo «sshlogin», riavviare il server SSH.

sudo adduser NOME_UTENTE sshlogin sudo service ssh restart

1.5.2. Autenticazione utenti su database esterno

La maggior parte delle reti aziendali richiedono un servizio di autenticazione e di controllo degli accessi centralizzato per tutte le risorse di sistema. Se il server è stato configurato per gestire l'autenticazione attraverso database esterni, assicurarsi di disabilitare gli account utente sia

esternamente che internamente, in questo modo l'autenticazione locale di riserva non è più possibile.

Dans le document Guida a Ubuntu Server (Page 160-166)