Headlines

Passbolt il password manager open source via Browser

Archiviare, gestire e condividere password in sicurezza

Passbolt è un software open source per la gestione delle password. L’applicazione funziona come un password manager centralizzato che consente agli utenti di creare, gestire e condividere le proprie password in modo sicuro. Il software utilizza la crittografia end-to-end per garantire la massima sicurezza delle password.

Gli utenti di Passbolt possono creare account personali protetti da una master password che permette di accedere alle credenziali da qualsiasi dispositivo.
Con Passbolt è inoltre possibile creare gruppi di lavoro per condividere le password con altri membri del team senza correre il rischio che le credenziali possano essere intercettate e sottratte da soggetti non autorizzati.

Passbolt utilizza il protocollo OpenPGP per crittografare le password rendendole irrecuperabili in chiaro dagli utenti non in possesso delle credenziali corrette; inoltre, il software tiene traccia degli accessi all’archivio delle password e delle modifiche via via apportate.

Ma vediamo come fare.

I prerequisiti

​Avremo bisogno di:

  • Un server minimo RockyLinux 9.
  • Un nome di dominio  che punti  al server o almeno sia in grado di raggiungere il server attraverso un indirizzo IP statico.
  • Un server SMTP funzionante per le notifiche e-mail
  • Un servizio NTP funzionante per evitare problemi di autenticazione GPG

I requisiti del server consigliati sono:

  • 2 cores
  • 2GB di RAM

CONFIGURARE  NTP

Per configurare NTP, in RockyLinux è necessario il servizio di chrony  solitmente e installato per impostazione predefinita.

Installare il chrony

Come accennato in precedenza, la suite chrony è installata per impostazione predefinita su alcune versioni di RockyLinux 9, per garantire che vi sia, eseguire il seguente comando come root:

# dnf install chrony

La posizione predefinita per il demone chrony è /usr/sbin/chronyd. In /usr/bin/chronyc troveremo il file di avvio.

Per controllare lo stato di chrony, inseriamo il seguente comando:

# systemctl status chronyd

L’output dovrebbe essere qualcosa di simile:

chronyd.service – NTP client/server

  Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)

  Active: active (running) since Wed 2013-06-12 22:23:16 CEST; 11h ago

Se non vediamo questo output, per avviare il chrony, digitiamo il seguente comando come root:

# systemctl start –now chronyd

Per garantire che chrony si avvii automaticamente all’avvio del sistema, emettere il seguente comando come root:

# systemctl enable –now chronyd

Per verificare se il chrony è sincronizzato, utilizzare il comando di tracciamento:

chronyc tracking

L’output dovrebbe essere qualcosa di simile:


Reference ID  : CB00710F (foo.example.net)
Stratum     : 3
Ref time (UTC) : Fri Jan 27 09:49:17 2017
System time   : 0.000006523 seconds slow of NTP time
Last offset   : -0.000006747 seconds
RMS offset   : 0.000035822 seconds
Frequency    : 3.225 ppm slow
Residual freq  : 0.000 ppm
Skew      : 0.129 ppm
Root delay   : 0.013639022 seconds
Root dispersion : 0.001100737 seconds
Update interval : 64.2 seconds
Leap status   : Normal

REGOLE DEL FIREWALL

Il firewall che useremo in rockylinux e firewlld, iniziamo con l’installarlo

#  dnf install firewalld

Visto che lo vogliamo attivo ogni volta ce il server si avvia, digitiamo:

# systemctl enable firewalld

e poi avviamolo

# systemctl start firewalld

Controlliamo che il firewall sia attivo con il comando

# firewall-cmd –state

Dovremmo vedere se tutto è ok questo output

Running

Queste le regole che dovranno essere attivate.

In entrata attiveremo queste porte o servizi

HTTP

80

TCP

 

HTTPS

443

TCP

 

diamo questo comando per visualizzare  la liste delle regole applicate di default

# firewall-cmd –list-all

Vedremo un output simile a questo

Output
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Iniazimo con abilitare i servizi necessari in entrata

# firewall-cmd –zone=public –add-service=http –permenent

# firewall-cmd –zone=public –add-service=https –permanent

Controlliamo che le nostre regole siano presenti

# firewall-cmd –zone=public –list-services

Output

cockpit dhcpv6-client http https ssh

Ora riavviamo il firewall in modo che le nuovbe regole vengano fissate

# firewall-cmd –reload

 

Le regole che andranno applicate sul firewall perimetrale se volessimo pubblicare su internet il nostro server in modo che sia disponibile anche ad utenti esterni sono:

HTTP

80

TCP

 

HTTPS

443

TCP

 

SMTP

Solitamente la  587

TCP

 

DNS

53

UDP

 

NTP

123

UDP

 

HKPS

11371

TCP

 

Se volessimo pubblicare il servizio all’esterno ed attribuire dei certificati propri dovremmo impostarli prima di iniziare la configurazione. Ovvero decidere una cartella sul server dove posizionare i nostri certificati.

CONFIGURAZIONE DEL REPOSITORY

 

Per facilitare le attività di installazione e aggiornamento Passbolt dei repository, vediamo come installarli.

Iniziamo con lo scaricare lo script delle dipendenze

# curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh

Scarichiamo il nostro SHA512SUM per lo script di installazione:

curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt

Assicuriamoci poi che lo script sia valido e di conseguenza lo installeremo

# sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo “Bad checksum. Aborting” && rm -f passbolt-repo-setup.ce.sh

INSTALLARE IL PACCHETTO LINUX UFFICIALE DI PASSBOLT

Installaimo il pacchetto vero e proprio di Passbolt

# dnf install passbolt-ce-server

Durante l’installazione, ti verrà chiesto di accettare la chiave GPG del repository Passbolt. È necessario assicurarsi che l’impronta digitale sia esattamente la stessa di quella qui sotto:

Importing GPG key 0xC155581D:

Userid     : “Passbolt SA package signing key [email protected]”

Fingerprint: 3D1A 0346 C8E1 802F 774A EF21 DE8B 853F C155 581D

From       : https://download.passbolt.com/pub.key

 

IMPOSTARE MARIADB / NGINX / SSL

Il pacchetto Passbolt CE RPM su RockyLinux 9 è dotato di uno strumento di aiuto alla configurazione per preparare le impostazioni di MariaDB, Nginx e SSL.

È necessario preparare in anticipo i certificati SSL prima di lanciare lo strumento. Assicurati di scrivere l’intero percorso verso la tua combinazione cert / key, in quanto sarà necessario nel processo di configurazione nginx.

Si prega di notare che per questioni di sicurezza consiglio vivamente di impostare SSL per usare passbolt al di fuori della vostra lan

Avviamo passbolt-configure e risposta alle domande:

# /usr/local/bin/passbolt-configure

Configurazione del db MariaDB

================================================================

Do you want to configure a local mariadb server on this machine?

================================================================

1) yes

2) no

#?

Rispondiamo 1 se si vuol configurare un db MAriaDB altriment 2 se abbiamo intenzione di usare un db già esistente.

Se abbiamo scelto 1 (ovvero si), rispondiamo alle domande:

=======================================================

Please enter a new password for the root database user:

=======================================================

MariaDB Root Password: ****

MariaDB Root Password (verify): ****

======================================================

Please enter a name for the passbolt database username

======================================================

Passbolt database user name:passboltuser

=======================================================

Please enter a new password for the mysql passbolt user

=======================================================

MariaDB passbolt user password: ****

MariaDB passbolt user password (verify): ****

==============================================

Please enter a name for the passbolt database:

==============================================

Passbolt database name:passboltdb

Negli ambienti virtualizzati si verifica che GnuPG non trovi abbastanza entropia per generare una chiave. Pertanto, Passbolt non funzionerà correttamente.

Per evitare questo problema dovremmo installare Haveged per accelerare la generazione di entropia.

==================

Install Haveged ?

==================

1) yes

2) no

#?

Rispondiamo con 1 se stiamo installando un VM altrimenti premiamo 2

Installiamo e configuriamo NGINX

Inseriamo il nome di dominio sotto il quale passbolt verrà eseguito.

Nota che questo nome host verrà utilizzato come nome server per nginx e come nome di dominio per registrare il certificato SSL con let encrypt se non si dispone di certificati SSL.

Se non si dispone di un nome di dominio e non si prevede di utilizzare Let’s encrypt inserire l’indirizzo IP per accedere a questa macchina.

=========

Hostname: passbolt.domain.tld

==========

Configurazione di SSL

3 scelte sono disponibili per la configurazione SSL:

  • Manuale: Prompts per il percorso dei certificati ssl caricati dall’utente e imposta nginx
  • Auto: emetterà un certificato SSL gratuito con https://www.letsencrypt.org e imposta nginx
  • Nessuno: non configurare HTTPS

==================

Setting up SSL…

==================

1) manual

2) auto

3) none

#?

