Marvin Pascale

[B.Log]

13 Marzo 2021

Bitwarden On-Premise

Gestire le password (sceglierle robuste, cambiarle a intervarri regolagi ecc) è una questione sempre più importate ai giorni nostri.

Con un gestore di password on-premise, hai tutti i dati sotto controllo! Vi mostrerò come configurare Bitwarden.

Bitwarden è un software open-source che offre anche una soluzione on-premise disponibile gratuitamente.

Come prima cosa sarà necessario configurare il doiminio di terzo livello (record dns). es: bitwarden.marvinpascale.it .

Anche in questo post utilizzeremo docker-compose.

Creiamo l’utente locale

# useradd bitwarden -m -s /bin/bash -c "Utente gestore Bitwarden"

Lo aggiungiamo al gruppo docker

# usermod -aG docker bitwarden

Creiamo le cartelle per la persistenza dei dati

# mkdir /opt/bitwarden
# chmod 700 /opt/bitwarden && chown bitwarden:bitwarden /opt/bitwarden

Facciamo login come utente bitwarden, scarichiamo e lanciamo lo script

# su bitwarden && cd /opt/bitwarden
# curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod +x bitwarden.sh
# ./bitwarden.sh install

Ora basta seguire le istruzioni mostrate a video

_     _ _                         _            
| |__ (_) |___      ____ _ _ __ __| | ___ _ __  
| '_ \| | __\ \ /\ / / _` | '__/ _` |/ _ \ '_ \
| |_) | | |_ \ V  V / (_| | | | (_| |  __/ | | |
|_.__/|_|\__| \_/\_/ \__,_|_|  \__,_|\___|_| |_|

Open source password management solutions
Copyright 2015-2021, 8bit Solutions LLC
https://bitwarden.com, https://github.com/bitwarden

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

bitwarden.sh version 1.39.4
Docker version 20.10.5, build 55c4c88
docker-compose version 1.28.5, build c4eb3a1f

(!) Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com): bitwarden.marvicorp.it

(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): y

1.39.4: Pulling from bitwarden/setup
a076a628af6f: Pull complete
578903a55fa4: Pull complete
cf52818748ce: Pull complete
11b160c8462d: Pull complete
934304d5bb9b: Pull complete
ed67c17b033c: Pull complete
2c9afa715b19: Pull complete
2a3efc476c5a: Pull complete
95c8f6f80f2c: Pull complete
2d8dd4476342: Pull complete
Digest: sha256:935729a074cd73d365167cbce019c657e85e57e99ff4c124560121952441d8a4
Status: Downloaded newer image for bitwarden/setup:1.39.4
docker.io/bitwarden/setup:1.39.4

(!) Enter your installation id (get at https://bitwarden.com/host):

(!) Enter your installation key:

Per ottenere l’id e la key basta collegarsi alla pagina https://bitwarden.com/host e compilare il campo email.

Impostiamo le variabili per il corretto funzionamento

# vim ./bwdata/env/global.override.env
...
globalSettings__mail__smtp__host=
globalSettings__mail__smtp__port=
globalSettings__mail__smtp__ssl=
globalSettings__mail__smtp__username=
globalSettings__mail__smtp__password=
adminSettings__admins=
...

Riavviamo il servizio

# ./bitwarden.sh restart

Una volta riavviato lo stack basterà collegarci all’interfaccia web e creare il primo utente. https://password.dominio.it

Bitwarden Login

Creato il nostro utente il gioco è fatto.

Se volessimo utilizzare questa installazione sulle nostre estensioni Chrome o i vari client basterà entrare nelle impostazioni e modificare l’url del server.

Bitwarden Login

Approfondimento

Lo script utilizza docker-compose per avviare uno stack composto dai diversi componenti.

# docker ps
CONTAINER ID   IMAGE                            COMMAND            CREATED              STATUS                             PORTS                                                 NAMES
47f655e29f8f   bitwarden/nginx:1.39.4           "/entrypoint.sh"   44 seconds ago       Up 39 seconds (healthy)            80/tcp, 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp   bitwarden-nginx
e0093de50fec   bitwarden/admin:1.39.4           "/entrypoint.sh"   53 seconds ago       Up 44 seconds (health: starting)   5000/tcp                                              bitwarden-admin
e25629435245   bitwarden/portal:1.39.4          "/entrypoint.sh"   53 seconds ago       Up 44 seconds (healthy)            5000/tcp                                              bitwarden-portal
2091d1bef607   bitwarden/web:2.18.1             "/entrypoint.sh"   About a minute ago   Up 55 seconds (healthy)                                                                  bitwarden-web
7d2f6dffd7b5   bitwarden/api:1.39.4             "/entrypoint.sh"   About a minute ago   Up 45 seconds (healthy)            5000/tcp                                              bitwarden-api
0fdc28cb5495   bitwarden/identity:1.39.4        "/entrypoint.sh"   About a minute ago   Up 44 seconds (healthy)            5000/tcp                                              bitwarden-identity
aac4a4105559   bitwarden/attachments:1.39.4     "/entrypoint.sh"   About a minute ago   Up 53 seconds (healthy)                                                                  bitwarden-attachments
0630b55324d4   bitwarden/events:1.39.4          "/entrypoint.sh"   About a minute ago   Up 44 seconds (healthy)            5000/tcp                                              bitwarden-events
fcc82ea2ddc8   bitwarden/icons:1.39.4           "/entrypoint.sh"   About a minute ago   Up 44 seconds (healthy)            5000/tcp                                              bitwarden-icons
d240dff2d2ef   bitwarden/sso:1.39.4             "/entrypoint.sh"   About a minute ago   Up 49 seconds (health: starting)   5000/tcp                                              bitwarden-sso
7690a5b12e47   bitwarden/mssql:1.39.4           "/entrypoint.sh"   About a minute ago   Up 53 seconds (health: starting)                                                         bitwarden-mssql
3928d6c5818c   bitwarden/notifications:1.39.4   "/entrypoint.sh"   About a minute ago   Up 46 seconds (healthy)            5000/tcp                                              bitwarden-notifications

I dati sono salvati in /opt/bitwarden/bwdata/

.
├── bitwarden.sh
└── bwdata
    ├── ca-certificates
    ├── config.yml
    ├── core
    ├── docker
    ├── env
    ├── identity
    ├── letsencrypt
    ├── logs
    ├── mssql
    ├── nginx
    ├── scripts
    ├── ssl
    └── web

Per gestire lo stack è consigliato utilizzare lo script fortnito.

_     _ _                         _            
| |__ (_) |___      ____ _ _ __ __| | ___ _ __  
| '_ \| | __\ \ /\ / / _` | '__/ _` |/ _ \ '_ \
| |_) | | |_ \ V  V / (_| | | | (_| |  __/ | | |
|_.__/|_|\__| \_/\_/ \__,_|_|  \__,_|\___|_| |_|

Open source password management solutions
Copyright 2015-2021, 8bit Solutions LLC
https://bitwarden.com, https://github.com/bitwarden

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

bitwarden.sh version 1.39.4
Docker version 20.10.5, build 55c4c88
docker-compose version 1.28.5, build c4eb3a1f

No command found.

Available commands:

install
start
restart
stop
update
updatedb
updaterun
updateself
updateconf
renewcert
rebuild
help

See more at https://bitwarden.com/help/article/install-on-premise/#script-commands-reference

Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.

Risorse: