GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar y configurar Passbolt Team Password Manager en Ubuntu 20.04

Passbolt es un administrador de contraseñas gratuito, de código abierto, autohospedado y extensible que lo ayuda a compartir y almacenar de manera segura las credenciales de inicio de sesión, como la contraseña del enrutador, el sitio web, Wi -Fi, y más. Es diferente de otros administradores de contraseñas. se centra en el uso del equipo en lugar de los individuos. Está disponible tanto en la comunidad como en la edición de pago. Ofrece muchas características, algunas de ellas se enumeran a continuación:

  • Proporciona extensiones para Firefox y Google Chrome.
  • Utilice OpenPGP para cifrar la contraseña.
  • Interfaz web simple y fácil de usar.
  • Permite importar y exportar contraseñas.
  • Permite agregar credenciales de inicio de sesión manualmente.

En este tutorial, explicaremos cómo instalar Passbolt Password Manager con Apache y Let's Encrypt en Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Instalar servidor LAMP

Primero, deberá instalar el servidor Apache y MariaDB en su sistema. Puede instalarlos con el siguiente comando:

apt-get install apache2 mariadb-server -y

Después de instalar los paquetes anteriores, también deberá instalar PHP y otros paquetes necesarios en su sistema.

De forma predeterminada, Ubuntu 20.04 viene con PHP7.4 en su repositorio predeterminado. Sin embargo, Passbolt no es compatible con PHP7.4. Por lo tanto, deberá agregar el repositorio de PHP en su sistema.

Primero, instale los paquetes requeridos con el siguiente comando:

apt-get install software-properties-common gnupg -y

A continuación, agregue el repositorio de PHP con el siguiente comando:

add-apt-repository ppa:ondrej/php --yes

Luego, instale PHP versión 7.3 con Composer y otras extensiones requeridas con el siguiente comando:

apt-get install php7.3 php7.3-mysql libapache2-mod-php7.3 php7.3-intl php7.3-mbstring php7.3-gd php7.3-imagick php7.3-xml php7.3-common php7.3-curl php7.3-json php7.3-ldap php7.3-gnupg zlib1g unzip git composer curl -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Configurar base de datos MariaDB

Primero, deberá asegurar la instalación de MariaDB y configurar la contraseña raíz de MariaDB. Puedes hacerlo con el siguiente comando:

mysql_secure_installation

Este script establecerá la contraseña raíz de MariaDB, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz de forma remota y eliminará la base de datos de prueba y accederá a ella como se muestra a continuación:

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una vez que MariaDB esté protegida, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporcione su contraseña raíz cuando se le solicite y luego cree una base de datos y un usuario para Passbolt con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE passboltdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> GRANT ALL on passboltdb.* to [email protected] identified by 'password';

A continuación, elimine los privilegios y salga de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar y configurar Passbolt

En esta sección, aprenderemos a descargar y configurar passbolt:

Descargar Passbolt

Primero, descargue la última versión de Passbolt en el directorio raíz web de Apache con el siguiente comando:

mkdir /var/www/passbolt
git clone https://github.com/passbolt/passbolt_api.git /var/www/passbolt

Una vez descargado, cambie la propiedad del passbolt a www-data con el siguiente comando:

chown -R www-data:www-data /var/www/

Luego, cambie el directorio a passbolt e instale las dependencias requeridas con el siguiente comando:

cd /var/www/passbolt
sudo -u www-data composer install --no-dev

Deberías obtener el siguiente resultado:

> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
9 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
thadafinser/package-info:  Generating class...
thadafinser/package-info: ...generating class
> App\Console\Installer::postInstall
Created `config/app.php` file
Created `/var/www/passbolt/logs` directory
Created `/var/www/passbolt/tmp/cache/models` directory
Created `/var/www/passbolt/tmp/cache/persistent` directory
Created `/var/www/passbolt/tmp/cache/views` directory
Created `/var/www/passbolt/tmp/sessions` directory
Created `/var/www/passbolt/tmp/tests` directory
Set Folder Permissions ? (Default to Y) [Y,n]? Y

Escribe Y y pulsa Intro para configurar los permisos de la carpeta.

Generar clave OpenPGP