Se scegli 11, ti verrà richiesto il percorso completo dei tuoi certificati:

Enter the path to the SSL certificate: /path/to/certs/cert.pem

Enter the path to the SSL privkey: /path/to/certs/key.pem

Nginx e MariaDB sono ora pronti per essere configurati. Alla fine del processo troveremo i parametri per connettersi all’interfaccia web Passbolt per completare la configurazione.

===============================================================

Installation is almost complete. Please point your browser to

https://passbolt.domain.tld to complete the process

===============================================================

CONFIGURARE PASSBOLT

Prima di poter utilizzare l’applicazione, è necessario configurarla. Puntare il browser al nome host / ip di passbolt

Premiamo il pulsante azzurro.

La prima pagina della procedura guidata ti dirà se il tuo ambiente è pronto per il passbolt. Risolvi i problemi se ce ne sono e clicca su “Avvia configurazione” quando è pronto.

Questo passaggio consiste nel dire passbolt quale database utilizzare. Immettere il nome host, il numero di porta, il nome del database, il nome utente e la password. Che abbiamo creato durante la fase di installazione

In questa sezione è possibile generare o importare una coppia di chiavi GPG. Questa coppia di chiavi verrà utilizzata dall’API passbolt per autenticarsi durante il processo di handshake di login. Generare una chiave se non ne avete una.

Opzionale Importazione di chiave già esistente

Importa una chiave se ne hai già una e vuoi che il tuo server la utilizzi.

Per creare una nuova chiave GnuPG senza passphrase:

gpg –batch –no-tty –gen-key <<EOF

  Key-Type: default

  Key-Length: 3072

  Subkey-Type: default

  Subkey-Length: 3072

  Name-Real: Pippo pippo

  Name-Email: [email protected]

  Expire-Date: 0

  %no-protection

  %commit

EOF

Sentiti libero di sostituire Name-Real e Name-Email con il tuo.

Per visualizzare la nuova chiave:

gpg –armor –export-secret-keys [email protected]

Server di posta (SMTP)

In questa fase, la procedura guidata ti chiederà di inserire i dettagli del tuo server SMTP.

Puoi anche verificare che la tua configurazione sia corretta utilizzando la funzione di e-mail di prova a destra dello schermo. Inserisci l’indirizzo email al quale vuoi che la procedura guidata ti invii un’e-mail di prova e fai clic su “Invia e-mail di prova”.

Il wizard ti chiederà quali preferenze preferisci per la tua istanza di passbolt. I valori pre-precomandi consigliati sono già pre-popolati, ma puoi anche cambiarli se sai cosa stai facendo.

Ora possiamo creare il primo account utente di amministratore. Questo primo utente di amministrazione sei probabilmente tu, quindi inserisci i tuoi datie fai clic su Avanti.

Questo e’ tutto. La procedura guidata ha ora abbastanza informazioni per procedere con la configurazione di passbolt. Siediti e rilassati per alcuni secondi mentre il processo di configurazione è in corso.

Il tuo account utente è ora creato. Vedrai una pagina di reindirizzamento per alcuni secondi e poi verrai reindirizzato al processo di configurazione dell’utente in modo da poter configurare il tuo account utente.

Processo di configurazione HTTPS

A seconda delle esigenze ci sono due diverse opzioni per configurare nginx e SSL utilizzando il pacchetto:

  • Configura il tuo account amministratore
  • ​
  • . Scaricare il plugin
  • Prima di continuare passbolt ti richiederà di scaricare il suo plugin. Se lo hai già installato puoi andare al passaggio successivo.

A questo punto Passbolt ti chiederà di creare o importare una chiave che verrà successivamente utilizzata per identificarti e crittografare le tue password. La chiave deve essere protetta da una password. Sceglilo saggiamente, sarà il gatekeeper di tutte le altre password.

Questo passaggio è essenziale. La chiave è l’unico modo per accedere al tuo account e alle password. Se perdi questa chiave, i tuoi dati crittografati andranno persi anche se ricordi la passphrase.

La scelta di un colore e di un token a tre caratteri è un meccanismo di sicurezza secondario che ti aiuta a mitigare gli attacchi di phishing. Ogni volta che si esegue un’operazione sensibile su passbolt, si dovrebbe vedere questo token.

L’account amministratore è configurato. Verrai reindirizzato alla pagina di login di passbolt, ora siamo pronti ad scrivere e condividere tutte le nostre password.

Bene questo è tutto, mi auguro di avervi facilitato la gestione delle vostre password.

Un Saluto

Adam

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.