Tutorial Pass: le tue password al sicuro!

Scopri come tenere al sicuro le tue password con Pass, uno dei migliori password manager!

Scopri come tenere al sicuro le tue password con Pass, uno dei migliori password manager!

Introduzione

Spesso, per pigrizia o per difficoltà nel gestire un gran numero di password, ci capita di utilizzare la stessa password su più siti: niente di più sbagliato! Usare la stessa password comporta gravi problemi di sicurezza, poiché se un attaccante (ma anche un vostro amico), venisse a conoscenza di quella password, potrebbe arrecarvi grandi danni.

Oggi vedremo Pass: un semplice strumento che ci consente di generare e salvare tutte le password che vogliamo sul nostro pc in maniera sicura.

Grazie ai password manager come Pass è possibile utilizzare password molto complesse e più sicure, senza il problema di doverle ricordare a memoria. Inoltre, queste verranno memorizzate in maniera sicura, poiché verranno salvate in forma criptata: solo voi potrete accedere alle vostre password!

Prima di procedere con la guida, è necessario che installiate sia Pass che gnupg, lo strumento usato per crittografare le password.

Installazione Pass

Potete installare Pass con un semplice comando, a seconda della distro che usate. Per gli utenti Windows, dovrete scaricarlo da internet.

  • Utenti Debian, Ubuntu e derivati:
    • apt-get install pass
  • Utenti Arch
    • pacman -S pass
  • Utenti Fedora
    • sudo yum install pass

Installazione gnupg

Per installare gnupg:

  • Utenti Debian, Ubuntu e derivati:
    • apt-get install gnupg
  • Utenti Arch
    • pacman -S gnupg
  • Utenti Fedora:
    • sudo yum install gnupg

Pass – the standard UNIX password manager

Pass è uno script bash  open source che sfrutta vari tool già esistenti:

  • gpg2 per la cifratura delle password
  • pwgen per la generazione di password
  • tree per generare la vista ad albero del portafoglio delle chiavi
  • xclip per copiare le password, anche senza visualizzarle
  • git per la sincronizzazione delle chiavi

Vediamo adesso tutti i passi per utilizzarlo al meglio.

1 – Generare chiave gpg2

Per poter utilizzare Pass, è necessario fornirgli tutti gli strumenti per garantirci la sicurezza. In particolare, va prima generata una chiave di cifratura con gpg2, in modo tale che le nostre password vengano crittografate con questa.

Una volta installato gpg2, è necessario semplicemente dare il comando:

gpg2 --full-gen-key
gpg2 - generare chiave di cifratura

gpg2 – generare chiave di cifratura

Ci verrà richiesto di scegliere il tipo di chiave che vogliamo generare: possiamo tranquillamente lasciare RSA (è di default), che è un algoritmo molto robusto. Successivamente, inserite la lunghezza della chiave desiderata: potete lasciare 2048, ma se volete essere ancora più al sicuro 4096 andrà bene.

Nel passo successivo ci verrà chiesto se volete che la chiave abbia una scadenza: scegliere che la chiave non avrà scadenza.

gpg2 - generare chiave di cifratura

gpg2 – generare chiave di cifratura

Infine, vi verrà chiesto di indicare un nome utente (tutto il resto potete lasciarlo vuoto).

gpg2 - generare chiave di cifratura

gpg2 – generare chiave di cifratura

Premere “o” (ok) per confermare tutto.

Vi verrà chiesto di scegliere una password che servirà per accedere a gpg.

gpg2 - chiave di cifratura

gpg2 – chiave di cifratura

La nostra chiave è stata generata. Come potete vedere, la penultima riga indica l’ID della chiave, segnatelo perché vi servirà a breve.

Il funzionamento di una coppia di chiavi RSA è, sommariamente, il seguente:

  • <chiave-pubblica> + “testo leggibile” = testo-criptato
  • <chiave-privata> + testo-criptato = “testo leggibile”

2 – Inizializzare Pass

La prima cosa da fare per usare pass è inizializzare il portafoglio del chiavi, indicandogli la vostra chiave gpg per la cifratura delle password. Per fare questo, dovrete usare il seguente comando, specificando l’ID della chiave, che abbiamo ottenuto nel passo precedente:

pass init <gpg-key-id>
pass - inizializzazione

pass – inizializzazione

Grazie al comando init, avremo inizializzato il nuovo storage per le password ed indicato la chiave da usare.

3 – Generare una Password con Pass