A continuación, deberá generar la clave OpenPGP para autenticar y firmar las solicitudes JSON salientes. Puede generarlo con el siguiente comando:

cd /var/www/passbolt
gpg --full-generate-key

Durante el proceso, se le pedirá la frase de contraseña, simplemente presione la tecla Tab, seleccione Aceptar y confirme que no desea configurarlo, porque el módulo php-gnupg no admite el uso de frases de contraseña en este momento.

gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
  (14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: Hitesh
Email address: [email protected]
Comment: Hi
You selected this USER-ID:
    "Hitesh (Hi) <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 2DA8E7FB8E23B2FD marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/9622291A72D99A4EC78ABCB92DA8E7FB8E23B2FD.rev'
public and secret key created and signed.

pub   rsa4096 2020-07-25 [SC]
      D2394A45B7CBBAB7F00CC79B23D4750486780854
uid                      Hitesh (Hi) <[email protected]>
sub   rsa4096 2020-07-25 [E]

Recuerde la huella digital de la clave pública anterior, ya que la necesitará más adelante en la configuración.

A continuación, exporte la clave pública y privada al directorio '/var/www/passbolt' con los siguientes comandos:

gpg --armor --export-secret-keys [email protected] > /var/www/passbolt/config/gpg/serverkey_private.asc
gpg --armor --export [email protected] > /var/www/passbolt/config/gpg/serverkey.asc

A continuación, deberá inicializar el conjunto de claves de la clave gpg para el usuario de Apache. Puedes hacerlo con el siguiente comando:

sudo su -s /bin/bash -c "gpg --list-keys" www-data

Deberías obtener el siguiente resultado:

gpg: directory '/var/www/.gnupg' created
gpg: keybox '/var/www/.gnupg/pubring.kbx' created
gpg: /var/www/.gnupg/trustdb.gpg: trustdb created

Configurar Passbolt

Primero, copie el archivo de configuración de ejemplo de Passbolt con el siguiente comando:

cp /var/www/passbolt/config/passbolt{.default,}.php

A continuación, edite el archivo de configuración de Passbolt con el siguiente comando::

nano /var/www/passbolt/config/passbolt.php

Defina su fullbaseurl, base de datos y huella digital de clave pública como se muestra a continuación:

        'fullBaseUrl' => 'https://passbolt.linuxbuz.com',
    // Database configuration.

    'Datasources' => [
        'default' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'passbolt',
            'password' => 'password',
            'database' => 'passboltdb',
            'serverKey' => [
            // Server private key fingerprint.
            'fingerprint' => 'D2394A45B7CBBAB7F00CC79B23D4750486780854',
            'public' => CONFIG . 'gpg' . DS . 'serverkey.asc',
            'private' => CONFIG . 'gpg' . DS . 'serverkey_private.asc',

Guarde y cierre el archivo cuando haya terminado.

Si no recuerda la huella digital de su clave pública, puede obtenerla con el siguiente comando:

gpg --list-keys --fingerprint | grep -i -B 2 [email protected]

Deberías obtener el siguiente resultado:

gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   rsa4096 2020-07-25 [SC]
      D239 4A45 B7CB BAB7 F00C  C79B 23D4 7504 8678 0854
uid           [ultimate] Hitesh (Hi) <[email protected]>

Configurar Apache para Passbolt

A continuación, deberá crear un archivo de configuración de host virtual de Apache para Passbolt. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/passbolt.conf

Agregue las siguientes líneas:

<VirtualHost *:80>

        ServerName passbolt.linuxbuz.com
        DocumentRoot /var/www/passbolt

        ErrorLog ${APACHE_LOG_DIR}/passbolt_error.log
        CustomLog ${APACHE_LOG_DIR}/passbolt_access.log combined


      <Directory /var/www/passbolt/>
                Options FollowSymLinks MultiViews
                AllowOverride All
                Require all granted
        </Directory>

</VirtualHost>

Guarde y cierre el archivo, luego active el archivo de host virtual y reinicie el servicio Apache con el siguiente comando:

a2ensite passbolt
systemctl restart apache2

Cuando haya terminado, puede continuar con el siguiente paso.

Secure Passbolt con Let's Encrypt

Para proteger su sitio web con Let's Encrypt SSL, deberá instalar la utilidad de cliente Certbot en su sistema para administrar el certificado SSL.

Puede instalarlo con el siguiente comando:

apt-get install python3-certbot-apache -y

Una vez instalado, ejecute el siguiente comando para proteger su sitio web con Let's Encrypt SSL:

certbot --apache -d passbolt.linuxbuz.com

Se le pedirá que proporcione su correo electrónico y acepte el término del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for passbolt.linuxbuz.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/passbolt-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/passbolt-le-ssl.conf

A continuación, seleccione si desea redirigir o no el tráfico HTTP a HTTPS como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Tipo 2 y pulsa Intro para instalar Let's Encrypt SSL para su sitio web:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/passbolt.conf to ssl vhost in /etc/apache2/sites-available/passbolt-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://passbolt.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=passbolt.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/passbolt.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

En este punto, su sitio web está protegido con Let's Encrypt SSL.

Instalar Passbolt

A continuación, puede instalar Passbolt ejecutando el script de instalación de Passbolt.

Primero, cambie el directorio a /var/www/passbolt:

cd /var/www/passbolt

A continuación, ejecute el script de instalación de Passbolt con el siguiente comando:

sudo su -s /bin/bash -c "./bin/cake passbolt install --no-admin" www-data

Una vez que la instalación se haya completado con éxito, debería obtener el siguiente resultado:

All Done. Took 1.6533s

Import the server private key in the keyring
---------------------------------------------------------------
Importing /var/www/passbolt/config/gpg/serverkey_private.asc
Keyring init OK

Passbolt installation success! Enjoy! ?

A continuación, deberá finalizar la configuración de Passbolt desde el navegador. Abra su navegador web y visite la URL https://passbolt.linuxbuz.com. Debería ver la siguiente pantalla:

Aquí, deberá descargar e instalar un complemento para su navegador. Haga clic en Descargar el complemento para descargar e instalar el complemento Passbolt. Una vez instalado, puede continuar con el siguiente paso.

Acceder a la interfaz web de Passbolt

Antes de comenzar, deberá crear un usuario administrador y establecer una contraseña para Passbolt. Puedes hacerlo con el siguiente comando:

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt register_user -u [email protected] -f howtoforge -l Demo -r admin" www-data

Deberías obtener el siguiente resultado:

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

 Open source password manager for teams
---------------------------------------------------------------
User saved successfully.
To start registration follow the link provided in your mailbox or here: 
https://passbolt.linuxbuz.com/setup/install/5bcfb186-3d9f-448f-8388-f705abd855c8/a2ba80dc-5ef2-433a-9138-11282747b377

Ahora, copie el enlace del resultado anterior y utilícelo para finalizar la configuración de Passbolt en el navegador. Debería ver la siguiente pantalla:

Confirme que la URL y la huella dactilar de la clave GPG estén bien y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Proporcione el nombre del propietario, el correo electrónico y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Establezca su contraseña y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Descarga tu clave secreta y haz clic en Siguiente botón. Debería ver la siguiente pantalla:

Establezca un token de seguridad y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Proporcione su nombre de usuario, contraseña y haga clic en iniciar sesión botón. Debería ver el panel de control de Passbolt en la siguiente pantalla:

Conclusión

¡Felicitaciones! ha instalado con éxito el administrador de contraseñas Passbolt con Let's Encrypt SSL en el servidor Ubuntu 20.04. Ahora puede almacenar y compartir sus contraseñas con sus equipos y usuarios individuales. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar ownCloud con Apache en Ubuntu 18.04

  4. Cómo instalar y configurar Samba en Ubuntu 18.04

  5. Cómo instalar y configurar Redis en Ubuntu 20.04

Cómo instalar y configurar Magento 2 en Ubuntu 18.04

Instalar y configurar Fail2ban en Ubuntu 20.04

Cómo instalar y configurar Magento 2.3.0 en Ubuntu 18.04

Cómo instalar Passbolt Password Manager en el servidor Ubuntu 18.04

Cómo instalar Passbolt Password Manager en el servidor Ubuntu 20.04

Cómo instalar Passbolt Password Manager en Ubuntu 18.04