Passbolt CE com MFA e App Mobile

Em um post anterior apresentei o Passbolt, um gerenciador de credenciais (usuários e senhas) que possui versões Community Edition (CE, open source) e versões pagas, incluindo a versão com hospedagem própria (Cloud Version).

Em suas novas versões (3.3.x em diante) o Passbolt passou a oferecer duas features bem interessantes: a autenticação em duas etapas (2FA/MFA) e o acesso através de aplicativo para celular.

Neste artigo, faremos a instalação da última versão do PassBolt CE (3.12.1) no Debian 11 (contêiner LXC do ProxMox VE) utilizando o seu próprio instalador, que sugere o Nginx como servidor web e o MySQL/MariaDB como sistema gerenciador de banco de dados. O mesmo processo de instalação foi realizado utilizando Docker.

Preparando o ambiente para instalação

No console do Debian, entre com o usuário root e então baixe os pacotes oficiais do Passbolt:

$ su root

# apt update && apt upgrade

# wget "https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh"

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

Agora, efetue a validação do script e então execute-o com o comando abaixo, adicionando o Passbolt aos repositórios do Debian:

# sha512sum -c passbolt-ce-SHA512SUM.txt && su root ./passbolt-repo-setup.ce.sh || echo \"Bad checksum. Aborting\" && rm -f passbolt-repo-setup.ce.sh

*Comando original alterado por que o “sudo” é desconhecido no Debian 11.

Após a execução dos comandos acima você deve receber a mensagem que a configuração foi concluída:

Passbolt repository setup is finished.
You can now install passbolt CE edition with this command:
sudo apt install passbolt-ce-server

Inicie a instalação do Passbolt

Seguindo as orientações do instalador, vamos instalar o Passbolt usando o comando apt:

# apt install passbolt-ce-server -y

Agora, no modo de instalação gráfica, siga com as orientações abaixo:

Passbolt Install
Passbolt Install

Yes, para instalar o MySQL;
root (ou outro nome desejado), para definir o user administrator do MySQL;
Senha para o user administrator (criar senha);
Passbolt database user (default: passboltadmin)
Senha para o passbolt database password; 
Passbolt database name (default: passboltdb);
Yes, para Passbolt requires nginx;

Para o SSL, a configuração vai depender do seu ambiente. Em testes, recomendo a opção 1 (sem SSL). Para um ambiente de produção, siga com a criação de um certificado SSL via Let’s Encrypt ou utilizando algum certificado próprio.

Pera ambiente de testes: SSL = none (para testes)
– Dominio: pb.scota.local (ou IP do servidor) *Altere de acordo com seu ambiente

Para ambiente de produção: SSL = auto (Let’s Encrypt) / manual (certificado próprio)
– Dominio: pw.scota.com.br
– Email: daniel@scota.com.br
*Altere de acordo com seu ambiente

Aguarde pela instalação dos pacotes até que a mensagem abaixo seja exibida:

Well done! Visit http://pb.scota.local to finish installation.

Concluindo a instalação via browser

Acessando o IP ou domínio do servidor / sistema (definido acima) você deverá seguir com a configuração final do Passbolt que, inicialmente, exibirá um check geral do sistema:

Passbolt - Install - Check environment
Passbolt – Install – Check environment

Após, siga com as configurações solicitadas:

1 – Banco de Dados:
Informações de acesso ao banco de dados, 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 (válido).

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 as configurações do servidor SMTP (abaixo). Use a função de testes para confirmar se as configurações estão corretas.

Passbolt - Install - Servidor de Email: SMTP Config
Passbolt – Install – Servidor de Email: SMTP Config

Acessando o Passbolt

Concluída a instalação e configuração, o sistema poderá ser acessado através do endereço https://dominio-do-passbolt/, porém, para o acesso, é obrigatório instalar seu plugin (extensão) para o navegador utilizado (Chrome ou Firefox), conforme instruções da sua página inicial (abaixo).

Passbolt - Install - Plugin (extensão) necessário para acesso
Passbolt – Install – Plugin (extensão) necessário para acesso

Após a instalação do plugin siga com o acesso ao sistema.

Passbolt - Acesso
Passbolt – Acesso e criação do primeiro usuário

Ativação do MFA

Depois de realizado o acesso ao sistema, vá em configurações do usuário (menu superior direito) e clique em Perfil / Profile para chegar a página de configurações da conta. No menu esquerdo você terá acesso ao Multi Factor Authentication, como ilustrado na imagem abaixo:

Passbolt - User Profile / MFA
Passbolt – User Profile / MFA

Clique no TOPT Authenticator para gerar um QR Code. Usando seu celular, abra o aplicativo Google Authenticator e então clique em ler QR Code (a câmera será aberta). Aponte a câmera para o QR Code e, em seguida, insira o código gerado no seu celular no Passbolt.

Pronto, a partir de agora, sempre que você acessar o sistema, deverá entrar com um código aleatório (token) gerado no Google Authenticator, como ilustrado nas imagens abaixo:

Passbolt - User Profile / MFA Ativado
Passbolt – User Profile / MFA Ativado
Passbolt - User Login - MFA obrigatório
Passbolt – User Login – MFA obrigatório

Aplicativo para smartphone

Ainda no Profile do seu usuário, no Passbolt, vá à pagina Mobile Setup. Siga com as instruções da página para instalar o aplicativo do Passbolt em seu smartphone e, então, clique em Start para dar continuidade a configuração, que é bem semelhante ao MFA, onde um QR Code gerado pelo Passbolt deve ser lido pelo aplicativo do Passbolt no smartphone.

Passbolt - Mobile App Setup
Passbolt – Mobile App Setup

*Com referências de: Passbolt Docs – Install Debian, Passbolt Docs – Install Docker, Passbolt Docs – Update, Passbolt Docs – Pricing PRO, Passbolt Docs – Releases

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.