Pass ci consente di generare in automatico delle password, senza doverci sforzare ogni volta ad inventarne di nuove. Il comando da usare è il seguente, specificando:

  • pass-name = il nome che volete assegnare alla password (magari il nome del sito di riferimento)
  • pass-length = il numero di caratteri che la password deve avere.
pass generate <pass-name> <pass-length>
pass - generare password

pass – generare password

Come potete vedere, la password “xK629gL4” è stata generata.

Grazie al comando “pass” potrete visualizzare l’albero delle password generate.

La password verrà generata utilizzando /dev/urandom, che sfrutta l’hardware come fonte di entropia per generare password sicure e non prevedibili (RFC 1750).

Per dimostrarvi che la password è salvata in maniera criptata, proviamo adesso a visualizzarla:

pass - password criptata

pass – password criptata

Quando generate una password potete dare alcune direttive mediante le opzioni:

  • –no-symbols (oppure -n):
    • la password generata non conterrà simboli, quindi sarà alfanumerica.
  • –clip (oppure -c):
    • quando la password viene creata non verrà mostrata, ma direttamente copiata negli appunti per 45 secondi (grazie al tool xclip).
    • può essere utile per questioni di sicurezza non mostrare la password, soprattutto quando siete in luoghi pubblici o aziendali

Se volete, potete anche dividere le password in categorie, vi basterà specificare il percorso della cartella che conterrà la nuova password.

pass - suddivisione in categorie

pass – suddivisione in categorie

4 – Inserire una password

Se volete inserire nel portafoglio  una password che già avete, potete utilizzare il comando insert.

pass insert <pass-ID>
pass - inserire password

pass – inserire password

Come potete vedere, vi verrà richiesta la password da inserire, e ripeterla per dare conferma che sia esatta.

Se avete difficoltà nell’immettere una password senza vedere i caratteri che state immettendo, potete visualizzarli usando l’opione –echo (oppure -e).

pass - inserire password

pass – inserire password

Il comando insert supporta l’opzione –multiline (oppure -m), che ci consente di poter scrivere su più linee finchè non inseriamo il carattere EOF per chiudere (solitamente ctrl+D).

pass - inserire in multilinea

pass – inserire in multilinea

5 – Accedere ad una password

Per accedere ad una password vi basterà indicare a pass l’ID della password:

pass <pass-id>
pass - visualizzare password

pass – visualizzare password

In alternativa, potete utilizzare anche il comando show per visualizzarla.

6 – Aggiornare una password

Se avete bisogno di cambiare la password e generarne una nuova, vi basterà ripetere la procedura di generazione specificando lo stesso ID, e la nuova password andrà a sostituire la nuova.

pass - aggiornare password

pass – aggiornare password

7 – Modificare una password

Se volete modificare una password esistente, perché magari quella generata non vi serve più, potete usare l’opzione edit, specificando l’ID della password da modificare.

pass edit <pass-ID>

Verrà aperto l’editor e siete liberi di modificare la password come meglio credete. La cosa utile, è che potrete inserire tutte le informazioni aggiuntive per la vostra password, come nome utente, domanda segreta, ecc…

8 – Rimuovere una password

Per rimuovere una password basterà utilizzare l’opzione rm (remove), specificando l’ID della password da eliminare.

pass rm <pass-ID>
pass - rimuovere password

pass – rimuovere password

9 – Cercare una password

Quando il vostro portafoglio delle password sarà pieno, potreste avere difficoltà a trovare le password, pertanto viene messo a disposizione il comando find, che vi indicherà il percorso in cui è memorizzata la password.

Sincronizzazione con Git

Se vogliamo condividere le password fra più computer, o se abbiamo bisogno di salvare la cronologia delle password usate nel tempo, anche dopo che verranno rimosse, possiamo utilizzare Git. Per fare questo, dovrete aver installato prima Git sul vostro pc.

La prima cosa da fare è inizializzare come repository la cartella contenente le password:

pass git init

In questo modo, ogni volta che generiamo o modifichiamo password la repository verrà aggiornata.

La seconda cosa, è indicare la repository remota online che ci dovrà fare da server fra i nostri vari pc. Andate su un servizione come GitHub e create la vostra repository privata, ad esempio con il nome psw-store.

pass git remote add origin https://github.com/.../psw-store.git  

Per inviare i dati presenti sul vostro computer sulla repository online:

pass git push -u --all 

NB: Vi verranno richiesti i dati di accesso con cui loggate su github.

Ogni volta che aggiungete una password, dovrete fare “pass git push”.