Al giorno d'oggi, la gestione di un considerevole numero di password è un aspetto essenziale che abbraccia i temi della sicurezza personale e della privacy. Il fatto che tali password debbano essere anche diverse e non banali, ne aumenta la difficoltà di memorizzazione. Per risolvere proprio quest'ultimo problema nascono i password manager, software in grado di memorizzare diverse password, associando a ciascuna di esse l'applicazione a cui si riferisce (per esempio, un sito web o un gioco), nonché eventualmente le altre credenziali di accesso (nome utente, email, URL, eccetera).
In questo articolo vedremo come utilizzare Steel, un password manager open source, libero e gratuito, pensato per sistemi Unix-like, in grado di funzionare interamente tramite linea di comando. Nel seguito, vedremo come installarlo ed utilizzarlo su Linux.
Download ed installazione
Prima di potere utilizzare Steel dobbiamo ovviamente installarlo, e per farlo dobbiamo preventivamente assicurarci che tutti i pacchetti da cui esso dipende siano altresì installati. A tale scopo, se utilizziamo Ubuntu 14.04 o versioni successive, possiamo sfruttare apt, procedendo come segue:
sudo apt-get install libmhash-dev libmcrypt-dev libsqlite3-dev
Su Archlinux, invece, possiamo procedere così:
sudo pacman -S libmcrypt mhash sqlite
Se utilizziamo altri sistemi Linux (quali Fedora, Debian, SUSE, eccetera), in linea di massima le dipendenze sopra citate risultano facilmente reperibili tramite i repository ufficiali delle varie distribuzioni.
Steel è presenta sui repository ufficiali di Archlinux (e può essere reperito a questo link), ma non su quelli di Ubuntu e della maggior parte delle principali distribuzioni. Per questo motivo, a meno che non si lavori su Archlinux, dovremo necessariamente scaricare i sorgenti di Steel e compilarli. Per farlo, una volta scompattato l'archivio .tar.gz, spostiamoci (tramite riga di comando) all'interno della cartella estratta, e digitiamo i comandi seguenti:
make
sudo make install
Steel è stato pensato (e testato) per essere utilizzato su sistemi Linux, sebbene (a meno delle dipendenze) dovrebbe poter essere compilato ed eseguito su qualsiasi sistema in grado di compilare i sorgenti (scritti in C secondo lo standard POSIX).
Utilizzare Steel
Una volta scaricato ed installato, Steel è subito pronto per l'uso. La prima cosa che dovremo fare sarà quindi la creazione di un nuovo database, che verrà memorizzato in un singolo file. Per farlo, utilizziamo il flag -i
:
steel -i "/path/to/le_mie_password.db"
In questo modo creeremo un file denominato le_mie_password.db, che potremo popolare sempre tramite Steel. Per iniziare a farlo, cominciamo con l'aggiungere una entry, utilizzando questa volta l'opzione --add
(equivalente a -a
):
steel --add "Titolo" "Utente" "URL" "Note"
In risposta a questo comando, ci verrà chiesto di inserire una password (anzi, una passphrase), che sarà associata a questa entry. Esiste anche la possibilità di inserire tutti i dati relativi ad una nuova entry in modo interattivo, tramite l'opzione -I
:
steel --add -I
A questo punto, se vogliamo leggere una delle entry (e la relativa password) che abbiamo precedentemente memorizzato, possiamo scegliere di visualizzarle tutte quante (opzione -l
o --list-all
) oppure effettuare una ricerca specificando una parola chiave, con l'opzione -f
:
steel -f parola_chiave
A questo punto, una volta popolato il nostro database, non ci resta che renderlo sicuro tramite una opportuna cifratura. Per farlo, dobbiamo utilizzare l'opzione --close
(equivalente a -c
), che ci chiederà l'immissione di una Master passphrase, tramite la quale il database sarà cifrato. In seguito, potremo decifrarne il contenuto tutte le volte che vorremo, tramite l'opzione --open
, e quindi continuare con le operazioni di lettura o scrittura delle entry. Steel, in pratica, non fa altro che decifrare il database di password e, alla chiusura, cifrarlo nuovamente con una nuova Master passphrase (che quindi può anche essere sempre diversa). Per questo motivo non c'è alcun comando dedicato alla modifica della Master passphrase, dal momento che questa operazione è implicitamente includa nella chiusura del database.
Prima di concludere, citiamo un'ultima funzione di Steel, che è quella di generare password casuali sicure, specificandone semplicemente la lunghezza:
steel --gen-pass <lunghezza>