O Passbolt é um gerenciador de credenciais (usuários e senhas) desenvolvido para para uso corporativo e/ou para times. Ele possui versões Community Edition (CE), que é gratuito e de código livre (open source), e versões pagas, incluindo a com hospedagem própria (Cloud Version).
Neste artigo, faremos a instalação do PassBolt no Linux Ubuntu 18.04 LTS Server utilizando o seu próprio instalador, que sugere o Nginx como servidor web e o MariaDB (versão “fork” – opensource – do MySQL) como sistema gerenciador de banco de dados, e o Let’s Encrypt para a ativação do HTTPS/SSL no acesso ao sistema.
Nginx é um servidor web, tal como o Apache e IIS. É considerado um servidor “leve”, pois consome menos memória que o Apache. Em redes corporativas, é comum usá-lo em parceria ao Apache, visando aumentar a performance dos serviços e servidores e, consequentemente, economizando recursos.
Importante destacar que, na construção do ambiente utilizado neste artigo, o sistema operacional estava em sua versão original, sem nenhum sistema pré-instalado ou instalado anteriormente.
Pré-requisitos para execução deste tutorial: conhecimento em Linux, conhecimento geral em redes de computadores e compreensão do conceito de servidor Web, banco de dados e criptografia / certificados SSL.
Preparando o ambiente para a instalação
Para iniciar, adicione alguns repositórios padrões ao Ubuntu (apt / sources.list):
sudo add-apt-repository universe
*No Ubuntu 18.04, o repositório universe é habilitado para qualquer fonte (source).
Para conferir, ou inserir manualmente os sources, abra / edite o arquivo sources.list:
sudo nano /etc/apt/sources.list
Insira os endereços abaixo ao final do arquivo:
# Passbolt
deb http://archive.ubuntu.com/ubuntu bionic main universe
deb http://archive.ubuntu.com/ubuntu bionic-security main universe
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe
Atualize a lista de repositórios e o sistema:
apt update && apt upgrade
Acesse o diretório home ou opt:
cd ~ ou cd /opt/
Baixe os arquivos da instalação do Passbolt do seu site oficial:
wget -O passbolt-ce-installer-ubuntu-18.04.tar.gz https://www.passbolt.com/ce/download/installers/ubuntu/latest
wget -O passbolt-installer-checksum https://www.passbolt.com/ce/download/installers/ubuntu/latest-checksum
sha512sum passbolt-installer-checksum
Descompacte o arquivo de instalação:
tar -xzvf passbolt-ce-installer-ubuntu-18.04.tar.gz
Instruções para o instalador
Para iniciar o instalador do Passbolt, execute o script abaixo:
sudo ./passbolt_ce_ubuntu_installer.sh
Abaixo estão as sugestões e configurações utilizadas neste ambiente.
O certificado SSL, via Let’s Encrypt, será gerado e ativado posteriormente pois, através do próprio instalador do Passbolt (SSL Setup = option 2 [auto]), tivemos dificuldades em realizar esta configuração.
Instalar Maria DB? = 1, yes MariaDB root = [insira uma senha para usuário root do MariaDB] Database user name = passbolt Database user password = [insira uma senha para o usuário passbolt] Database name = passbolt Haveged = 1, yes Hostname = [use o IP do servidor ou, como neste exemplo, um dominio, como pb.scota.com.br] Setting SSL = 3, none [vamos habilitar depois!]
Após a inserção destas respostas a instalação iniciará. Se efetuada com sucesso, será exibida a mensagem de que a instalação está quase completa e deve ser finalizada via browser, como ilustra a imagem abaixo.
Porém, como vimos acima, decidimos não habilitar o SSL através do instalador do Passbolt e, por isso, antes de finalizar a configuração via browser, vamos usar o certbot para gerar este certificado e permitir acessar o sistema através de SSL/HTTPS.
Ativando SSL no Passbolt com o Let’s Encrypt
Para ativar o SSL é importante lembrar que o domínio utilizado seja acessível via Internet, portanto, as portas 80 http e 443 https devem estar abertas (liberadas) e redirecionadas (NAT) para o servidor (IP local) do sistema.
Caso esteja fazendo esta instalação em um ambiente de testes, você pode gerar um certificado self-signed (auto-assinado). Ele pode ser usado normalmente, porém, como não possui vínculo com uma autoridade certificadora oficial, o navegador sempre exibirá um alerta ao acessá-lo.
Para gerar um certificado self-signed, consulte as referências deste artigo.
Insira o repositório do certbot ao Ubuntu:
sudo add-apt-repository ppa:certbot/certbot
Instale o certbot para Nginx:
apt-get update && apt-get install python-certbot-nginx
Configurando o Nginx:
Como a instalação do Passbolt já criou o arquivo de configuração para o Nginx (/etc/nginx/conf.d/passbolt.conf) você não precisa executar o comando abaixo. Caso você tenha criando uma nova entrada (arquivo) de host virtual (como de um subdomínio), execute o comando abaixo para verificar a sintaxe do arquivo e reiniciar o Nginx.
nginx -t && nginx -s reload
Obtendo o certificado SSL/TLS:
sudo certbot --nginx -d example.com -d www.example.com
*Exemplos: sudo certbot --nginx -d pb.scota.com.br
Você precisará inserir as informações do certificado, como o código do país, estado, cidade, companhia, departamento, domínio (site) e email.
Feito isso, confira o arquivo passbolt.conf, que deve estar semelhante a este abaixo:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name example.com www.example.com; listen 443 ssl; # managed by Certbot # RSA certificate ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot # Redirect non-https traffic to https if ($scheme != "https") { return 301 https://$host$request_uri; } # managed by Certbot }
Concluindo a instalação via browser
Acessando o IP ou domínio do servidor / sistema (definido na instalação), você deverá seguir com a configuração final do Passbolt. Deve-se informar, basicamente:
1 – Banco de Dados:
Informações de acesso ao MariaDB, como host (127.0.0.1 ou localhost), usuário, senha e nome do banco de dados (definidos na instalação).
2 – Criação de chave GPG
Informe um nome para o sistema / servidor e um e-mail.
3 – Servidor SMTP de email
Insira uma conta para envio de emails (obrigatório para ativação de usuários do sistema), informando dados da conta e do servidor SMTP.
4 – Criação do primeiro usuário (administrador)
Insira um nome, sobrenome e email.
As instruções oficiais desta configuração podem ser consutadas no site oficial do Passbolt neste link.
Fim! Feito isso, o Passbolt estará completamente instalado e configurado!
Você pode acessar sua interface de administração através do endereço https://dominio-do-passbolt/app/passwords, porém precisa, obrigatoriamente, instalar seu plugin para o navegador utilizado (Chrome ou Firefox), conforme instruções da sua página inicial.
Arquivos de configuração:
CertBoot do LetsEncrypt:
/etc/letsencrypt/live/pb.scota.com.br/fullchain.pem
Config do Passbolt no Nginx:
/etc/nginx/conf.d/passbolt.conf
*É comum este arquivo ficar dentro de /etc/nginx/sites-available/domain-example.conf
Configs gerais do Passbolt, incluindo Database, URL e SMTP:
/var/www/passbolt/config/passbolt.php
*Diretório de config do Passbolt pode variar de acordo com a versão do sistema operacional / configurações de instalação, como o /etc/passbolt.
Webroot do Passbolt no Ubuntu:
/var/www/passbolt/webroot
*Agradecimento especial ao Angelo Gelasko e ao Maike Cristian de Lima pela ajuda na construção desta pesquisa e ambiente de testes.
*Com referências de: Passbolt Help – Install on Ubuntu, Nginx – Using SSL/TLS Certificates by Let’s Encrypt, Techrepublic – How to enable SSL on Nginx (Self-Signed Certificate), How to Forge – Install Passbolt on Ubuntu 20.04, Passbolt Help – Install on Debian
Parabéns pelo post, excelente abordagem, tentarei replicar no meu ambiente.
Muito obrigado, Cleto! Destaco que, nos últimos tempos, o sistema (e sua instalação), evoluíram, portanto, caso tenha alguma duvida, vale consultar o link oficial e verificar qual opção melhor se enquadra no seu ambiente: https://help.passbolt.com/hosting/install