Archivi tag: passwd

Modificare l’encryption method delle password utente su CentOS

Premessa

In questo blog ho più volte parlato di digest, di algoritmi di cifratura one-way e compagnia bella. Una cosa è chiara: MD5 non è la scelta migliore da fare quando si parla di cifratura delle password. Infatti, la sua naturale evoluzione, ovvero SHA, presenta una maggiore robustezza (aka resistenza debole e forte alle collisioni), dovuta anche alle dimensioni del digest che genera. Proprio per questo motivo, sono solito abilitare sui miei server l’algoritmo SHA512 per la cifratura delle password utente.

sha, md5, one-way, sha512, passwd, shadow, digest, centos

SHA512 su CentOS

Sostituire MD5 con SHA512 su CentOS è sicuramente banale. Il primo step consiste nell’identificare il tipo di cifratura attualmente utilizzato dal nostro sistema:

[root@host ~]# authconfig --test | grep hashing

Se l’output è simile al seguente:

password hashing algorithm is md5

significa che stiamo utilizzando MD5. Per sostituirlo con SHA512 basta digitare (da utente root):

[root@host ~]# authconfig --passalgo=sha512 --update

L’ultimo step consiste nell’aggiornare le password degli utenti. In questo caso potete fare 2 scelte:

1) aggiornare voi le password degli utenti (se le conoscete);

2) richiedere all’utente l’aggiornamento delle password al prossimo login.

Nel primo caso è sufficiente lanciare il comando:

[root@host ~]# passwd <nomeutente>

mentre, per forzare il cambio password da parte dell’utente occorre digitare:

[root@host ~]# chage -d 0 <nomeutente>

Enjoy.

Gabbie chroot per gli utenti FTP mediante vsftpd.conf

Recentemente mi è capitato di dover creare un nuovo account utente per l’accesso sul mio server FTP. Fin qui nulla di strano, è stato sufficiente digitare:

nightfly@nightbox:~$ useradd <nomeutente>

e successivamente:

nightfly@nightbox:~$ sudo passwd <password> <nomeutente>

 

vsftpd

A questo punto si è reso necessario ingabbiare l’utente nella sua home. Per fare ciò ho editato il file vsftpd.conf, che si trova nella directory /etc:

nightfly@nightbox:~$ sudo nano /etc/vsftpd.conf

decommentando (e dunque abilitando) la seguente opzione:

chroot_local_user=YES

Infine ho effettuato uno stop/start del demone vsftpd, digitando:

nightfly@nightbox:~$ sudo service vsftpd stop

nightfly@nightbox:~$ sudo service vsftpd start

e fine dei giochi.

PS: se volete cambiare la home directory dell’utente (che per default è /home/nomeutente), facendolo atterrare, ad esempio, in una sottodirectory di /var/www (per l’upload/download di pagine Web), vi basterà lanciare il comando:

nightfly@nightbox:~$ sudo usermod -d /var/www/nomecartella nomeutente

Se la directory /var/www/nomecartella esiste già, sarà necessario modificare il suo owner, partendo dal presupposto che essa abbia i permessi settati su 755:

nightfly@nightbox:~$ sudo chwon nomeutente:nomeutente /var/www/nomecartella

In alternativa, si potrebbe creare un gruppo ad hoc, chiamato ad esempio web, al quale associare i vari utenti che possono eseguire operazioni di lettura e scrittura su una data directory.

Per creare il gruppo occorre digitare:

nightfly@nightbox:~$ sudo groupadd nomegruppo

Successivamente aggiungiamo i vari utenti al gruppo, mediante il comando:

nightfly@nightbox:~$ sudo usermod -g web nomeutente

A procedura terminata, verifichiamo che gli utenti siano stati effettivamente aggiunti al gruppo, listandone il contenuto:

nightfly@nightbox:~$ sudo groups nomegruppo

Infine, possiamo modificare solo il gruppo proprietario della directory /var/www/nomecartella, digitando:

nightfly@nightbox:~$ sudo usermod :web /var/www/nomecartella

e cambiamo i permessi della directory, settandoli su 775:

nightfly@nightbox:~$ sudo chmod 775 /var/www/nomecartella

PPS: questa configurazione del file vsftpd.conf ingabbierà nella loro home tutti gli utenti di sistema che si collegheranno al server FTP. Se volete fare una selezione degli utenti che saranno ingabbiati e di quelli che non lo saranno, disabilitare l’opzione:

chroot_local_user=YES

commentandola o settandone il valore a NO:

#chroot_local_user=YES

In seguito abilitate l’opzione:

chroot_list_enable=YES

e specificate il file in cui è contenuta la lista degli utenti da ingabbiare, che per default è vsftpd.chroot_list:

chroot_list_file=/etc/vsftpd.chroot_list

Infine, inserite in questo file i nomi utente da chrootare (uno per riga).

A presto.