Passbolt é uma solução de código aberto para gestão colaborativa de senhas, projetada especificamente para equipes que necessitam compartilhar credenciais de forma segura em ambientes corporativos. Diferente de gerenciadores de senhas voltados ao consumidor final, o Passbolt foca na interoperabilidade com ferramentas de DevOps e na segurança através da criptografia assimétrica (PGP/GPG). Neste passbolt tutorial, vamos detalhar como instalar passbolt linux em um servidor dedicado ou VPS, garantindo a auto-hospedagem total dos seus dados.
Pré-requisitos e Arquitetura do Sistema
Antes de iniciarmos o processo de instalação, é fundamental entender a arquitetura necessária. O Passbolt depende de um servidor web (Nginx ou Apache), um banco de dados (PostgreSQL) e o PHP para processar as requisições. Para este guia, utilizaremos uma distribuição baseada em Debian/Ubuntu, que é padrão na indústria para muitos ambientes Linux.
Você precisará dos seguintes pré-requisitos:
- Um servidor Linux (Debian 11 ou Ubuntu 20.04/22.04 LTS).
- Privilégios de root ou usuário com acesso sudo.
- Um domínio apontando para o IP do seu servidor (ex:
passbolt.seudominio.com), pois o Passbolt exige HTTPS para operar corretamente. - Pelo menos 1GB de RAM disponível para garantir performance estável do banco de dados e do PHP.
O foco principal aqui é a segurança de dados. Ao optar pela auto-hospedagem, você assume a responsabilidade pela infraestrutura, mas ganha controle total sobre onde as chaves privadas e públicas dos seus colaboradores são armazenadas. Isso elimina riscos de terceiros terem acesso ao seu repositório de segredos.
Passo 1: Preparação do Ambiente Linux
O primeiro passo consiste em atualizar o sistema operacional e instalar as dependências básicas necessárias para a comunicação segura e a instalação dos pacotes. Vamos começar atualizando o índice de pacotes e instalando utilitários comuns.
sudo apt update
sudo apt upgrade -y
sudo apt install wget gnupg2 curl apt-transport-https lsb-release -y
A instalação do gnupg2 é crítica, pois o Passbolt utiliza OpenPGP para a criptografia ponta-a-ponta. Sem esta ferramenta, a geração de chaves e a verificação de integridade dos pacotes não funcionarão.
Passo 2: Adicionando o Repositório Oficial do Passbolt
Para garantir que você receba atualizações de segurança regulares e versões estáveis, é recomendável utilizar o repositório oficial do projeto em vez de tentar compilar a partir do código-fonte ou usar pacotes não oficiais. O processo envolve adicionar a chave GPG do repositório e configurar a fonte de software.
Comece adicionando a chave pública do repositório:
curl -fsSL https://download.passbolt.com/keyring.asc | sudo apt-key add -
Agora, adicione o repositório à sua lista de fontes. Para Ubuntu 20.04 (Focal), utilize o comando abaixo:
echo "deb [arch=amd64] https://download.passbolt.com/packages/debian stable main" | sudo tee /etc/apt/sources.list.d/passbolt.list
Para Ubuntu 22.04 (Jammy), o comando é similar, mas verifique a compatibilidade da versão do PHP no repositório oficial, pois versões mais novas podem exigir configurações específicas. Após adicionar o repositório, atualize novamente o apt para reconhecer os novos pacotes:
sudo apt update
Passo 3: Instalando o Servidor Passbolt
Com o repositório configurado, a instalação em si é direta. O pacote passbolt-server contém todas as dependências necessárias, incluindo o Nginx e o PHP, facilitando a configuração inicial.
sudo apt install passbolt-server -y
Após a instalação, o sistema terá configurado automaticamente os serviços básicos. No entanto, ainda não está pronto para uso. Precisamos configurar o banco de dados e as permissões de segurança. O instalador do Passbolt geralmente solicita que você execute um script de configuração inicial ou rode comandos específicos para finalizar o setup.
Verifique se os serviços estão ativos:
sudo systemctl status nginx
sudo systemctl status postgresql
Passo 4: Configuração do Banco de Dados PostgreSQL
O Passbolt utiliza o PostgreSQL para armazenar as informações estruturadas das senhas, usuários e permissões. Durante a instalação via apt, o banco de dados é criado, mas precisamos garantir que a autenticação esteja correta.
Acesse o shell do PostgreSQL:
sudo -u postgres psql
Dentro do prompt do SQL, verifique se o banco de dados passbolt existe. Se não existir, crie-o. No entanto, na maioria das instalações modernas via pacote .deb, isso já é feito. Saia do prompt com \q.
Agora, precisamos configurar o arquivo pg_hba.conf para permitir que o usuário do Passbolt se conecte ao banco de dados localmente sem senha (usando peer authentication) ou com senha, dependendo da sua configuração. Para instalações padrão em localhost, a autenticação "peer" é segura e recomendada.
sudo nano /etc/postgresql/*/main/pg_hba.conf
Certifique-se de que haja uma linha como esta para o usuário local:
local all passbolt peer
Reinicie o PostgreSQL para aplicar as mudanças:
sudo systemctl restart postgresql
Passo 5: Gerenciamento de Chaves GPG/PGP
Este é o passo mais crítico para a segurança de dados. O Passbolt precisa de uma chave mestra no servidor para assinar as mensagens e verificar as assinaturas. Sem essa chave, o sistema não inicia.
Você pode gerar uma nova chave ou usar uma existente. Para instalações limpas, geramos uma nova chave:
sudo -u www-data gpg --homedir /etc/passbolt/gpg --batch --gen-key
O sistema solicitará que você defina um nome e email para a chave (use o email do administrador ou um email genérico da equipe). Após gerar a chave, é essencial exportá-la e salvá-la em um local seguro fora do servidor. Se o servidor for comprometido ou falhar, você precisará desta chave para recuperar o acesso às senhas.
sudo -u www-data gpg --homedir /etc/passbolt/gpg --export-secret-keys > passbolt-master-key.asc
Mova este arquivo para um repositório seguro, como um gerenciador de backups criptografado ou um pen drive físico em cofre.
Passo 6: Configuração do Arquivo de Configuração (app.php)
O Passbolt lê sua configuração principal do arquivo /etc/passbolt/passbolt.php. Você deve editar este arquivo para definir a URL do seu domínio, as configurações de email e, principalmente, o caminho para as chaves GPG.
sudo nano /etc/passbolt/passbolt.php
Altere os seguintes campos:
'App.fullBaseUrl': Defina comohttps://passbolt.seudominio.com.'Passbolt.gpg.serverKey.id': Copie o ID da chave gerada no passo anterior (obtido viagpg --list-keys).
Além disso, configure as definições de email se você deseja que o Passbolt envie notificações. Se não configurar, os usuários ainda poderão receber emails se o servidor SMTP estiver configurado no sistema operacional.
Passo 7: Permissões e Inicialização do Banco de Dados
O Passbolt requer permissões específicas nas pastas de configuração e cache. Execute os comandos abaixo para garantir que o usuário www-data (ou o usuário do PHP) tenha acesso total:
sudo chown -R www-data:www-data /etc/passbolt
sudo chmod -R 750 /etc/passbolt
Agora, inicialize o banco de dados executando a ferramenta de migração do CakePHP (framework usado pelo Passbolt):
sudo -u www-data php /usr/share/php/passbolt/bin/cake.php migrations migrate
Se a operação for bem-sucedida, você verá uma mensagem confirmando que as tabelas foram criadas. Se houver erros, verifique as credenciais do banco de dados no arquivo passbolt.php.
Passo 8: Configuração do Nginx e Certificado SSL
O Passbolt vem com um arquivo de configuração padrão para o Nginx em /etc/nginx/sites-available/passbolt. Ative-o e remova a configuração padrão, se existir:
sudo ln -s /etc/nginx/sites-available/passbolt /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Teste a configuração do Nginx para evitar erros de sintaxe:
sudo nginx -t
Para habilitar o HTTPS, essencial para qualquer solução de gestão de senhas, utilize o Certbot para obter um certificado Let's Encrypt gratuito:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d passbolt.seudominio.com
O Certbot irá redirecionar automaticamente o tráfego HTTP para HTTPS e configurar a renovação automática do certificado. Reinicie o Nginx:
sudo systemctl restart nginx
Passo 9: Acesso Web e Criação da Conta Admin
Agora, abra seu navegador e acesse https://passbolt.seudominio.com. Você verá a tela de boas-vindas do Passbolt.
- Clique em "Create an account".
- Preencha seus dados (nome, email, senha forte).
- O sistema solicitará que você crie uma nova chave GPG para sua conta de usuário. Siga o assistente interativo no navegador.
- Faça o download do arquivo de chave privada gerado e armazene-o com segurança. Ele será necessário para desbloquear a extensão do navegador ou o aplicativo mobile.
Após completar o registro, você estará logado como administrador. A partir daqui, pode convidar membros da equipe através do menu "Users" > "Invite".
Considerações Finais sobre Manutenção e Escalabilidade
A instalação descrita acima configura uma instância standalone. Para ambientes de alta disponibilidade, recomenda-se separar o banco de dados em um servidor dedicado e usar balanceadores de carga. Além disso, monitore o uso de disco, pois o histórico de atividades e os logs podem crescer rapidamente.
Lembre-se sempre de realizar backups regulares não apenas do banco de dados (pg_dump), mas também do diretório /etc/passbolt/gpg. A perda da chave mestra GPG torna todos os dados criptografados no Passbolt irrecuperáveis, pois a criptografia assimétrica garante que sem a chave privada correspondente, os dados são apenas ruído matemático.
Com este passbolt tutorial, você estabeleceu uma infraestrutura robusta de senhas colaborativas, alinhada às melhores práticas de segurança da informação e conformidade com normas como LGPD e GDPR, garantindo que seus segredos digitais permaneçam sob seu controle exclusivo.