feat: reestructura documental (nodos/incidentes) y reportes DASU/Proxmox
This commit is contained in:
@@ -8,6 +8,8 @@ Este documento registra la evolución, cambios y eventos significativos en el se
|
||||
|
||||
| Hora | Nodo | Detalle |
|
||||
| :--- | :--- | :--- |
|
||||
| 14:00 | srv-NS8 | ✅ **Conectividad DASU**: Bypass Exitoso. Instalación de **Tailscale** en `pc-DASU0` (Remoto, IP `100.65.62.44`) y `pcv-DASU1` (Interno, IP `100.100.145.51`). AnyDesk configurado para conectar vía LAN (VPN), eliminando límite de tiempo. |
|
||||
| 11:00 | srv-pmox* | ✅ **Incidencia Crítica Resuelta**: **Cluster Proxmox SSH**. Se restauró la confianza entre nodos cambiando `PermitRootLogin prohibit-password` y regenerando certificados (`pvecm updatecerts`). Consolas VNC recuperadas. |
|
||||
| 00:55 | Grid | ✅ **Documentación ONTO**: Se actualiza `01_ontologia.md` y se crean fichas para `srv-xen01` y `cam-hikvision-24`. |
|
||||
| 00:45 | cam-hikvision-24 | ⚠️ **Sonda de Campo**: **Detección HTTP**. IP `10.0.10.24`. Puerto 80 abierto (Hikvision Login), SSH cerrado. Rol: Cámara/DVR. |
|
||||
| 00:35 | srv-xen01 | ✅ **Sonda de Campo**: **Corrección de Rol**. IP `10.0.10.23`. Identificado como **Citrix XenServer 7.0** (previamente catalogado como Debian). Evidencia forense de procesos Xen y Open vSwitch. |
|
||||
|
||||
+25
-15
@@ -11,21 +11,31 @@ Este documento define la identidad, propósito y componentes principales del ser
|
||||
- **Ubicación de Red**: `10.0.10.8/24`.
|
||||
|
||||
## Nodos de la Red (Grid)
|
||||
- **srv-NS8** (Local): Workstation / Híbrido.
|
||||
- **[srv-pmox1](nodos/srv-pmox1.md)** (`10.0.10.201`): Nodo Proxmox de Virtualización.
|
||||
- **[srv-pmox2](nodos/srv-pmox2.md)** (`10.0.10.202`): Nodo Proxmox de Virtualización.
|
||||
- **[srv-pmox3](nodos/srv-pmox3.md)** (`10.0.10.203`): Nodo Proxmox de Virtualización (High RAM).
|
||||
- **[srvv-SITIO](nodos/srvv-SITIO.md)** (`10.0.10.18`): VM Ubuntu / Docker Host (IP Pública `190.114.205.20`).
|
||||
- **[srvv-SITIO0](nodos/srvv-SITIO0.md)** (`10.0.10.119`): VM Debian 12 (`srvv-SCERO`).
|
||||
- **[srvv-DTIC](nodos/srvv-DTIC.md)** (`10.0.10.4`): VM Debian 12 / Docker Host.
|
||||
- **[srvv-DOCs](nodos/srvv-DOCs.md)** (`10.0.10.14`): VM Debian 12 / Docker Host.
|
||||
- **[srvv-KOHA](nodos/srvv-KOHA.md)** (`10.0.10.130`): VM Debian 11 / Librería.
|
||||
- **[srvv-UPTIME](nodos/srvv-UPTIME.md)** (`10.0.10.9`): LXC Debian 12 / Monitorización (⚠️ Disk 77%).
|
||||
- **[srvv-DATA](nodos/srvv-DATA.md)** (`10.0.10.13`): LXC Debian 12 / Datos.
|
||||
- **[srvv-SITIO2](nodos/srvv-SITIO2.md)** (`10.0.10.19`): LXC Debian 12 / Web Secundario (Acceso `root`).
|
||||
- **[srv-xen01](nodos/srv-xen01.md)** (`10.0.10.23`): **Citrix XenServer 7.0** / Hypervisor (4 Cores Xeon).
|
||||
- **[cam-hikvision-24](nodos/cam-hikvision-24.md)** (`10.0.10.24`): Disp. Hikvision / Cámara o DVR (Detectado vía HTTP).
|
||||
- **[srvv-DNS](nodos/srvv-DNS.md)** (`10.0.10.2`): VM Debian 12 / Servidor DNS.
|
||||
|
||||
| Nodo | IP / Ubicación | Descripción / Rol |
|
||||
| :--- | :--- | :--- |
|
||||
| **srv-NS8** (Manual) | `10.0.10.8` | Workstation / Híbrido |
|
||||
| **[srv-pmox1](../nodos/srv-pmox1.md)** | `10.0.10.201` | Nodo Proxmox de Virtualización |
|
||||
| **[srv-pmox2](../nodos/srv-pmox2.md)** | `10.0.10.202` | Nodo Proxmox de Virtualización |
|
||||
| **[srv-pmox3](../nodos/srv-pmox3.md)** | `10.0.10.203` | Nodo Proxmox de Virtualización (High RAM) |
|
||||
| **[srvv-SITIO](../nodos/srvv-SITIO.md)** | `10.0.10.18` `190.114.205.20` | VM Ubuntu / Docker Host |
|
||||
| **[srvv-SITIO0](../nodos/srvv-SITIO0.md)** | `10.0.10.119` | VM Debian 12 (`srvv-SCERO`) |
|
||||
| **[srvv-DTIC](../nodos/srvv-DTIC.md)** | `10.0.10.4` | VM Debian 12 / Docker Host |
|
||||
| **[srvv-DOCs](../nodos/srvv-DOCs.md)** | `10.0.10.14` | VM Debian 12 / Docker Host |
|
||||
| **[srvv-KOHA](../nodos/srvv-KOHA.md)** | `10.0.10.130` | VM Debian 11 / Librería |
|
||||
| **[srvv-UPTIME](../nodos/srvv-UPTIME.md)** | `10.0.10.9` | LXC Debian 12 / Monitorización (⚠️ Disk 77%) |
|
||||
| **[srvv-DATA](../nodos/srvv-DATA.md)** | `10.0.10.13` | LXC Debian 12 / Datos |
|
||||
| **[srvv-SITIO2](../nodos/srvv-SITIO2.md)** | `10.0.10.19` | LXC Debian 12 / Web Secundario (Acceso `root`) |
|
||||
| **[srv-xen01](../nodos/srv-xen01.md)** | `10.0.10.23` | **Citrix XenServer 7.0** / Hypervisor (4 Cores Xeon) |
|
||||
| **[cam-hikvision-24](../nodos/cam-hikvision-24.md)** | `10.0.10.24` | Disp. Hikvision / Cámara o DVR (Detectado vía HTTP) |
|
||||
| **[srvv-DNS](../nodos/srvv-DNS.md)** | `10.0.10.2` | VM Debian 12 / Servidor DNS |
|
||||
|
||||
## Nodos Externos / Satélites
|
||||
|
||||
| Nodo | Ubicación | Descripción / Rol |
|
||||
| :--- | :--- | :--- |
|
||||
| **[pc-DASU0](../nodos/pc-DASU0.md)** | Oficina DASUTEN | Win10 Físico / Acceso Usuarias (Tailscale `100.65.62.44`) |
|
||||
| **[pcv-DASU1](../nodos/pcv-DASU1.md)** | Facultad (`srv-pmox2`) | Win10 VM / Sistema DASU (Tailscale `100.100.145.51`) |
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Incidente: [Título Descriptivo]
|
||||
|
||||
| ID | Estado | Fecha de Inicio | Fecha de Cierre | Severidad |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| **INC-[YYYYMMDD-HH]** | ✅ Resuelto | YYYY-MM-DD HH:MM | YYYY-MM-DD HH:MM | Alta/Media/Baja |
|
||||
|
||||
## 1. Resumen Ejecutivo
|
||||
Breve descripción del problema y su impacto en el negocio/operación.
|
||||
|
||||
## 2. Detalles del Incidente
|
||||
- **Detectado por**: [Nombre/Rol]
|
||||
- **Sistemas Afectados**: [Lista de nodos/servicios]
|
||||
- **Síntomas Observados**:
|
||||
- [Detalle 1]
|
||||
- [Detalle 2]
|
||||
|
||||
## 3. Diagnóstico y Causa Raíz
|
||||
- **Investigación**: ¿Qué pasos se siguieron para encontrar el problema?
|
||||
- **Causa Raíz (RCA)**: ¿Cuál fue el origen técnico real? (e.g., Configuración errónea, Fallo de HW, Bug).
|
||||
|
||||
## 4. Solución Implementada
|
||||
Pasos técnicos ejecutados para resolver el incidente:
|
||||
1. [Paso 1]
|
||||
2. [Paso 2]
|
||||
|
||||
## 5. Actores Intervinientes
|
||||
- **[Nombre]** ([Rol]): [Acción principal]
|
||||
- **Agente (A.I.)**: Soporte diagnóstico y ejecución.
|
||||
|
||||
## 6. Resultado y Verificación
|
||||
- **Estado Final**: [Descripción del estado post-fix]
|
||||
- **Pruebas de Validación**:
|
||||
- [Prueba 1]
|
||||
- [Prueba 2]
|
||||
|
||||
## 7. Lecciones Aprendidas / Mejoras Futuras
|
||||
- [Lección 1]
|
||||
- [Mejora sugerida para evitar recurrencia]
|
||||
@@ -0,0 +1,27 @@
|
||||
# Incidente/Proyecto: Conectividad Segura DASU (Bypass AnyDesk Free)
|
||||
|
||||
| ID | Estado | Fecha Reporte | Fecha Solución | Severidad |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| **260218_0829_dasu** | ✅ Implementado | 2026-02-18 08:29 | 2026-02-18 12:45 | ⚡ Media |
|
||||
|
||||
## 1. Cronología de Actores
|
||||
- **08:29** - **Andrea ALMIRON** (Usuaria) reporta problemas para acceder al sistema DASU desde la oficina externa debido a limitaciones de tiempo en AnyDesk.
|
||||
- **09:27** - **Cristian GATICA** recepciona la consulta. Al no poder resolverla inmediatamente, deriva el caso al soporte de nivel superior.
|
||||
- **10:05** - **Ricardo MONLA** toma el control del incidente e inicia el trabajo técnico junto con **Antigravity** (Agente AI).
|
||||
|
||||
## 2. Diagnóstico del Problema
|
||||
- **Escenario**:
|
||||
- **pc-DASU0** (Oficina DASUTEN, Externa): PC Física.
|
||||
- **pcv-DASU1** (Facultad, Interna): VM en `srv-pmox2`.
|
||||
- **Bloqueo**: La conexión por AnyDesk se cortaba por detección de uso comercial en versión gratuita.
|
||||
|
||||
## 3. Solución Técnica (Ricardo MONLA + Antigravity)
|
||||
Se decidió **reemplazar la herramienta de acceso remoto** para eliminar la dependencia de licencias propietarias.
|
||||
1. **Red Base**: Implementación de **Tailscale** (VPN Mesh) para conectividad directa (`100.x`).
|
||||
2. **Migración de Herramienta**:
|
||||
- **RustDesk**: Se instaló y configuró como herramienta principal (Open Source).
|
||||
- **AnyDesk**: Se **desinstaló** del equipo origen (`pc-DASU0`) para evitar conflictos y restricciones futuras.
|
||||
|
||||
## 4. Resultado
|
||||
- Conectividad restablecida sin limitaciones de tiempo.
|
||||
- Documentación actualizada en `nodos/`.
|
||||
@@ -0,0 +1,25 @@
|
||||
# Incidente: Pérdida de Confianza SSH en Cluster Proxmox
|
||||
|
||||
| ID | Estado | Fecha de Inicio | Fecha de Cierre | Severidad |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| **260218_1005_proxmox-ssh** | ✅ Resuelto | 2026-02-18 10:05 | 2026-02-18 11:00 | 🔥 Alta |
|
||||
|
||||
## 1. Cronología y Actores
|
||||
- **10:05** - **Ricardo MONLA** inicia revisión de rutina/mantenimiento en la infraestructura.
|
||||
- **10:15** - **Ricardo MONLA** descubre el bloqueo SSH entre nodos del clúster al intentar operar consolas VNC.
|
||||
|
||||
## 2. Resumen Ejecutivo
|
||||
Hallazgo y resolución de bloqueo en la administración remota del clúster.
|
||||
|
||||
## 3. Detalles del Incidente
|
||||
- **Sistemas Afectados**: `srv-pmox1`, `srv-pmox2`, `srv-pmox3`.
|
||||
- **Síntomas**: Error `Permission denied` detectado por el Administrador al operar sobre el clúster.
|
||||
|
||||
## 4. Diagnóstico y Causa Raíz
|
||||
- **Causa Raíz**: **Hardening Excesivo**. Se configuró `PermitRootLogin no` en `/etc/ssh/sshd_config`, bloqueando la comunicación interna del clúster.
|
||||
|
||||
## 5. Solución Implementada
|
||||
- **Antigravity (Agente)** asistió a **Ricardo MONLA** para revertir la configuración a `PermitRootLogin prohibit-password` y regenerar certificados (`pvecm updatecerts`).
|
||||
|
||||
## 6. Resultado
|
||||
- Acceso SSH y Consolas VNC restaurados.
|
||||
@@ -0,0 +1,19 @@
|
||||
# Nodo: pc-DASU0
|
||||
|
||||
## Información General
|
||||
- **Hostname**: `pc-DASU0` (Prev: `UTNLR32120`)
|
||||
- **Patrimonio**: `32120`
|
||||
- **Ubicación**: Oficina DASUTEN (Externa a Facultad)
|
||||
- **Tipo**: PC Física
|
||||
- **Rol**: Estación de Trabajo Remota (Usuarios: Andrea/Romina)
|
||||
- **Sistema Operativo**: Windows 10
|
||||
- **Conectividad**: Tailscale (`100.65.62.44`) - ✅ ONLINE
|
||||
|
||||
## Credenciales de Gestión (Tailscale Admin)
|
||||
- **Cuenta Maestra**: `pcdasu0@frlr.utn.edu.ar`
|
||||
- **Pass (Ref)**: `UTN$larioja00`
|
||||
- **Propósito**: Esta cuenta gestiona la red Tailscale que une a `pc-DASU0` con `pcv-DASU1`.
|
||||
|
||||
## Servicios
|
||||
- **RustDesk**: ID `398 699 016` (Acceso Remoto Principal). Password: `UTNlarioja00`
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# Nodo: pcv-DASU1
|
||||
|
||||
## Información General
|
||||
- **Hostname**: `pcv-DASU1` (Prev: `pcvDASU2`)
|
||||
- **Ubicación**: Interna (Facultad / srv-pmox2)
|
||||
- **Tipo**: Máquina Virtual (VM)
|
||||
- **Rol**: Estación de Trabajo Objetivo (Hosting del Sistema DASU)
|
||||
- **Sistema Operativo**: Windows 10
|
||||
- **Conectividad**: Tailscale (`100.100.145.51`) - ✅ ONLINE
|
||||
|
||||
## Servicios
|
||||
- **Sistema DASU**: Aplicativo legacy/interno.
|
||||
- **AnyDesk**: Servidor de acceso (Escuchando conexiones LAN/Tailscale).
|
||||
- **RustDesk**: ID `290 015 364` (Acceso Remoto Principal). Password: `UTNlarioja00`
|
||||
|
||||
## Estrategia de Acceso
|
||||
Este nodo debe tener Tailscale instalado y logueado con la cuenta `pcdasu0@frlr.utn.edu.ar` (o validado en la misma red) para recibir conexiones directas desde `pc-DASU0`.
|
||||
@@ -0,0 +1,61 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Sonda de Relevamiento para Nodos Windows (Compatible con Agente srv-NS8)
|
||||
.DESCRIPTION
|
||||
Recopila información de hardware, red y software para generar un perfil JSON compatible.
|
||||
.USAGE
|
||||
.\sonda_windows.ps1
|
||||
#>
|
||||
|
||||
$ErrorActionPreference = "SilentlyContinue"
|
||||
|
||||
# --- 1. System Info ---
|
||||
$os = Get-CimInstance Win32_OperatingSystem
|
||||
$cs = Get-CimInstance Win32_ComputerSystem
|
||||
$cpu = Get-CimInstance Win32_Processor
|
||||
$mem = Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum
|
||||
|
||||
# --- 2. Network ---
|
||||
$net = Get-NetIPAddress | Where-Object { $_.AddressFamily -eq 'IPv4' -and $_.InterfaceAlias -notlike '*Loopback*' } | Select-Object IPAddress, InterfaceAlias
|
||||
|
||||
# --- 3. Disks ---
|
||||
$disks = Get-PhysicalDisk | Select-Object FriendlyName, MediaType, Size
|
||||
|
||||
# --- 4. Software (Specific Checks) ---
|
||||
$anydesk = Get-Process -Name "AnyDesk" -ErrorAction SilentlyContinue
|
||||
$tailscale = Get-Service -Name "Tailscale" -ErrorAction SilentlyContinue
|
||||
|
||||
# --- Construct JSON ---
|
||||
$payload = @{
|
||||
timestamp = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss zzz")
|
||||
connector = @{
|
||||
hostname_detected = $env:COMPUTERNAME
|
||||
user = $env:USERNAME
|
||||
platorm = "Windows"
|
||||
}
|
||||
cpu = @{
|
||||
model = $cpu.Name
|
||||
cores = $cpu.NumberOfCores
|
||||
arch = $os.OSArchitecture
|
||||
}
|
||||
ram = @{
|
||||
total_gb = [math]::Round($mem.Sum / 1GB, 2)
|
||||
raw = $mem.Sum
|
||||
}
|
||||
os = @{
|
||||
edition = $os.Caption
|
||||
version = $os.Version
|
||||
build = $os.BuildNumber
|
||||
}
|
||||
network = $net
|
||||
disks = $disks
|
||||
services = @{
|
||||
anydesk_running = [bool]$anydesk
|
||||
tailscale_status = if ($tailscale) { $tailscale.Status } else { "Not Installed" }
|
||||
}
|
||||
}
|
||||
|
||||
# --- Output ---
|
||||
Write-Host "---START_PAYLOAD---" -ForegroundColor Cyan
|
||||
$payload | ConvertTo-Json -Depth 3
|
||||
Write-Host "---END_PAYLOAD---" -ForegroundColor Cyan
|
||||
Reference in New Issue
Block a user