O gerenciamento seguro de credenciais é um dos pilares fundamentais da infraestrutura moderna. Para equipes de TI que buscam autonomia e controle total sobre seus dados, soluções self-hosted se tornaram o padrão ouro. Neste tutorial, abordaremos a instalação do Psono em um ambiente VPS Linux. O Psono (pronunciado "persono") é uma ferramenta open-source de gestão de segredos corporativa, focada em segurança e facilidade de uso para equipes de desenvolvimento e operações.
Diferente de soluções generalistas, o Psono foi desenhado pensando na integração com ambientes DevOps. Ele permite armazenar não apenas senhas de login, mas também chaves SSH, tokens de API e configurações de banco de dados. Ao optar por instalar psono vps, você garante que seus segredos críticos permaneçam sob sua jurisdição direta, sem dependência de terceiros ou risco de vazamentos em nuvens públicas compartilhadas.
Pré-requisitos e Preparação do Ambiente
Antes de iniciar o processo de instalação, é crucial preparar o servidor para garantir estabilidade e segurança. Recomendamos o uso de um sistema operacional Debian 11 ou Ubuntu 22.04 LTS, devido à ampla documentação da comunidade e facilidade na gestão de pacotes.
Você precisará de acesso root ou um usuário com privilégios sudo. Além disso, a instalação do Psono depende fortemente do PostgreSQL como banco de dados relacional e do servidor web Nginx para servir a interface web e atuar como proxy reverso. Certifique-se de que sua VPS tenha pelo menos 2 vCPUs e 4GB de RAM para um desempenho ideal em ambientes corporativos.
Inicie atualizando o índice de pacotes do seu sistema operacional:
apt update && apt upgrade -y
Em seguida, instale as dependências básicas necessárias para a comunicação segura e gerenciamento de serviços:
apt install curl wget gnupg2 software-properties-common -y
Instalação do PostgreSQL
O Psono utiliza o PostgreSQL para armazenar metadados, configurações e relacionamentos entre usuários e grupos. Embora existam opções para SQLite em testes locais, para qualquer ambiente de produção, o PostgreSQL é obrigatório.
Instale o servidor PostgreSQL:
apt install postgresql postgresql-contrib -y
Inicie e habilite o serviço para garantir que ele rode ao iniciar o sistema:
systemctl enable --now postgresql
Agora, crie um banco de dados dedicado e um usuário com senha forte. Substitua senha_forte_aqui por uma string complexa gerada por seu gerenciador de senhas:
sudo -u postgres psql
Dentro do prompt SQL, execute os seguintes comandos:
CREATE DATABASE psono;
CREATE USER psono_user WITH PASSWORD 'senha_forte_aqui';
ALTER ROLE psono_user SET client_encoding TO 'utf8';
ALTER ROLE psono_user SET default_transaction_isolation TO 'read committed';
ALTER ROLE psono_user SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE psono TO psono_user;
Saia do prompt SQL digitando \q.
Instalação do Psono Server
O núcleo do sistema é o Psono Server, uma aplicação Python que gerencia a lógica de negócios, autenticação e criptografia. A instalação oficial recomenda o uso do repositório Debian para manter as atualizações seguras e versionadas.
Adicione o repositório oficial e a chave GPG:
echo "deb http://ppa.launchpad.net/psono/ppa/ubuntu focal main" | tee /etc/apt/sources.list.d/psono.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1234567890ABCDEF
Nota: Verifique sempre a chave GPG mais recente na documentação oficial do Psono, pois ela pode variar com o tempo.
Atualize os pacotes e instale o servidor:
apt update
apt install psono-server -y
Após a instalação, você deve configurar o arquivo de configuração principal do Django. O arquivo geralmente reside em /etc/psono/settings.py. Abra este arquivo com seu editor de texto preferido (como nano ou vim):
nano /etc/psono/settings.py
Você precisa ajustar as seguintes variáveis críticas:
- DATABASES: Insira os dados do banco criado anteriormente (host: localhost, user: psono_user, password: senha_forte_aqui).
- SECRET_KEY: Gere uma chave aleatória segura para criptografia de sessões. Você pode usar o comando
python3 -c "import secrets; print(secrets.token_urlsafe(50))". - ALLOWED_HOSTS: Adicione o domínio completo da sua VPS, por exemplo,
'psono.suaempresa.com'.
Salve as alterações. Em seguida, inicialize o banco de dados aplicando as migrações:
psono manage migrate
Crie um superusuário para administração inicial:
psono manage createsuperuser
Siga as instruções no terminal para definir usuário e senha. Este será seu acesso root no sistema.
Configuração do Nginx como Proxy Reverso
O Psono Server roda internamente em uma porta específica (geralmente 8000 ou 5000). Para expô-lo via HTTP/HTTPS de forma segura e eficiente, utilizaremos o Nginx.
Instale o Nginx:
apt install nginx -y
Crie um arquivo de configuração de servidor no diretório sites-available:
nano /etc/nginx/sites-available/psono
Cole a seguinte configuração, ajustando o domínio e os caminhos conforme necessário:
server {
listen 80;
server_name psono.suaempresa.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Ajustes para WebSockets se necessário
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Crie um link simbólico para ativar o site e teste a configuração:
ln -s /etc/nginx/sites-available/psono /etc/nginx/sites-enabled/
nginx -t
Se o teste for bem-sucedido, reinicie o Nginx:
systemctl restart nginx
Habilitação de HTTPS com Let's Encrypt
A gestão de segredos exige criptografia forte. Não opere o Psono sem HTTPS. Utilizaremos o Certbot para obter certificados gratuitos do Let's Encrypt.
apt install certbot python3-certbot-nginx -y
certbot --nginx -d psono.suaempresa.com
O assistente interativo configurará automaticamente o redirecionamento HTTP para HTTPS e recarregará o Nginx. Verifique se o certificado foi emitido com sucesso.
Integração com Vaultwarden e Alternativas
Muitos profissionais de TI buscam alternativas como Vaultwarden (implementação Rust do Bitwarden) ou Passbolt. Enquanto o Vaultwarden é excelente para gestão pessoal de senhas baseada em WebAuthn, o Psono destaca-se por ser mais robusto em contextos corporativos B2B, oferecendo recursos como compartilhamento granular por projetos e integração nativa com LDAP/Active Directory.
Outras soluções mencionadas no mercado, como Keycloak (focado em Identity Provider) ou Authentik (Identity as a Service), resolvem problemas de autenticação centralizada (SSO e MFA), mas não substituem diretamente um vault de segredos. O Psono pode, contudo, ser integrado a esses sistemas via SAML ou OIDC para fortalecer a camada de acesso.
Segurança Adicional: Autenticação Multifator
Para instalar e configurar corretamente o nível máximo de segurança, habilitamos o 2FA (Two-Factor Authentication). No painel administrativo do Psono, navegue até Configurações > Segurança. Ative a opção TOTP.
Isso exigirá que cada usuário escaneie um QR Code usando aplicativos como Google Authenticator ou Authy. Esta etapa é crítica para compliance em ambientes que exigem authelia 2fa servidor ou políticas similares de acesso restrito.
Backup e Manutenção
A integridade dos dados é primordial. Implemente um script de backup diário. O Psono exporta facilmente seus dados em JSON.
Crie um script simples:
#!/bin/bash
BACKUP_DIR="/backup/psono"
DATE=$(date +%F)
mkdir -p $BACKUP_DIR
psono manage dumpdata > $BACKUP_DIR/backup_$DATE.json
Agende este script via cron e certifique-se de que os backups sejam armazenados em um local separado (ex: S3 ou outro servidor). Lembre-se de fazer backup também do banco de dados PostgreSQL:
pg_dump -U psono_user -d psono > /backup/db_$DATE.sql
Conclusão e Próximos Passos
Ao concluir estas etapas, você possui um sistema robusto de gestão de segredos rodando em sua própria infraestrutura. O Psono oferece uma experiência moderna, com aplicativo móvel nativo para iOS e Android, facilitando o acesso rápido às credenciais pelos desenvolvedores.
Para equipes que já utilizam soluções como teampass servidor senhas, a migração para Psono pode ser feita através da importação de arquivos CSV ou JSON, preservando seu histórico de credenciais. A configuração inicial exige atenção aos detalhes, especialmente na segurança do banco de dados e na proteção das chaves de API.
Com o Psono instalado, sua equipe estará protegida contra vazamentos externos e terá controle total sobre quem acessa quais segredos, alinhando-se às melhores práticas de DevSecOps. Mantenha o sistema atualizado regularmente através do apt upgrade para garantir a correção de vulnerabilidades.