feat: Grid Expansion (Batch 4), Security Hardening, and ADN Optimization

This commit is contained in:
Ricardo Monla
2026-02-16 23:27:22 -03:00
parent 0d05dac8f7
commit 07a5bbb6c9
17 changed files with 438 additions and 40 deletions
+51 -32
View File
@@ -1,44 +1,63 @@
# 00 - Bitácora del Proyecto: Optimización srv-NS8
Este documento registra la evolución, cambios y eventos significativos en el servidor `srv-NS8`.
Este documento registra la evolución, cambios y eventos significativos en el servidor `srv-NS8` y nodos asociados.
> **Estados:** ✅ Completado | ⏳ En Proceso | 🧪 Verificado | ⚠️ Alerta | 📍 Definido
> **Referencias:** ✅ Completado | ⏳ En Proceso | 🧪 Verificado | ⚠️ Alerta | 📍 Definido
## 2026-02-16
| Hora | E | Acción | Detalle |
| :--- | :--- | :--- | :--- |
| 14:10 | ✅ | Optimización Dashboard | **Exitoso**. Reorganización de `homepage` en 3 columnas (Infra, Gestión, Apps) mediante ajuste de `settings.yaml`. Corrección de widgets Portainer (Auth) y Uptime Kuma (URL). |
| 13:00 | ✅ | Implementación Homepage | **Exitoso**. Despliegue de `gethomepage` en `servicios/homepage`. Integración con Proxmox API, Portainer y logs. Sustitución de página default Nginx por Dashboard dinámico. |
| Hora | Nodo | Detalle |
| :--- | :--- | :--- |
| 23:15 | Grid | 🔒 **Seguridad**: Hardening Completo. `PermitRootLogin no` en `srvv-SITIO` y `srvv-SITIO2`. |
| 23:05 | Grid | 🔒 **Seguridad**: Hardening aplicado. `PermitRootLogin no` en Proxmox Nodes. Clave SSH local protegida con Passphrase. |
| 22:45 | srvv-UPTIME | 🔧 **Mantenimiento**: Limpieza de Logs y Reducción de Historial. Uso de disco bajó de 86% a 77% (+350MB libres). |
| 22:35 | srvv-SITIO2 | ✅ **Expansión de Grid**: **Conexión Exitosa**. LXC Debian 12 (`10.0.10.19`). Acceso configurado vía `root`. Documentado en `adn/nodos/srvv-SITIO2.md`. |
| 22:30 | srvv-DATA | ✅ **Expansión de Grid**: **Conexión Exitosa**. LXC Debian 12 (`10.0.10.13`). Documentado en `adn/nodos/srvv-DATA.md`. |
| 22:30 | srvv-UPTIME | ⚠️ **Alerta**: **Disco 86% Lleno**. LXC Debian 12 (`10.0.10.9`). Documentado en `adn/nodos/srvv-UPTIME.md`. |
| 22:25 | srvv-KOHA | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian 11. Documentado en `adn/nodos/srvv-KOHA.md`. |
| 22:15 | srvv-DOCs | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian (`10.0.10.14`). Docker Host. Documentado en `adn/nodos/srvv-DOCs.md`. |
| 22:15 | srvv-DTIC | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian (`10.0.10.4`). Docker Host. Documentado en `adn/nodos/srvv-DTIC.md`. |
| 22:05 | srvv-SITIO0 | ✅ **Expansión de Grid**: **Conexión Exitosa** (Script `alta_nodo.sh`). VM Debian 12 (`10.0.10.119`). Docker detectado (requiere permisos de grupo para `rmonla`). Documentado en `adn/nodos/srvv-SITIO0.md`. |
| 21:55 | srvv-SITIO | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Ubuntu (`10.0.10.18`). Detectada IP Pública directa. Docker instalado pero sin contenedores activos. Documentado en `adn/nodos/srvv-SITIO.md`. |
| 21:50 | srv-pmox3 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Nodo de Alta Capacidad (64GB RAM). Aloja `srvv-FENIX` (32GB) y varios LXC. Documentado en `adn/nodos/srv-pmox3.md`. |
| 21:45 | srv-pmox2 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Servidor i5-6500 (16GB RAM). Aloja servicios `KOHA` y `DASU`. Documentado en `adn/nodos/srv-pmox2.md`. |
| 21:30 | srv-pmox1 | ✅ **Reversión SSL**: Se elimina certificado expirado y se reactiva `pve-ssl.pem` (Self-Signed). Acceso port 8006 recuperado (con advertencia de navegador). |
| 21:25 | srv-NS8 | ✅ **Actualización Protocolo**: Se define en `adn/02_protocolo.md` la estrategia de **Bitácora Centralizada** + **Documentación de Nodo** actualizada. |
| 21:10 | srv-pmox1 | ⚠️ **Diagnóstico SSL**: Se confirma que el nodo usa un certificado custom `/etc/pve/local/pveproxy-ssl.pem` (Let's Encrypt) que expiró el 21/12/2025. El certificado default (`pve-ssl.pem`) es válido hasta 2027 pero está ignorado. |
| 15:40 | srv-pmox1 | ⚠️ **Alerta de Recursos**: Se detecta **Sobreasignación de RAM**. VMs asignadas suman ~24GB sobre 16GB físicos. Riesgo de degradación por swapping/ballooning. |
| 15:35 | srv-pmox1 | ✅ **Documentación de Nodo**: Se crea `adn/nodos/srv-pmox1.md` detallando Specs (i5-6500, 16GB RAM) y Cargas de Trabajo (5 VMs activas). Se integra en `adn/01_ontologia.md`. |
| 15:30 | srv-pmox1 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Se establece acceso SSH sin clave (`id_rsa`) al nodo `10.0.10.201`. Se recaba información de hardware y servicios. |
| 14:10 | srv-NS8 | ✅ **Optimización Dashboard**: **Exitoso**. Reorganización de `homepage` en 3 columnas (Infra, Gestión, Apps) mediante ajuste de `settings.yaml`. Corrección de widgets Portainer (Auth) y Uptime Kuma (URL). |
| 13:00 | srv-NS8 | ✅ **Implementación Homepage**: **Exitoso**. Despliegue de `gethomepage` en `servicios/homepage`. Integración con Proxmox API, Portainer y logs. Sustitución de página default Nginx por Dashboard dinámico. |
## 2026-02-15
| Hora | E | Acción | Detalle |
| :--- | :--- | :--- | :--- |
| 21:55 | ✅ | Consolidación ADN | Se actualiza `01_ontologia.md` con la nueva arquitectura de acceso remoto (Tailscale + RustDesk) y manual de conexión. |
| 21:35 | ✅ | Implementación Acceso Remoto | **Exitoso**. Se instala Tailscale (IP `100.88.252.26`) y se verifica RustDesk nativo. Se establece solución de doble capa (Red VPN + GUI). |
| 20:50 | ✅ | Sincronización Inicial Repo | **Exitoso**. Se crea `.gitignore` para excluir datos volátiles y se realiza el primer commit masivo de ADN, Scripts y Servicios. |
| Hora | Nodo | Detalle |
| :--- | :--- | :--- |
| 21:55 | srv-NS8 | ✅ **Consolidación ADN**: Se actualiza `01_ontologia.md` con la nueva arquitectura de acceso remoto (Tailscale + RustDesk) y manual de conexión. |
| 21:35 | srv-NS8 | ✅ **Implementación Acceso Remoto**: **Exitoso**. Se instala Tailscale (IP `100.88.252.26`) y se verifica RustDesk nativo. Se establece solución de doble capa (Red VPN + GUI). |
| 20:50 | srv-NS8 | ✅ **Sincronización Inicial Repo**: **Exitoso**. Se crea `.gitignore` para excluir datos volátiles y se realiza el primer commit masivo de ADN, Scripts y Servicios. |
## 2026-02-11
| Hora | E | Acción | Detalle |
| :--- | :--- | :--- | :--- |
| 23:25 | ✅ | Configuración SSL y Reverse Proxy | **Exitoso**. Certificado Let's Encrypt instalado para `ns8.frlr.utn.edu.ar`. Nginx configurado como Reverse Proxy para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (Puerto 443), eliminando la necesidad de exponer puertos inseguros. |
| 23:15 | ✅ | Configuración Red Híbrida | **Exitoso**. Se ejecuta `configurar_red_hibrida.sh`. El servidor mantiene gateway `10.x` para salida, pero responde correctamente a la IP pública `190.x` mediante Policy Routing. Mecanismo de rollback verificado. |
| 23:10 | ✅ | Protocolo de Seguridad | Se incorpora la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md`, haciendo obligatorio el uso de mecanismos de reversión automática para cambios de red. |
| 23:00 | ✅ | Instalación Nginx Nativo | **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80) funcionando como Proxy Reverso para Portainer, Bitácoras y SysACAD. |
| 22:55 | ✅ | Resolución Conflicto Puerto | Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. |
| 22:50 | ✅ | Saneamiento y Simplificación | Se eliminan scripts de migración de IP complejos por riesgo innecesario. Se consolida `scripts/instalar_nginx_simple.sh` para instalación nativa sin alterar la red. |
| 22:45 | ✅ | Cambio de Estrategia: Nginx Nativo | Se decide eliminar el contenedor `proxy` (Docker) y reemplazarlo por **Nginx Nativo** en el host (`10.0.10.8`), manteniendo la configuración de red actual del servidor. |
| 22:15 | ✅ | Documentación de Red | Se detalla la **Topología de Red** en `adn/01_ontologia.md`. Se aclara el uso de `macvlan` para la IP pública `190.114.205.18` y la IP privada `10.0.10.8` para el host. |
| 22:10 | ✅ | Mantenimiento | Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). Se descargan imágenes y se recrea el contenedor. |
| 22:05 | ✅ | Documentación de Accesos | Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md` para facilitar la navegación a los servicios. |
| 22:00 | ✅ | Reactivación de Servicios | Se levantan exitosamente `portainer`, `proxy` (tras corregir conflicto de red), `bitacoras` y `sysacad`. Todos los contenedores operativos y limitados en recursos. |
| 21:50 | 🧪 | Validación de Servicios | Se ejecutan pruebas de configuración (`docker compose config`) exitosas para todos los servicios migrados. Límites de memoria confirmados correctos. |
| 21:40 | ✅ | Optimización de Recursos | Se completa la migración de archivos (incluidos `.env` y ocultos). Se aplican límites de memoria RAM a los servicios Docker para proteger la VM. |
| 21:35 | ✅ | Centralización de Servicios | Se mueven las configuraciones de `portainer`, `bitacoras`, `sysacad` y `proxy` a `dtic-srv-NS8/servicios/`. Se ajusta contexto de build del proxy. Se crean referencias `LEEME_MIGRACION.md` en origen. |
| 21:22 | 📍 | Definición de Prioridades | Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. Se define el objetivo de **Optimizar** los servicios Docker (no solo reactivar). |
| 21:15 | ✅ | Relevamiento Técnico | Se detectan redes Docker sin contenedores activos (`bitacoras`, `sysacad`, `portainer`). VM VirtualBox consume ~4GB RAM. |
| 21:07 | ✅ | Protocolo de Armonía | Se incorpora la directiva de **Armonía y Auto-optimización** en `adn/02_protocolo.md`. |
| 21:05 | ✅ | Establecimiento de Protocolo | Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. |
| 21:01 | ✅ | Inicio del Relevamiento | Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. |
| Hora | Nodo | Detalle |
| :--- | :--- | :--- |
| 23:25 | srv-NS8 | ✅ **Configuración SSL y Reverse Proxy**: **Exitoso**. Certificado Let's Encrypt instalado para `ns8.frlr.utn.edu.ar`. Nginx configurado como Reverse Proxy para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (Puerto 443). |
| 23:15 | srv-NS8 | ✅ **Configuración Red Híbrida**: **Exitoso**. Se ejecuta `configurar_red_hibrida.sh`. El servidor mantiene gateway `10.x` para salida, pero responde correctamente a la IP pública `190.x` mediante Policy Routing. |
| 23:10 | srv-NS8 | ✅ **Protocolo de Seguridad**: Se incorpora la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md` (Reversión automática). |
| 23:00 | srv-NS8 | ✅ **Instalación Nginx Nativo**: **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80). |
| 22:55 | srv-NS8 | ✅ **Resolución Conflicto Puerto**: Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. |
| 22:50 | srv-NS8 | ✅ **Saneamiento y Simplificación**: Se eliminan scripts de migración de IP complejos por riesgo innecesario. Se consolida `scripts/instalar_nginx_simple.sh`. |
| 22:45 | srv-NS8 | ✅ **Cambio de Estrategia: Nginx Nativo**: Se decide eliminar el contenedor `proxy` (Docker) y reemplazarlo por **Nginx Nativo** en el host (`10.0.10.8`). |
| 22:15 | srv-NS8 | ✅ **Documentación de Red**: Se detalla la **Topología de Red** en `adn/01_ontologia.md`. |
| 22:10 | srv-NS8 | ✅ **Mantenimiento**: Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). |
| 22:05 | srv-NS8 | ✅ **Documentación de Accesos**: Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md`. |
| 22:00 | srv-NS8 | ✅ **Reactivación de Servicios**: Se levantan exitosamente `portainer`, `proxy`, `bitacoras` y `sysacad`. |
| 21:50 | srv-NS8 | 🧪 **Validación de Servicios**: Pruebas de configuración (`docker compose config`) exitosas. Límites de memoria confirmados correctos. |
| 21:40 | srv-NS8 | ✅ **Optimización de Recursos**: Se completa la migración de archivos e incluyen `.env`. Se aplican límites de memoria RAM a los servicios Docker. |
| 21:35 | srv-NS8 | ✅ **Centralización de Servicios**: Se mueven las configuraciones de servicios a `dtic-srv-NS8/servicios/`. |
| 21:22 | srv-NS8 | 📍 **Definición de Prioridades**: Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. |
| 21:15 | srv-NS8 | ✅ **Relevamiento Técnico**: Se detectan redes Docker sin contenedores activos. VM VirtualBox consume ~4GB RAM. |
| 21:07 | srv-NS8 | ✅ **Protocolo de Armonía**: Se incorpora la directiva de **Armonía y Auto-optimización** en `adn/02_protocolo.md`. |
| 21:05 | srv-NS8 | ✅ **Establecimiento de Protocolo**: Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. |
| 21:01 | srv-NS8 | ✅ **Inicio del Relevamiento**: Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. |