- UFW configurado en 4/4 servidores con whitelist TZZR
- SSH hardening (PermitRootLogin prohibit-password, PasswordAuthentication no)
- SWAP 2GB en todos los servidores
- Backups automatizados documentados en ARCHITECT
- IPs bloqueadas documentadas en CORP
🤖 Generated with Claude Code
180 lines
3.8 KiB
Markdown
180 lines
3.8 KiB
Markdown
# Servidor CORP (92.112.181.188)
|
|
|
|
## Overview
|
|
|
|
CORP es el servidor empresarial que aloja sistemas de gestión empresarial y contenidos. Incluye Odoo para ERP y Directus para gestión de contenidos.
|
|
|
|
**IP**: 92.112.181.188
|
|
**Usuario**: root
|
|
**Acceso SSH**: ssh root@92.112.181.188 -i ~/.ssh/tzzr
|
|
|
|
## Servicios Principales
|
|
|
|
### 1. Odoo (Puerto 8069)
|
|
- **Función**: Sistema ERP empresarial
|
|
- **URL Local**: http://localhost:8069
|
|
- **Ubicación**: /opt/odoo/
|
|
- **Tecnología**: Python/Odoo Framework
|
|
|
|
**Módulos Disponibles**:
|
|
- Contabilidad y finanzas
|
|
- Ventas y CRM
|
|
- Inventario
|
|
- Recursos humanos
|
|
- Proyectos
|
|
- Nómina
|
|
|
|
**Base de datos**: PostgreSQL
|
|
- Host: 69.62.126.110 (ARCHITECT)
|
|
- Database: odoo_db
|
|
|
|
**Configuración**: /etc/odoo/odoo.conf
|
|
|
|
### 2. Directus (Puerto 8055)
|
|
- **Función**: CMS y gestor de contenidos
|
|
- **URL Local**: http://localhost:8055
|
|
- **Ubicación**: /opt/directus/
|
|
- **Tecnología**: Node.js/Vue.js
|
|
|
|
**Funcionalidades**:
|
|
- Gestión de contenidos
|
|
- API REST automática
|
|
- Control de acceso granular
|
|
- Versionamiento de contenidos
|
|
- Flujos de trabajo
|
|
|
|
**Base de datos**: PostgreSQL
|
|
- Host: 69.62.126.110 (ARCHITECT)
|
|
- Database: directus_db
|
|
|
|
## Directorios Importantes
|
|
|
|
```
|
|
/opt/
|
|
├── odoo/ # Instalación de Odoo
|
|
│ ├── addons/ # Módulos customizados
|
|
│ └── config/ # Configuración
|
|
├── directus/ # Instalación de Directus
|
|
│ ├── uploads/ # Archivos subidos
|
|
│ └── config/ # Configuración
|
|
└── nginx/ # Servidor web (reverse proxy)
|
|
|
|
/home/
|
|
└── backups/ # Backups locales
|
|
```
|
|
|
|
## Monitoreo y Administración
|
|
|
|
### Odoo
|
|
```bash
|
|
# Estado del servicio
|
|
systemctl status odoo
|
|
|
|
# Logs
|
|
tail -f /var/log/odoo/odoo.log
|
|
|
|
# Acceso a la interfaz
|
|
# Admin: http://localhost:8069
|
|
```
|
|
|
|
### Directus
|
|
```bash
|
|
# Estado del servicio
|
|
systemctl status directus
|
|
|
|
# Logs
|
|
tail -f /var/log/directus/directus.log
|
|
|
|
# API Directus
|
|
# http://localhost:8055/admin
|
|
```
|
|
|
|
## Backup de Datos
|
|
|
|
### Odoo
|
|
```bash
|
|
# Backup de la base de datos
|
|
pg_dump -h 69.62.126.110 -U architect odoo_db > /home/backups/odoo_db_$(date +%Y%m%d).sql
|
|
|
|
# Backup de archivos
|
|
tar -czf /home/backups/odoo_$(date +%Y%m%d).tar.gz /opt/odoo/
|
|
|
|
# Subir a R2
|
|
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
|
|
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
|
|
```
|
|
|
|
### Directus
|
|
```bash
|
|
# Backup de la base de datos
|
|
pg_dump -h 69.62.126.110 -U architect directus_db > /home/backups/directus_db_$(date +%Y%m%d).sql
|
|
|
|
# Backup de uploads
|
|
tar -czf /home/backups/directus_uploads_$(date +%Y%m%d).tar.gz /opt/directus/uploads/
|
|
|
|
# Subir a R2
|
|
aws s3 cp /home/backups/ s3://architect/backups/ --recursive \
|
|
--endpoint-url https://7dedae6030f5554d99d37e98a5232996.r2.cloudflarestorage.com
|
|
```
|
|
|
|
## Nginx (Reverse Proxy)
|
|
|
|
```bash
|
|
# Configuración
|
|
cat /etc/nginx/sites-enabled/odoo
|
|
cat /etc/nginx/sites-enabled/directus
|
|
|
|
# Recargar configuración
|
|
systemctl reload nginx
|
|
|
|
# Verificar sintaxis
|
|
nginx -t
|
|
```
|
|
|
|
## Conexión a Base de Datos Central
|
|
|
|
Ambos servicios se conectan a la PostgreSQL centralizada:
|
|
- **Host**: 69.62.126.110
|
|
- **Puerto**: 5432
|
|
- **Usuario**: architect
|
|
|
|
## Seguridad
|
|
|
|
### Firewall (UFW)
|
|
```
|
|
Status: active
|
|
Default: deny incoming, allow outgoing
|
|
|
|
Reglas:
|
|
- ALLOW from 69.62.126.110 (ARCHITECT)
|
|
- ALLOW from 72.62.1.113 (DECK)
|
|
- ALLOW from 72.62.2.84 (HST)
|
|
- ALLOW 22/tcp (SSH)
|
|
- ALLOW 80/tcp (HTTP)
|
|
- ALLOW 443/tcp (HTTPS)
|
|
- ALLOW 5432 on docker0 (PostgreSQL interno)
|
|
|
|
IPs Bloqueadas:
|
|
- 185.242.226.71
|
|
- 165.154.119.158
|
|
- 198.235.24.103
|
|
- 198.235.24.199
|
|
```
|
|
|
|
### SSH Hardening
|
|
```
|
|
PermitRootLogin prohibit-password
|
|
PasswordAuthentication no
|
|
```
|
|
Backup config: `/etc/ssh/sshd_config.bak`
|
|
|
|
### SWAP
|
|
```
|
|
/swapfile 2GB (persistente en /etc/fstab)
|
|
```
|
|
|
|
## Últimas Actualizaciones
|
|
|
|
- 2025-12-30: UFW configurado, SSH hardening, SWAP 2GB
|
|
- 2025-12-30: Documentación inicial
|