Docs(ADN): Actualización de manifiestos, guías y reglas del ADN (03_seguridad.md, 05_ia.md, triggers.yml, configuracion_bd.md) para reflejar la última reorganización de arquitectura de ADN Tools
This commit is contained in:
+8
-8
@@ -18,7 +18,7 @@ Esta hebra gobierna los protocolos de seguridad de red, gestión de secretos y a
|
||||
|
||||
## 2. Gestión de Secretos — `ns8-candados`
|
||||
|
||||
Herramienta unificada de seguridad: [`tools/ns8-candados/ns8-candados.rb`](../tools/ns8-candados/ns8-candados.rb)
|
||||
Herramienta unificada de seguridad: [`tools/adn/seguridad/ns8-candados.rb`](../tools/adn/seguridad/ns8-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` | `tools/ns8-candados/` | ✅ | Script Ruby unificado: cifrado, bóveda y autorización SSH. |
|
||||
| `.boveda.json` | `tools/ns8-candados/` | ❌ | Payloads AES-256-GCM cifrados. |
|
||||
| `ns8-candados.rb` | `tools/adn/seguridad/` | ✅ | Script Ruby unificado: cifrado, bóveda y autorización SSH. |
|
||||
| `.boveda.json` | `tools/adn/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 tools/ns8-candados/ns8-candados.rb <comando> [args]
|
||||
ruby tools/adn/seguridad/ns8-candados.rb <comando> [args]
|
||||
```
|
||||
|
||||
| Comando | Descripción |
|
||||
@@ -51,7 +51,7 @@ ruby tools/ns8-candados/ns8-candados.rb <comando> [args]
|
||||
|
||||
```bash
|
||||
# Obtener password para uso en comando remoto
|
||||
PASS=$(ruby tools/ns8-candados/ns8-candados.rb get admindasu)
|
||||
PASS=$(ruby tools/adn/seguridad/ns8-candados.rb get admindasu)
|
||||
sshpass -p "$PASS" ssh -J root@10.0.10.205 admindasu@10.0.100.12 "cmd"
|
||||
```
|
||||
|
||||
@@ -74,7 +74,7 @@ La llave SSH del operador está protegida con passphrase. El agente SSH no retie
|
||||
El operador ejecuta el comando **interactivamente** para cargar su identidad SSH:
|
||||
|
||||
```bash
|
||||
ruby tools/ns8-candados/ns8-candados.rb abrir
|
||||
ruby tools/adn/seguridad/ns8-candados.rb abrir
|
||||
```
|
||||
|
||||
Las identidades permanecen activas mientras dure la sesión del agente SSH (sin timeout artificial).
|
||||
@@ -93,7 +93,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 tools/ns8-candados/ns8-candados.rb abrir
|
||||
ruby tools/adn/seguridad/ns8-candados.rb abrir
|
||||
|
||||
# 2. Acceder a hipervisor
|
||||
ssh root@10.0.10.201 "qm list"
|
||||
@@ -106,7 +106,7 @@ ssh rmonla@10.0.10.4 "sudo shutdown -h now"
|
||||
|
||||
Los siguientes artefactos **nunca** deben ser rastreados por Git:
|
||||
- `.master.key` (clave maestra de la bóveda)
|
||||
- `tools/ns8-candados/.boveda.json` (payloads cifrados)
|
||||
- `tools/adn/seguridad/.boveda.json` (payloads cifrados)
|
||||
- `.agent_token` (token legacy, obsoleto)
|
||||
- `*.key` (claves privadas)
|
||||
- `tmp/` (artefactos transitorios de la IA)
|
||||
|
||||
+2
-2
@@ -50,9 +50,9 @@ Antes de iniciar escaneos, pruebas de red, o conexiones SSH a un nodo de un proy
|
||||
- **Objetivo:** Identificar si el nodo objetivo está en una subred aislada, detrás de un NAT, o si requiere un salto de red (ProxyJump) a través de un hypervisor anfitrión, previniendo errores ciegos y garantizando trazabilidad geográfica.
|
||||
|
||||
### 14. Protocolo Autónomo de Ejecución (P.A.E.)
|
||||
Para tareas operativas complejas (ej. backups), la IA **DEBE** utilizar las herramientas unificadas (`tools/adn.rb`) que ya integran la lógica de seguridad y registro:
|
||||
Para tareas operativas complejas (ej. backups), la IA **DEBE** utilizar las herramientas unificadas (`tools/adn/run`) que ya integran la lógica de seguridad y registro:
|
||||
|
||||
1. **Ejecución**: Usar `ruby tools/adn.rb backup [nodo]`.
|
||||
1. **Ejecución**: Usar `./tools/adn/run backup [nodo]`.
|
||||
2. **Seguridad**: La herramienta utilizará internamente `ns8-candados run` para no exponer secretos.
|
||||
3. **Bitácora**: El registro en `docs/bitacoras/YYYY-MM-DD.md` es automático mediante la herramienta.
|
||||
4. **Validación**: La herramienta valida el contexto técnico (VMID, Host IP) consultando las fichas del ADN.
|
||||
|
||||
+3
-3
@@ -21,14 +21,14 @@ El directorio `adn/` constituye el "núcleo genético" del servidor `srv-ns8`. N
|
||||
|
||||
## ⚙️ Configuración y Dependencias
|
||||
- **Tecnologías Clave**:
|
||||
- **Motor de ejecución**: Ruby (utilizado para scripts de automatización como `tools/adn.rb`).
|
||||
- **Motor de ejecución**: Ruby (utilizado para scripts de automatización como `tools/adn/run`).
|
||||
- **Formatos**: Markdown para documentación y YAML para reglas de automatización.
|
||||
- **Entorno**: Dockerizado para servicios de red (Nginx, Homepage, Bitácoras).
|
||||
- **Configuración Relevante**:
|
||||
- `triggers.yml`: Define qué acciones disparar ante eventos específicos (ej. cierre de tareas, creación de nuevas bitácoras).
|
||||
- **Comandos Necesarios**:
|
||||
- `ruby tools/adn.rb triggers`: Procesa y sincroniza los cambios basados en las reglas del ADN.
|
||||
- `ruby tools/ns8-candados/ns8-candados.rb`: Gestiona la seguridad y secretos del servidor.
|
||||
- `./tools/adn/run triggers`: Procesa y sincroniza los cambios basados en las reglas del ADN.
|
||||
- `ruby tools/adn/seguridad/ns8-candados.rb`: Gestiona la seguridad y secretos del servidor.
|
||||
|
||||
## 🧠 Contexto para IA
|
||||
- **Patrones y Convenciones**: Se debe mantener estrictamente la iconografía semántica (`04_iconografia.md`) y seguir las directivas de la Hebra 05. Ningún cambio debe romper la "Armonía Integral" definida en el índice.
|
||||
|
||||
@@ -26,8 +26,8 @@ La persistencia de nuestras bitácoras vive dentro de un contenedor dedicado.
|
||||
docker ps | grep postgres
|
||||
```
|
||||
|
||||
## 3. Configuración de Credenciales CLI (`tools/config/database.yml`)
|
||||
Las herramientas ADN alojadas en `tools/adn/run` delegaron su configuración al archivo maestro que se sitúa en `tools/config/database.yml`.
|
||||
## 3. Configuración de Credenciales CLI (`tools/adn/config/database.yml`)
|
||||
Las herramientas ADN alojadas en `tools/adn/run` delegaron su configuración al archivo maestro que se sitúa en `tools/adn/config/database.yml`.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> El entorno de `development` se define por defecto e interactúa en el puerto `5433` usando credenciales locales (`dtic_user` / `dtic_pass_2026`).
|
||||
@@ -53,9 +53,3 @@ La mejor forma de testear que todo se ha inicializado y configurado correctament
|
||||
Si recibes el siguiente dictamen, el sistema funciona correctamente:
|
||||
`✅ Conexión a PostgreSQL establecida`
|
||||
|
||||
## 5. Pruebas Unitarias Integradas (Minitest)
|
||||
Si estás desarrollando nuevas funcionalidades o has migrado el esquema, ejecuta el paquete `bitacora_db_test.rb` incluido para validar CRUD sin ensuciar la base de datos final. El sistema de tests encapsula todo el script dentro de comandos `BEGIN` / `ROLLBACK`.
|
||||
|
||||
```bash
|
||||
ruby tools/adn/spec/bitacora_db_test.rb
|
||||
```
|
||||
|
||||
+3
-3
@@ -190,13 +190,13 @@ configuracion:
|
||||
# implementado en la Fase 2 del plan de mejoras del ADN.
|
||||
#
|
||||
# La implementación del motor de triggers se encuentra en:
|
||||
# tools/adn/triggers.rb (Fase 2)
|
||||
# tools/adn/core/triggers.rb (Fase 2)
|
||||
#
|
||||
# Los triggers se ejecutarán mediante:
|
||||
# ruby tools/adn.rb triggers [--test] [--force]
|
||||
# ./tools/adn/run triggers [--test] [--force]
|
||||
#
|
||||
# Para probar triggers individualmente durante el desarrollo:
|
||||
# ruby tools/adn.rb triggers --test --trigger="nombre_del_trigger"
|
||||
# ./tools/adn/run triggers --test --trigger="nombre_del_trigger"
|
||||
#
|
||||
# ⚠️ ADVERTENCIA: No modificar manualmente las secciones marcadas como
|
||||
# "GENERADO AUTOMÁTICAMENTE" una vez que el sistema esté en producción.
|
||||
|
||||
Reference in New Issue
Block a user