[Core/Infra] Provisionamiento SSH en pc-dasu0 y unificación Nginx tailscale

This commit is contained in:
Ricardo Monla
2026-03-14 10:29:54 -03:00
parent e554bb5d0d
commit b13a389568
50 changed files with 2702 additions and 561 deletions
+8 -8
View File
@@ -16,9 +16,9 @@ Esta hebra gobierna los protocolos de seguridad de red, gestión de secretos y a
3. **Si no hay confirmación**: Revertir cambios inmediatamente y restaurar estado anterior.
4. **Si hay confirmación**: Hacer cambios persistentes.
## 2. Gestión de Secretos — `ns8-candados`
## 2. Gestión de Secretos — `candados`
Herramienta unificada de seguridad: [`adn/tools/seguridad/ns8-candados.rb`](../adn/tools/seguridad/ns8-candados.rb)
Herramienta unificada de seguridad: [`adn/tools/seguridad/candados.rb`](../adn/tools/seguridad/candados.rb)
### 2.1 Prohibición de Texto Plano
La Inteligencia Artificial operante tiene **expresamente prohibido** solicitar contraseñas administrativas, tokens o claves privadas al operador, así como también plasmarlas en logs, comandos literales temporales o en la bitácora.
@@ -27,14 +27,14 @@ La Inteligencia Artificial operante tiene **expresamente prohibido** solicitar c
| Archivo | Ubicación | Git | Descripción |
| :--- | :--- | :---: | :--- |
| `ns8-candados.rb` | `adn/tools/seguridad/` | ✅ | Script Ruby unificado: cifrado, bóveda y autorización SSH. |
| `candados.rb` | `adn/tools/seguridad/` | ✅ | Script Ruby unificado: cifrado, bóveda y autorización SSH. |
| `.boveda.json` | `adn/tools/seguridad/` | ❌ | Payloads AES-256-GCM cifrados. |
| `.master.key` | Raíz del proyecto | ❌ | Clave maestra de la bóveda (nunca en Git). |
### 2.3 Comandos Disponibles
```bash
ruby adn/tools/seguridad/ns8-candados.rb <comando> [args]
ruby adn/tools/seguridad/candados.rb <comando> [args]
```
| Comando | Descripción |
@@ -51,7 +51,7 @@ ruby adn/tools/seguridad/ns8-candados.rb <comando> [args]
```bash
# Obtener password para uso en comando remoto
PASS=$(ruby adn/tools/seguridad/ns8-candados.rb get admindasu)
PASS=$(ruby adn/tools/seguridad/candados.rb get admindasu)
sshpass -p "$PASS" ssh -J root@100.116.210.36 admindasu@10.0.100.12 "cmd"
```
@@ -71,11 +71,11 @@ sshpass -p "$PASS" ssh -J root@100.116.210.36 admindasu@10.0.100.12 "cmd"
### 3.1 Problema
La llave SSH del operador está protegida con passphrase. El agente SSH no retiene las identidades entre sesiones.
### 3.2 Solución: `ns8-candados.rb abrir`
### 3.2 Solución: `candados.rb abrir`
El operador ejecuta el comando **interactivamente** para cargar su identidad SSH:
```bash
ruby adn/tools/seguridad/ns8-candados.rb abrir
ruby adn/tools/seguridad/candados.rb abrir
```
Las identidades permanecen activas mientras dure la sesión del agente SSH (sin timeout artificial).
@@ -94,7 +94,7 @@ Las identidades permanecen activas mientras dure la sesión del agente SSH (sin
**Uso programático** (ej: desde ns8-bkps):
```bash
# 1. Cargar llave SSH
ruby adn/tools/seguridad/ns8-candados.rb abrir
ruby adn/tools/seguridad/candados.rb abrir
# 2. Acceder a hipervisor
ssh root@10.0.10.201 "qm list"