- Add comprehensive security package with: - API Key generation and validation (SHA256 hash) - Password policy enforcement (min 12 chars, complexity) - Rate limiting with presets (auth, api, ingest, export) - Brute force protection (5 attempts, 15min lockout) - Security headers middleware - IP whitelisting - Audit logging structure - Secure token generation - Enhanced auth middleware: - JWT + API Key dual authentication - Token revocation via Redis - Scope-based authorization - Role-based access control - Updated installer with: - Interactive setup for client customization - Auto-generated secure credentials - Docker all-in-one image - Agent installer script - Added documentation: - SECURITY.md - Complete security guide - INSTALL.md - Installation guide - .env.example - Configuration reference
4.0 KiB
4.0 KiB
🐍 OPHION - Guia de Instalação
Instalação Rápida (1 comando)
curl -fsSL https://get.ophion.io | bash
O instalador vai:
- ✅ Verificar requisitos (Docker, Docker Compose)
- 📋 Coletar informações da sua empresa
- 🔐 Gerar credenciais seguras
- 📦 Configurar todos os serviços
- 🚀 Iniciar a plataforma
Instalação Manual (Passo a Passo)
1. Requisitos
# Ubuntu/Debian
sudo apt update
sudo apt install -y curl git
# Instalar Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Logout e login para aplicar grupo docker
2. Baixar Ophion
git clone https://github.com/bigtux/ophion.git
cd ophion
3. Configurar
Copie e edite o arquivo de configuração:
cp .env.example .env
nano .env
Configurações importantes:
# Sua empresa
ORG_NAME="Minha Empresa"
ADMIN_EMAIL=admin@empresa.com
ADMIN_PASSWORD=senha-segura-aqui
# Domínio (ou localhost para testes)
DOMAIN=ophion.empresa.com
# Portas
SERVER_PORT=8080
DASHBOARD_PORT=3000
# Segurança (gere valores únicos!)
JWT_SECRET=seu-jwt-secret-aqui
4. Iniciar
docker compose up -d
5. Acessar
- Dashboard: http://localhost:3000
- API: http://localhost:8080
Instalação do Agent (Servidores Monitorados)
Em cada servidor que você quer monitorar:
curl -fsSL http://SEU-SERVIDOR-OPHION:8080/install-agent.sh | sudo bash
Ou manualmente:
# Baixar
curl -o /usr/local/bin/ophion-agent \
http://SEU-SERVIDOR-OPHION:8080/downloads/agent/linux/amd64/ophion-agent
chmod +x /usr/local/bin/ophion-agent
# Configurar
mkdir -p /etc/ophion
cat > /etc/ophion/agent.yaml << EOF
server:
url: http://SEU-SERVIDOR-OPHION:8080
api_key: SUA-API-KEY
collection:
interval: 30s
metrics:
enabled: true
logs:
enabled: true
paths:
- /var/log/syslog
EOF
# Criar serviço
cat > /etc/systemd/system/ophion-agent.service << EOF
[Unit]
Description=OPHION Agent
After=network.target
[Service]
ExecStart=/usr/local/bin/ophion-agent -config /etc/ophion/agent.yaml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# Iniciar
systemctl daemon-reload
systemctl enable --now ophion-agent
Comandos Úteis
# Status
ophion status
# Logs
ophion logs # Logs do server
ophion logs ophion-web # Logs do dashboard
# Gerenciamento
ophion start
ophion stop
ophion restart
ophion update
# Backup
ophion backup
# Gerar nova API Key
ophion api-key
Estrutura de Diretórios
/opt/ophion/
├── docker-compose.yml # Configuração dos containers
├── .env # Variáveis de ambiente (SECRETO!)
├── data/
│ ├── postgres/ # Dados do PostgreSQL
│ ├── clickhouse/ # Métricas e logs
│ └── redis/ # Cache
├── configs/ # Configurações customizadas
├── logs/ # Logs da aplicação
├── scripts/
│ └── install-agent.sh # Instalador do agent
└── backups/ # Backups automáticos
Portas
| Serviço | Porta | Descrição |
|---|---|---|
| Dashboard | 3000 | Interface web |
| API | 8080 | REST API |
| PostgreSQL | 5432 | Banco de dados (interno) |
| ClickHouse | 9000 | Métricas/Logs (interno) |
| Redis | 6379 | Cache (interno) |
Troubleshooting
Containers não iniciam
# Ver logs
docker compose logs
# Verificar recursos
docker system df
df -h
Agent não conecta
# Testar conectividade
curl http://SEU-SERVIDOR:8080/health
# Ver logs do agent
journalctl -u ophion-agent -f
Resetar senha admin
docker compose exec postgres psql -U ophion -c \
"UPDATE users SET password_hash = crypt('nova-senha', gen_salt('bf')) WHERE email = 'admin@email.com';"
Suporte
- 📖 Docs: https://docs.ophion.io
- 💬 Discord: https://discord.gg/ophion
- 🐛 Issues: https://github.com/bigtux/ophion/issues
- 📧 Email: support@ophion.io