La lección anterior terminó con una observación incómoda: POL-02 dice que el acceso de terceros «debe ser nominal, con MFA y just-in-time» y POL-04 dice que los equipos «deben mantener activo el cifrado de disco», pero ninguna de las dos frases protege nada por sí misma. Alguien tiene que configurar el MFA, comprobar que los 40 portátiles están cifrados de verdad, verificarlo periódicamente y dejar constancia de que lo verificó. Ese «alguien haciendo algo comprobable» es el control, el tercer vértice del triángulo que cierras aquí: el riesgo dice qué puede pasar, la política dice qué exigimos, y el control es lo que hace que sea cierto. Terminarás con las dos clasificaciones que hay que dominar, el catálogo de controles de Nimbus como artefacto reutilizable, las métricas que distinguen un control implantado de uno eficaz, y la matriz de trazabilidad que salva una auditoría.
Contenido
- Qué es exactamente un control y cómo cierra el triángulo
- Clasificación por naturaleza: administrativo, técnico y físico
- Clasificación por función: de preventivo a compensatorio
- Por qué un riesgo necesita controles de varias funciones
- Catálogos de referencia: CIS v8, ISO 27002 y NIST SP 800-53
- Cómo se selecciona un control, y el coste que todos olvidan
- Controles compensatorios: legítimos y excusas
- El catálogo de controles de Nimbus
- Implantado no es eficaz: evidencias, pruebas y métricas
- La matriz de trazabilidad riesgo → control → evidencia
- Deriva de controles: por qué se degradan solos
- Qué es exactamente un control y cómo cierra el triángulo
Un control de seguridad es una medida concreta, con propietario, que reduce la probabilidad o el impacto de un riesgo y cuyo funcionamiento se puede comprobar. Los tres elementos de esa definición son igualmente obligatorios: si no tiene propietario, no se mantiene; si no reduce ningún riesgo identificado, es decoración; y si no se puede comprobar, no sabrás nunca si sigue funcionando.
flowchart LR
R["RIESGO (04-01)\nQue puede pasar y cuanto duele.\nR-01, R-06..."]
P["POLITICA (04-02)\nQue exigimos y por que.\nPOL-02 5.4.2"]
C["CONTROL (04-03)\nLo que se implanta y se VERIFICA.\nC-03 acceso just-in-time"]
E["EVIDENCIA\nRegistro, captura, informe\ncon fecha"]
R -->|"justifica"| P
P -->|"exige"| C
C -->|"reduce el residual de"| R
C -->|"produce"| E
E -->|"demuestra ante auditoria (06-04)"| P
| Riesgo | Política | Control | |
|---|---|---|---|
| Pregunta que responde | ¿Qué puede pasar? | ¿Qué exigimos? | ¿Qué hacemos y cómo lo probamos? |
| Documento | Registro de riesgos | POL-NN | Catálogo de controles |
| Cambia | Al cambiar la exposición | Cada año | Al cambiar la tecnología |
| Si falta | Se protege al azar | La decisión no sobrevive | No pasa nada de lo escrito |
Y un matiz de vocabulario que evita confusiones: control, medida y salvaguarda son sinónimos en la práctica. ISO 27002 dice «control», CIS dice «salvaguarda» (safeguard) y NIST dice «control». Lo que sí conviene distinguir es control de herramienta: un antivirus es una herramienta; «malware detectado y contenido en el endpoint, con alerta atendida en menos de 4 horas» es un control. La herramienta sin el proceso alrededor no es un control, es una licencia pagada.
- Clasificación por naturaleza: administrativo, técnico y físico
| Naturaleza | Qué es | Ejemplos en Nimbus | Quién lo mantiene |
|---|---|---|---|
| Administrativo (organizativo) | Reglas, procesos y decisiones sobre personas | POL-02; recertificación semestral de accesos; formación anual; verificación de pagos por canal alternativo; cláusulas de proveedor | Marta, Sara |
| Técnico (lógico) | Configuración y software que aplica la regla | MFA FIDO2; RLS en PostgreSQL; WHERE tenant_id; URL firmadas de 120 s; cifrado de disco; escáner de secretos en el CI; copias inmutables |
Lucía, Iván |
| Físico | Protección del entorno material | Cerradura de la oficina de Valencia; armario con llave para el disco de copias; política de mesas limpias; destrucción segura de documentos | Lucía, Sara |
Tres observaciones que valen más que la tabla. Los administrativos suelen ser gratis y son los que más se olvidan: de las 12 medidas de mayor retorno de 02-04, varias de coste nulo son administrativas —el procedimiento de verificación de pagos, la revisión trimestral de accesos de terceros o el plan de respuesta escrito—. Un control técnico sin su administrativo no se sostiene: instalar MFA es técnico, pero decidir en qué cuentas es obligatorio, quién autoriza las excepciones y quién revisa la cobertura es administrativo, y sin eso la cobertura baja sola con cada alta nueva. Y Nimbus tiene poca superficie física, no cero: con media plantilla en remoto, el control físico relevante no es la puerta de la oficina, sino que el portátil de Iván esté cifrado y bloqueado en una cafetería de Valencia.
- Clasificación por función: de preventivo a compensatorio
Esta es la clasificación que de verdad cambia decisiones, porque describe en qué momento del incidente actúa el control.
| Función | Cuándo actúa | Qué hace | Ejemplo en Nimbus |
|---|---|---|---|
| Disuasorio | Antes | Desanima al atacante o al usuario descuidado | Aviso de sesión registrada en el bastión; banner de correo externo; comunicar que hay auditoría |
| Preventivo | Antes | Impide que ocurra | MFA FIDO2; grupo de seguridad cerrado; WHERE tenant_id; gestor de secretos; validación de entrada |
| Detectivo | Durante o después | Descubre que está ocurriendo u ocurrió | Alerta de volumen de salida anómalo; alerta de acceso administrativo fuera de ventana; tabla de auditoría append-only; escaneo externo mensual |
| Correctivo | Después | Repara el fallo y elimina la causa | Rotación de credenciales expuestas; parcheo con plazo; revocación de tokens por kid; reconstrucción del servidor |
| Recuperativo | Después | Devuelve el servicio y los datos | Restauración desde copia inmutable; conmutación a la región secundaria; procedimiento manual de emergencia |
| Compensatorio | Permanente | Sustituye a un control imposible de implantar | Revisión cruzada de cambios cuando no hay separación de funciones |
Dos precisiones sobre las que la gente se equivoca. La primera: disuasorio y preventivo no son lo mismo. Un cartel de «zona videovigilada» disuade; la cerradura previene. En sistemas, el aviso de que la sesión queda grabada disuade al técnico de la consultora de hacer lo que no debe, pero no se lo impide. La segunda: correctivo y recuperativo tampoco lo son. El correctivo elimina la causa —rotas la credencial filtrada—; el recuperativo devuelve el estado —restauras la base de datos—. Recuperar sin corregir te deja restaurando el mismo sistema una y otra vez para el mismo atacante.
- Por qué un riesgo necesita controles de varias funciones
Si solo previenes, no te enteras cuando la prevención falla. Y la prevención siempre falla alguna vez: esa es la premisa del principio «asume la brecha» de 01-03. Aplicado al incidente de ransomware de 02-06, el desglose por funciones muestra exactamente dónde estaba el agujero de Nimbus:
| Función | Control que debería haber existido | ¿Existía en 02-06? | Qué habría cambiado |
|---|---|---|---|
| Disuasorio | Aviso de sesión grabada al acceder la consultora | No | Poco; el atacante no era la consultora |
| Preventivo | MFA en el acceso de A-19; secretos en gestor, no en .env |
No | Habría impedido la entrada o cortado la escalada |
| Detectivo | Alerta de acceso fuera de ventana; alerta de 1,2 TB de salida | No | Detección el día 0 o el 13 en vez del día 20 |
| Correctivo | Rotación inmediata de credenciales; revocación de sesiones | No, porque nadie detectó nada | Habría expulsado al atacante |
| Recuperativo | Copias inmutables en cuenta separada, con restauración probada | No | Recuperación en horas en lugar de semanas |
| Compensatorio | Revisión cruzada del acceso privilegiado (solo hay una Lucía) | No | Habría cuestionado el acceso permanente |
Nimbus tenía cero controles en cinco de las seis funciones, y esa es la explicación completa de por qué un incidente evitable se convirtió en catastrófico. Fíjate en el patrón: cada función compra tiempo o daño distinto. La prevención evita el incidente; la detección reduce su duración —la variable que más determina el daño según la conclusión de 02-06—; la recuperación decide si la empresa sobrevive. De ahí la regla práctica: todo riesgo de banda Alta o Crítica del registro de 04-01 debe tener, como mínimo, un control preventivo, uno detectivo y uno recuperativo. Si al rellenar el catálogo una de esas tres casillas queda vacía para un riesgo Crítico, has encontrado tu siguiente tarea sin más análisis.
- Catálogos de referencia: CIS v8, ISO 27002 y NIST SP 800-53
Usar un catálogo en vez de inventar controles tiene tres ventajas: no se te olvidan categorías enteras, el vocabulario coincide con el de tus clientes y auditores, y cada control trae su justificación escrita. La desventaja es que ninguno está pensado para 38 personas, así que hay que seleccionar.
| Catálogo | Qué es | Cuándo usarlo |
|---|---|---|
| CIS Critical Security Controls v8 | 18 controles con ~153 salvaguardas, ordenados por prioridad y agrupados por grupos de implementación | La mejor opción para empezar en una PYME: te dice qué hacer primero |
| ISO/IEC 27002:2022 | 93 controles en cuatro temas (organizativos, personas, físicos, tecnológicos) con guía de implantación | Cuando persigues la certificación ISO 27001 o un cliente te la exige |
| NIST SP 800-53 | Más de 1.000 controles en 20 familias, muy exhaustivo | Contratación pública estadounidense o entornos muy regulados. Excesivo para Nimbus |
| Anexo A de ISO/IEC 27001 | La lista de referencia contra la que se justifica la aplicabilidad en una certificación | Solo si vas a certificarte (el detalle es de 06-02) |
Los grupos de implementación de CIS son la aportación más útil para una PYME:
| Grupo | Perfil | Salvaguardas | Aplicabilidad a Nimbus |
|---|---|---|---|
| IG1 | Organización pequeña, sin equipo de seguridad dedicado. Es la «higiene cibernética esencial» | ~56 | El objetivo realista y suficiente para este año |
| IG2 | Con equipo de seguridad y datos sensibles de varios clientes | +74 | Objetivo a 2-3 años, o antes si un cliente grande lo exige |
| IG3 | Expuesta a atacantes avanzados | +23 | No aplica |
Que Nimbus se marque IG1 completo es una decisión defendible, medible y alcanzable, y suena mucho mejor ante un cliente que «tenemos varias medidas». Sus 18 controles, con los que aplican a Nimbus destacados: inventario de activos (1) y de software (2), protección de datos (3), configuración segura (4), gestión de cuentas (5) y de accesos (6), gestión de vulnerabilidades (7), registros de auditoría (8), protecciones de correo y navegador (9), defensa contra malware (10), recuperación de datos (11), gestión de infraestructura de red (12), monitorización (13), formación y concienciación (14), gestión de proveedores (15), seguridad del software (16), gestión de incidentes (17) y pruebas de penetración (18).
Y una advertencia: el catálogo no sustituye a tu evaluación de riesgos. CIS ordena por lo que le pasa a la mayoría; tu registro ordena por lo que te pasa a ti. Parte del riesgo y usa el catálogo para no olvidar nada, no al revés.
- Cómo se selecciona un control, y el coste que todos olvidan
flowchart TB
R["1. Riesgo del registro (04-01)\nR-02 destruccion de copias"] --> B["2. Buscar en el catalogo\nCIS 11 - Recuperacion de datos"]
B --> E["3. Valorar EFICACIA\ncuanto reduce el residual\ny sobre que funcion actua"]
E --> C["4. Calcular COSTE TOTAL\nlicencia + implantacion +\nCARGA OPERATIVA ANUAL"]
C --> U["5. Impacto en el usuario\ny en la operacion"]
U --> D["6. Dependencias\nque necesita para funcionar"]
D --> S{"Residual < apetito\ncon coste asumible?"}
S -->|"Si"| I["Implantar y anadir\nal catalogo"]
S -->|"No"| A["Buscar alternativa,\ncompensar o ACEPTAR\nformalmente (04-01)"]
El paso 4 es donde se equivocan casi todas las PYMES, porque solo cuentan la licencia. El coste real de un control tiene cuatro sumandos:
| Sumando | Ejemplo: EDR gestionado en Nimbus |
|---|---|
| Adquisición | 9.600 €/año de licencias |
| Implantación | 20 horas de Lucía para desplegarlo en 40 portátiles |
| Carga operativa recurrente | 2-4 horas semanales atendiendo alertas ≈ 150 h/año |
| Coste de fricción | Falsos positivos que bloquean el trabajo de Iván |
Esas 150 horas anuales son un tercio de las 440 que Lucía tiene disponibles para seguridad. Ese es el coste que hunde los proyectos de seguridad en las PYMES: no el dinero, sino que la persona que tenía que hacer las otras once medidas se pasa el año leyendo alertas. La comparación honesta no es «9.600 € frente a 900 € del MFA», sino «9.600 € más un tercio de la capacidad del equipo, frente a 900 € más dos horas al mes». De ahí la regla derivada: prefiere el control que, una vez implantado, no consume tiempo. El MFA, el cierre de un grupo de seguridad, la inmutabilidad de un bucket o WHERE tenant_id son controles que trabajan solos. La revisión manual de registros o la aprobación caso por caso consumen atención para siempre, y la atención es el recurso más escaso de Nimbus.
- Controles compensatorios: legítimos y excusas
Un control compensatorio sustituye a un control exigido que no se puede implantar, proporcionando protección equivalente por otra vía. Es legítimo cuando la imposibilidad es real y está documentada, la protección alternativa es comparable en eficacia, está aprobada al nivel adecuado con caducidad —es una excepción de 04-02— y se verifica como cualquier otro control. El caso de Nimbus: la separación de funciones es imposible. El principio de 01-03 exige que quien desarrolla no despliegue en producción sin supervisión, y que quien administra los sistemas no sea la misma persona que revisa sus propios accesos. Con una única administradora de sistemas, eso no se puede cumplir: Lucía crea cuentas, se las asigna, revisa el registro y aprueba sus propios cambios.
| Control ideal (imposible) | Compensatorio adoptado | Eficacia comparable |
|---|---|---|
| Segunda persona de sistemas que revise los cambios de Lucía | Marta revisa mensualmente el registro de cambios privilegiados, aunque no sea técnica: puede ver qué se hizo y cuándo, y preguntar | Parcial pero real: introduce un segundo par de ojos |
| Aprobación por un tercero de las altas de acceso privilegiado | Toda alta privilegiada requiere aprobación de Marta y queda registrada | Alta |
| Segregación técnica entre desarrollo y despliegue | Despliegue solo por el CI, sin acceso manual a producción, con revisión obligatoria del código por otra persona | Alta: el pipeline actúa como tercero |
| Rotación de tareas del administrador | Retenedor con un proveedor externo que audita la configuración una vez al año | Baja, pero es lo viable |
Y el contraste, porque la mitad de los controles compensatorios que se ven en la práctica son excusas:
| Compensatorio legítimo | Excusa disfrazada |
|---|---|
| «No podemos parchear este sistema heredado en 7 días porque lo certifica el fabricante; lo aislamos en su propia red, restringimos su acceso y lo monitorizamos con alerta específica, con fecha de retirada en 12 meses» | «No podemos parchear porque da mucho trabajo; ya tenemos antivirus» |
| «No podemos usar MFA en esta integración automática; usamos credenciales de corta duración con ámbito mínimo y alerta ante uso desde IP no esperada» | «El MFA molesta al equipo; tenemos contraseñas largas» |
La diferencia es que el legítimo nombra la imposibilidad concreta, describe una protección específica y tiene fecha; la excusa invoca una molestia y ofrece un control genérico que ya existía de todas formas.
- El catálogo de controles de Nimbus
Segundo artefacto reutilizable del módulo. Plantilla de campos:
# PLANTILLA - catalogo de controles. Un bloque por control.
- id: "C-NN" # identificador estable
control: "" # que hace, en una frase
naturaleza: "" # Administrativo|Tecnico|Fisico
funcion: [] # Disuasorio|Preventivo|Detectivo|Correctivo|
# Recuperativo|Compensatorio (puede ser mas de una)
riesgos: [] # ids del registro de riesgos (04-01)
politica: "" # enunciado de 04-02 que lo exige
cis_ig1: "" # salvaguarda CIS v8 equivalente
propietario: "" # PERSONA
estado: "" # Planificado|En implantacion|Implantado|Degradado
evidencia: "" # QUE demuestra que funciona y donde se guarda
verificacion: "" # COMO se comprueba
frecuencia: "" # cada cuanto se verifica
ultima_verificacion: "YYYY-MM-DD"Cuatro controles desarrollados, uno de cada función principal:
- id: C-01
control: "MFA resistente al phishing (FIDO2) en todas las cuentas privilegiadas"
naturaleza: Tecnico
funcion: [Preventivo]
riesgos: [R-01, R-05]
politica: "POL-02 5.2.1"
cis_ig1: "6.3 / 6.4 - MFA en aplicaciones externas y accesos administrativos"
propietario: Lucia
estado: "En implantacion"
evidencia: "Informe mensual del proveedor de identidad: cuentas con y sin MFA"
verificacion: "Comparar la lista de cuentas privilegiadas con la de MFA activo"
frecuencia: Mensual
ultima_verificacion: 2026-03-01
- id: C-08
control: "Alerta de volumen de salida anomalo desde la cuenta cloud"
naturaleza: Tecnico
funcion: [Detectivo]
riesgos: [R-01, R-04]
politica: "POL-10 (respuesta a incidentes)"
cis_ig1: "8.2 / 13.x - recoleccion y revision de registros"
propietario: Lucia
estado: Planificado
evidencia: "Configuracion de la alerta + registro de disparos y de su atencion"
verificacion: "Prueba trimestral inyectando una transferencia de prueba"
frecuencia: Trimestral
ultima_verificacion: null # nunca verificado: no cuenta como implantado
- id: C-14
control: "Copias 3-2-1-1-0 con copia inmutable en cuenta separada"
naturaleza: Tecnico
funcion: [Recuperativo]
riesgos: [R-02, R-01]
politica: "POL-09"
cis_ig1: "11.2 / 11.3 - copias automatizadas y protegidas"
propietario: Lucia
estado: "En implantacion"
evidencia: "Informe de la prueba de restauracion con tiempo real medido (04-06)"
verificacion: "Restauracion completa a entorno aislado y verificacion de integridad"
frecuencia: Trimestral
ultima_verificacion: 2026-02-20
- id: C-21
control: "Revision mensual por Marta del registro de cambios privilegiados"
naturaleza: Administrativo
funcion: [Detectivo, Compensatorio]
riesgos: [R-09]
politica: "POL-02 5.3.3"
cis_ig1: "5.x / 8.x - gestion de cuentas y revision de registros"
propietario: Marta
estado: Implantado
evidencia: "Acta breve firmada con las anomalias revisadas"
verificacion: "Existencia del acta del mes y de su seguimiento"
frecuencia: Mensual
ultima_verificacion: 2026-03-05El resto del catálogo, en forma resumida:
| id | Control | Nat. | Función | Riesgos | CIS IG1 | Dueño | Estado |
|---|---|---|---|---|---|---|---|
| C-02 | Autenticación obligatoria en PostgreSQL y roles nimbus_api/nimbus_informes |
T | Prev. | R-03 | 6.x | Lucía | Implantado |
| C-03 | Acceso just-in-time de terceros, 8 h y revocación automática | T+A | Prev. | R-01 | 6.x | Marta | Planificado |
| C-04 | Grupos de seguridad cerrados: nada de 0.0.0.0/0 salvo 443 |
T | Prev. | R-03, R-07 | 4.x, 12.x | Lucía | En implantación |
| C-05 | Filtro WHERE tenant_id y RLS en PostgreSQL |
T | Prev. | R-04 | 3.3 | Iván | Implantado |
| C-06 | URL firmadas de 120 s para adjuntos | T | Prev. | R-04 | 3.3 | Iván | Implantado |
| C-07 | Tabla de auditoría append-only con retención de 12 meses | T | Detect. | R-04, R-01 | 8.2 | Iván | Implantado |
| C-09 | Alerta de acceso administrativo fuera de ventana pactada | T | Detect. | R-01 | 8.x | Lucía | Planificado |
| C-10 | Escaneo externo mensual de la superficie expuesta | T | Detect. | R-07, R-03 | 7.x | Lucía | Planificado |
| C-11 | Cifrado de disco en los 40 portátiles con custodia de claves | T | Prev. | R-08 | 3.6 | Lucía | En implantación |
| C-12 | Gestor de secretos y escáner de secretos bloqueante en el CI | T | Prev.+Detect. | R-06 | 16.x | Iván | Planificado |
| C-13 | SPF -all, DKIM y DMARC p=reject + banner de correo externo |
T | Prev.+Disuas. | R-05 | 9.x | Lucía | En implantación |
| C-15 | Verificación de pagos y de identidad por canal alternativo | A | Prev. | R-05 | 14.x | Sara | Implantado |
| C-16 | Gestión de parches con plazo: 7 días para críticas | A+T | Correct. | R-03, R-07 | 7.3, 7.4 | Lucía | En implantación |
| C-17 | Runbooks operativos y de respuesta documentados | A | Recup. | R-09 | 17.x | Lucía | En implantación |
| C-18 | Recertificación semestral de accesos privilegiados | A | Detect.+Correct. | R-01, R-06 | 5.x, 6.x | Marta | Planificado |
| C-19 | Copia diaria replicada a región secundaria | T | Recup. | R-10, R-02 | 11.x | Lucía | Implantado |
| C-20 | Formación anual y simulacro de phishing (06-05) | A | Prev.+Disuas. | R-05 | 14.x | Sara | Planificado |
| C-22 | Revisión trimestral de accesos y contratos de terceros (04-04) | A | Detect. | R-01 | 15.x | Marta | Planificado |
Tres lecturas del catálogo en conjunto, que es donde está su valor. Primera: contando estados, solo 7 de los 22 controles están implantados, así que cualquier riesgo residual del registro de 04-01 que asuma los otros 15 está mal calculado —recuerda la regla de 04-01: el residual se puntúa sobre el estado verificado—. Segunda: hay 8 controles con función detectiva y solo 2 implantados (C-07 y C-21), que es exactamente la ceguera que produjo los 20 días de 02-06. Tercera: los controles administrativos son casi todos gratuitos y están casi todos «planificados», lo que confirma la conclusión de 02-04 de que a Nimbus no le falta presupuesto, le falta tiempo asignado.
- Implantado no es eficaz: evidencias, pruebas y métricas
| Control implantado | Control eficaz | |
|---|---|---|
| Qué significa | Está configurado | Está configurado, cubre todo su alcance y sigue funcionando hoy |
| Cómo se sabe | Alguien lo hizo | Hay evidencia con fecha y una verificación reciente |
| Ejemplo | «Activamos el MFA» | «El 100 % de las 14 cuentas privilegiadas tiene MFA, comprobado el 1 de marzo» |
| Fallo típico | Cobertura parcial que nadie mide | — |
La diferencia no es académica: el MFA activado en 9 de 14 cuentas privilegiadas no reduce el riesgo un 64 %, lo reduce casi nada, porque el atacante irá a una de las 5 restantes. Los controles se miden por cobertura, no por existencia.
9.1 Evidencias y pruebas
Una evidencia es algo que se puede enseñar y que tiene fecha: la exportación de la lista de cuentas con MFA, el informe de la prueba de restauración, el acta de la revisión mensual. Una prueba es el ejercicio deliberado de comprobar que el control actúa: inyectar una transferencia grande para ver si salta C-08, o restaurar de verdad la base de datos para ver si C-14 funciona y cuánto tarda. De ahí la regla que resume el apartado: un control que nunca ha sido probado está en estado «planificado», digan lo que digan sus responsables, y por eso C-08 figura con ultima_verificacion: null.
9.2 Métricas: KPI y KRI
Un KPI mide si el control funciona; un KRI avisa de que el riesgo está creciendo. Los cuatro indicadores mínimos de Nimbus:
| Indicador | Tipo | Fórmula | Objetivo | Control |
|---|---|---|---|---|
| % de cuentas privilegiadas con MFA | KPI | con MFA / privilegiadas | 100 % | C-01 |
| % de endpoints con disco cifrado | KPI | cifrados / portátiles activos | ≥ 98 % | C-11 |
| Tiempo medio de parcheo de críticas | KRI | media de (parche − publicación) | ≤ 7 días | C-16 |
| Edad de la última prueba de restauración | KRI | hoy − última prueba con éxito | ≤ 90 días | C-14 |
# metricas_controles.py - Calculo de los cuatro indicadores minimos de Nimbus
# a partir de los datos del inventario. Datos ficticios.
from datetime import date
HOY = date(2026, 3, 15)
CUENTAS_PRIV = [ # (id, tiene_mfa)
("lucia", True), ("marta", True), ("ivan", True), ("ci-deploy", False),
("consultora-01", False), ("root-cloud", True), ("backup-svc", False),
]
PORTATILES = [ # (id, cifrado, activo)
*[(f"NB-{i:02d}", True, True) for i in range(1, 37)],
("NB-37", False, True), ("NB-38", False, True),
("NB-39", True, False), # dado de baja: NO cuenta en el denominador
("NB-40", False, True),
]
VULN_CRITICAS = [ # (cve, publicacion, fecha_parche)
("CVE-2026-1001", date(2026, 1, 10), date(2026, 1, 14)), # 4 dias
("CVE-2026-1042", date(2026, 1, 28), date(2026, 2, 11)), # 14 dias
("CVE-2026-1077", date(2026, 2, 20), date(2026, 2, 24)), # 4 dias
]
ULTIMA_RESTAURACION_OK = date(2026, 2, 20)
def pct(parte, total):
return 0.0 if total == 0 else round(parte / total * 100, 1)
# KPI 1 - cobertura de MFA. Se mide sobre TODAS las cuentas privilegiadas,
# incluidas las de servicio y las de terceros: son las que usa el atacante.
con_mfa = sum(1 for _, mfa in CUENTAS_PRIV if mfa)
kpi_mfa = pct(con_mfa, len(CUENTAS_PRIV))
# KPI 2 - cobertura de cifrado. El denominador son los equipos ACTIVOS.
activos = [p for p in PORTATILES if p[2]]
cifrados = [p for p in activos if p[1]]
kpi_cifrado = pct(len(cifrados), len(activos))
# KRI 1 - tiempo medio de parcheo de vulnerabilidades criticas.
dias = [(parche - publi).days for _, publi, parche in VULN_CRITICAS]
kri_parcheo = round(sum(dias) / len(dias), 1)
# KRI 2 - antiguedad de la ultima prueba de restauracion con exito.
kri_restauracion = (HOY - ULTIMA_RESTAURACION_OK).days
def semaforo(valor, objetivo, mayor_es_mejor):
ok = valor >= objetivo if mayor_es_mejor else valor <= objetivo
return "OK" if ok else "FUERA DE OBJETIVO"
print(f"C-01 MFA en cuentas privilegiadas : {kpi_mfa:>5} % "
f"(objetivo 100 %) {semaforo(kpi_mfa, 100, True)}")
print(f"C-11 Endpoints cifrados : {kpi_cifrado:>5} % "
f"(objetivo 98 %) {semaforo(kpi_cifrado, 98, True)}")
print(f"C-16 Parcheo medio de criticas : {kri_parcheo:>5} d "
f"(objetivo 7 d) {semaforo(kri_parcheo, 7, False)}")
print(f"C-14 Edad de ultima restauracion : {kri_restauracion:>5} d "
f"(objetivo 90 d) {semaforo(kri_restauracion, 90, False)}")C-01 MFA en cuentas privilegiadas : 57.1 % (objetivo 100 %) FUERA DE OBJETIVO
C-11 Endpoints cifrados : 92.3 % (objetivo 98 %) FUERA DE OBJETIVO
C-16 Parcheo medio de criticas : 7.3 d (objetivo 7 d) FUERA DE OBJETIVO
C-14 Edad de ultima restauracion : 23 d (objetivo 90 d) OKTres detalles del código que son decisiones de medición, no de programación. El denominador del cifrado excluye los equipos dados de baja, porque incluirlos maquilla el indicador —y elegir el denominador es donde se falsean casi todas las métricas de seguridad—. El MFA se mide incluyendo cuentas de servicio y de terceros: son precisamente ci-deploy, consultora-01 y backup-svc las que faltan, o sea, exactamente el vector de 02-06. Y el parcheo usa la media, que oculta el caso de 14 días; en un panel real conviene acompañarla del percentil 90 o del peor caso, porque el atacante explota el peor caso, no la media.
9.3 Verificar un control detectivo con SQL
La tabla de auditoría append-only de los módulos anteriores permite comprobar que C-07 sigue registrando lo que debe:
-- 1) ¿Sigue vivo el control? Ausencia de eventos = fallo silencioso del registro.
SELECT date_trunc('day', ts) AS dia,
count(*) AS eventos,
count(DISTINCT usuario_id) AS usuarios
FROM auditoria
WHERE ts >= now() - interval '14 days'
GROUP BY 1 ORDER BY 1;
-- Un dia con 0 eventos en una plataforma con 40 clinicas activas NO significa
-- que no pasara nada: significa que el registro dejo de escribir.
-- 2) KRI de exfiltracion: usuarios que piden muchas URL de adjuntos distintos.
SELECT usuario_id, tenant_id, count(DISTINCT adjunto_id) AS adjuntos,
min(ts) AS desde, max(ts) AS hasta
FROM auditoria
WHERE evento = 'adjunto.url_emitida'
AND ts >= now() - interval '24 hours'
GROUP BY usuario_id, tenant_id
HAVING count(DISTINCT adjunto_id) > 50 -- umbral calibrado con el uso real
ORDER BY adjuntos DESC;
-- 3) Cobertura del control: ¿que endpoints criticos NO estan registrando?
SELECT e.endpoint
FROM endpoints_criticos e
LEFT JOIN (SELECT DISTINCT evento FROM auditoria
WHERE ts >= now() - interval '30 days') a
ON a.evento = e.evento_esperado
WHERE a.evento IS NULL;La primera consulta es la más importante y la que casi nadie escribe: vigila el vigilante. Un control detectivo que deja de emitir eventos falla en silencio, y el silencio se interpreta como calma. La tercera mide la cobertura del control, que es la diferencia entre implantado y eficaz aplicada al registro.
- La matriz de trazabilidad riesgo → control → evidencia
| Riesgo | Banda | Controles (P / D / R) | Evidencia | Última verificación | Hueco |
|---|---|---|---|---|---|
| R-01 Ransomware por tercero | Crítico | C-01, C-03 / C-08, C-09 / C-14 | Informe MFA; registro de alertas; informe de restauración | 2026-03-01 | C-03, C-08, C-09 planificados |
| R-02 Destrucción de copias | Alto | — / — / C-14, C-19 | Informe de restauración trimestral | 2026-02-20 | Sin control detectivo |
| R-03 PostgreSQL expuesto | Crítico | C-02, C-04 / C-10 / — | Exportación de grupos de seguridad; informe de escaneo | 2026-03-10 | Sin recuperativo (aceptable) |
| R-04 Fuga de adjuntos | Alto | C-05, C-06 / C-07 / — | Pruebas del CI; consulta SQL de auditoría | 2026-03-12 | — |
| R-05 Fraude BEC | Alto | C-13, C-15 / — / — | Informe DMARC; procedimiento firmado | 2026-02-28 | Sin detectivo ni recuperativo |
| R-06 Secretos expuestos | Crítico | C-12 / C-12 / — | Salida del escáner en el CI | — | Nunca verificado |
| R-08 Portátil perdido | Medio | C-11 / — / — | Informe de cifrado del parque | 2026-03-15 | — |
| R-09 Única persona de sistemas | Medio | C-17 / C-21 / C-17 | Actas de revisión; runbooks | 2026-03-05 | — |
Esta tabla es lo que se enseña en una auditoría, y es lo que la salva (06-04). No porque impresione, sino porque responde en un folio a las tres preguntas que hace cualquier auditor o cliente: qué riesgos has identificado, qué haces sobre cada uno y cómo lo demuestras. Léela también como herramienta de diagnóstico. La columna «Hueco» se rellena sola aplicando la regla del apartado 4 —preventivo, detectivo y recuperativo para todo riesgo Alto o Crítico— y produce la lista de trabajo del trimestre sin ninguna discusión adicional: R-02 no tiene forma de enterarse de que están borrando las copias, R-05 no tiene forma de saber que alguien ha caído en un fraude, y R-06 tiene un control que nadie ha probado nunca.
- Deriva de controles: por qué se degradan solos
Un control implantado y verificado hoy no seguirá funcionando dentro de un año si nadie lo mira. No hace falta un atacante: basta con la actividad normal de la empresa.
| Causa de deriva | Ejemplo en Nimbus | Detección |
|---|---|---|
| Crecimiento | Se contratan 4 personas y nadie les activa el MFA: la cobertura baja del 100 % al 78 % | KPI mensual de cobertura |
| Cambio técnico | Se migra el clúster y el nuevo grupo de seguridad vuelve a abrir 5432 | Escaneo externo mensual (C-10) |
| Excepción olvidada | Una excepción de 90 días que nadie revocó (el caso de la consultora) | Revisión mensual del registro de excepciones |
| Rotación de personas | Se va quien revisaba las alertas y nadie hereda la tarea | Propietario nominal en el catálogo |
| Fatiga | La alerta genera 40 falsos positivos al día y se silencia | KPI de alertas atendidas |
| Fallo silencioso | El agente de copias deja de ejecutarse y nadie recibe error | Consulta 1 del apartado 9.3 |
La conclusión número 2 de los casos de estudio de 02-06 decía que en casi todos los incidentes el control existía y no funcionó: Target tenía alertas, Equifax tenía inspección de tráfico, Colonial tenía VPN. La deriva es el mecanismo por el que eso ocurre, y el antídoto es el campo frecuencia del catálogo. Un control sin frecuencia de verificación no es un control: es un recuerdo de haber hecho algo.
Errores Comunes y Consejos
- Confundir herramienta con control. Comprar un EDR no es tener defensa contra malware; es tener una licencia. Consejo: define cada control por el resultado observable, no por el producto.
- Implantar sin propietario. Los controles huérfanos son los primeros en derivar. Consejo: el campo
propietarioes una persona, y si no hay candidato, el control no está listo para implantarse. - Puntuar el riesgo residual con controles no verificados. Es el enlace directo con el error equivalente de 04-01. Consejo:
estado: Implantadoexigeultima_verificacioncon fecha. - Acumular solo controles preventivos. Es la desproporción de Nimbus, con 8 controles detectivos de los que solo 2 están implantados, y la causa de los 20 días de ceguera de 02-06. Consejo: revisa el catálogo por función, no por riesgo.
- Olvidar la carga operativa. Un control que consume 150 horas al año se abandona en el mes cuatro y queda en el catálogo como implantado. Consejo: incluye el coste recurrente en la decisión y prefiere lo que trabaja solo.
- Métricas con denominador conveniente. Medir el cifrado sobre «los portátiles que gestionamos» en vez de sobre todos es maquillaje. Consejo: define el denominador antes de calcular el numerador, y déjalo escrito.
- Confundir cumplir el catálogo con estar seguro. Cubrir IG1 completo es excelente y no significa que tu riesgo principal esté tratado. Consejo: el catálogo evita olvidos; el registro de riesgos ordena prioridades.
- Controles compensatorios sin caducidad. Un compensatorio permanente es una excepción permanente. Consejo: aplica las mismas reglas del registro de excepciones de 04-02.
Ejercicios
Ejercicio 1 — Clasificar y completar por función
Para cada control, indica su naturaleza y su función principal, y di qué riesgo del registro de 04-01 trata:
- Banner que marca los correos procedentes del exterior.
- Restauración de la base de datos desde la copia inmutable.
- Revisión semestral en la que cada responsable confirma los accesos de su equipo.
- Bloqueo automático de la fusión de código si el escáner encuentra un secreto.
- Rotación inmediata de una clave API publicada por error en el repositorio.
- Alerta cuando una cuenta administrativa accede fuera de la ventana 08:00-20:00.
Después, toma el riesgo R-05 (fraude BEC) y propón el control detectivo y el recuperativo que le faltan según la matriz del apartado 10.
Ejercicio 2 — Decidir entre dos controles con coste total
Nimbus duda entre dos inversiones para tratar R-04 (fuga de adjuntos):
| Opción A: DLP comercial | Opción B: pruebas de autorización en el CI + alerta SQL | |
|---|---|---|
| Licencia anual | 7.200 € | 0 € |
| Implantación | 15 h de Lucía | 40 h de Iván |
| Carga operativa | 3 h/semana revisando alertas | 1 h/mes ajustando umbrales |
| Reducción estimada del ALE de R-04 (19.200 €) | 45 % | 60 % |
Calcula el coste total anual de cada opción valorando la hora interna en 35 €, calcula el ROSI de cada una con el método de 04-01 y recomienda una. Indica además qué función cubre cada opción y si con ella R-04 cumpliría la regla del apartado 4.
Ejercicio 3 — Diagnosticar un catálogo
Revisas el catálogo de controles de otra empresa y encuentras: 34 controles, todos con estado: Implantado; ninguno tiene ultima_verificacion; 28 son preventivos, 6 detectivos, 0 recuperativos; el propietario de 30 de ellos es «IT»; y hay 4 controles compensatorios sin caducidad, uno de ellos justificado con «el fabricante no soporta MFA». Indica qué revela cada síntoma, qué preguntarías para confirmarlo y en qué orden lo corregirías.
Soluciones
Ejercicio 1
| # | Naturaleza | Función | Riesgo |
|---|---|---|---|
| 1 | Técnico | Disuasorio (avisa, no impide) | R-05 |
| 2 | Técnico | Recuperativo | R-02, R-01 |
| 3 | Administrativo | Detectivo y correctivo (detecta el permiso sobrante y lo retira) | R-01, R-06 |
| 4 | Técnico | Preventivo (bloquea antes de que el secreto llegue a la rama) | R-06 |
| 5 | Técnico + administrativo | Correctivo | R-06 |
| 6 | Técnico | Detectivo | R-01 |
Fíjate en el 3: es el ejemplo típico de control con dos funciones, y por eso el campo funcion del catálogo es una lista. Y en el 1: mucha gente lo clasificaría como preventivo, pero el banner no impide nada —el usuario puede hacer clic igualmente—; su efecto es cambiar el comportamiento, que es la definición de disuasorio.
Para R-05 faltan: un control detectivo —alerta automática ante cualquier modificación de datos bancarios de un proveedor o cliente en el sistema de facturación, más la revisión mensual por Sara de los cambios de cuenta bancaria— y uno recuperativo: procedimiento documentado de recuperación de una transferencia fraudulenta, con el contacto directo del banco, el plazo real de reclamación y la denuncia, todo ello escrito antes de necesitarlo. Este último es de coste nulo y es exactamente el tipo de control que nadie tiene hasta el día que le hace falta.
Ejercicio 2
Coste total anual:
- Opción A: 7.200 € + (15 h × 35 €) = 7.725 € el primer año; recurrente = 7.200 € + (3 h/semana × 48 semanas × 35 €) = 7.200 + 5.040 = 12.240 €/año.
- Opción B: (40 h × 35 €) = 1.400 € el primer año; recurrente = (12 h × 35 €) = 420 €/año.
ROSI sobre el ALE de 19.200 €, usando el coste recurrente:
- A: ahorro = 19.200 × 0,45 = 8.640 €. ROSI = (8.640 − 12.240) / 12.240 × 100 = −29 %. El control cuesta más de lo que ahorra.
- B: ahorro = 19.200 × 0,60 = 11.520 €. ROSI = (11.520 − 420) / 420 × 100 = +2.643 %.
Recomendación: opción B, y el margen es tan grande que ninguna corrección razonable de las estimaciones lo cambia. Observa dónde está la diferencia: no en la licencia, sino en las 3 horas semanales de la opción A, que suman 5.040 € anuales de tiempo de Lucía —y, lo que es peor, 144 horas de sus 440 disponibles—. Es exactamente el error del apartado 6.
Funciones: la opción A es principalmente detectiva (ve la salida de datos y avisa); la opción B es mixta, porque las pruebas de autorización en el CI son preventivas y la alerta SQL sobre la tabla de auditoría es detectiva. Con B, R-04 tendría preventivo (C-05, C-06 y las nuevas pruebas) y detectivo (C-07 más la alerta), pero seguiría sin control recuperativo, y en una fuga de datos el recuperativo no es restaurar nada: es el plan de respuesta y notificación de 04-05. Así que la respuesta completa es «B, y además hay que escribir el procedimiento de notificación».
Ejercicio 3
| Síntoma | Qué revela | Pregunta de confirmación | Prioridad |
|---|---|---|---|
34 de 34 «Implantado» y ninguno con ultima_verificacion |
El estado es una declaración de intenciones, no un hecho. No se puede distinguir implantado de eficaz | «Enséñame la evidencia del control número 12 con fecha de este trimestre» | 1 |
| 0 controles recuperativos | Si un incidente ocurre, no hay nada previsto. Es el perfil de Nimbus antes de 02-06 | «¿Cuándo fue la última restauración probada y cuánto tardó?» | 2 |
| Solo 6 detectivos frente a 28 preventivos | Ceguera: cuando la prevención falle, nadie se enterará | «¿Qué alerta se disparó la última vez y quién la atendió?» | 3 |
| Propietario «IT» en 30 controles | Controles huérfanos, candidatos seguros a la deriva | «¿Quién, con nombre, verificó el control 7 la última vez?» | 4 |
| 4 compensatorios sin caducidad | Excepciones permanentes disfrazadas de control | «¿Qué fecha de retirada tiene el sistema que no soporta MFA?» | 5 |
Orden de corrección: 1 → 2 → 3 → 4 → 5. Primero verifica una muestra, porque hasta que no sepas qué es cierto todo lo demás es especulación —y probablemente descubras que varios «implantados» no existen—. Después cubre la recuperación, que es lo que decide si la empresa sobrevive a un incidente. Luego la detección, que reduce su duración. Después asigna propietarios, sin los cuales lo anterior derivará en un año. Y por último, formaliza los compensatorios con caducidad. Sobre el que dice «el fabricante no soporta MFA»: puede ser legítimo, pero solo si va acompañado de credenciales de corta duración con ámbito mínimo, alerta ante uso anómalo y fecha de sustitución del sistema; sin eso, es la excusa del apartado 7.
Conclusión
Has cerrado el triángulo. Sabes que un control es una medida concreta, con propietario, que reduce probabilidad o impacto y cuyo funcionamiento se puede comprobar, y que sin esos tres elementos a la vez lo que tienes es decoración. Sabes también distinguir control de herramienta: un antivirus es una licencia; «malware contenido con alerta atendida en menos de 4 horas» es un control.
Dominas las dos clasificaciones. Por naturaleza —administrativo, técnico y físico—, con la observación de que los administrativos suelen ser gratis, son los que más se olvidan y son los que sostienen a los técnicos. Y por función —disuasorio, preventivo, detectivo, correctivo, recuperativo y compensatorio—, con las dos distinciones que casi todos confunden: disuadir no es impedir, y corregir la causa no es recuperar el estado. De ahí la regla que reorganiza el trabajo de Nimbus: todo riesgo Alto o Crítico necesita al menos un preventivo, un detectivo y un recuperativo, porque cada función compra algo distinto —evitar el incidente, acortar su duración o sobrevivir a él— y porque el desglose del ransomware de 02-06 mostró cero controles en cinco de las seis funciones.
Conoces los catálogos de referencia y para qué sirve usar uno: CIS v8 con sus grupos de implementación y IG1 como objetivo realista y suficiente para Nimbus este año; ISO 27002 con sus cuatro temas cuando aparece la certificación; NIST SP 800-53 como opción desproporcionada para una PYME. Y la advertencia que los acompaña: el catálogo evita olvidos, pero es tu registro de riesgos el que ordena prioridades. Sabes seleccionar un control valorando eficacia, impacto en el usuario, dependencias y sobre todo coste total, incluida la carga operativa recurrente que es lo que de verdad hunde los proyectos de seguridad en una PYME: 150 horas anuales de alertas son un tercio de la capacidad de Lucía. De ahí la preferencia por los controles que, una vez puestos, trabajan solos. Y sabes cuándo un compensatorio es legítimo —imposibilidad real, protección comparable, aprobación con caducidad y verificación— y cuándo es una excusa, con el caso honesto de Nimbus: la separación de funciones es imposible con una sola administradora, y se compensa con revisión mensual de Marta, aprobación de altas privilegiadas, despliegue exclusivo por el CI y auditoría externa anual.
Te llevas el catálogo de controles de Nimbus con sus 22 entradas mapeadas a CIS IG1, cuyas tres lecturas de conjunto valen más que cualquier entrada suelta: solo 7 están implantados, de los 8 detectivos solo 2 lo están, y los administrativos son gratis y están casi todos pendientes. Y te llevas la distinción decisiva entre control implantado y control eficaz, con sus métricas calculadas —57 % de MFA, 92 % de cifrado, 7,3 días de parcheo, 23 días desde la última restauración—, con las tres decisiones de medición que esconde el código (el denominador honesto, incluir las cuentas de servicio que son justo el vector de 02-06, y que la media de parcheo oculta el peor caso que es el que explota el atacante), y con la consulta SQL que vigila al vigilante, porque un control detectivo que deja de emitir eventos falla en silencio y el silencio se lee como calma. Cierran la lección la matriz de trazabilidad riesgo → control → evidencia, que es lo que se enseña y lo que salva una auditoría porque responde en un folio a las tres preguntas de cualquier auditor, y la deriva: un control implantado se degrada solo por crecimiento, cambio técnico, excepciones olvidadas, rotación, fatiga o fallo silencioso, y el único antídoto es la frecuencia de verificación.
Pero repasa el catálogo una vez más y verás que hay controles cuya eficacia no depende de Nimbus. C-03 exige acceso just-in-time a una consultora que tiene sus propios procesos y su propia seguridad. C-19 replica copias a una región de un proveedor cuyas decisiones nadie de Nimbus controla. El código que despliega el CI arrastra cientos de dependencias escritas por desconocidos. Y el vector del incidente de 02-06 no fue un fallo de Nimbus: fue una brecha en la consultora que Nimbus ni siquiera llegó a conocer.
En la siguiente lección, Riesgo de Terceros y Cadena de Suministro (04-04), verás por qué el perímetro incluye empresas que no controlas y por qué se puede externalizar la ejecución pero nunca la responsabilidad: el mapa de terceros de Nimbus, el regreso de la consultora de 02-06 con el análisis completo de lo que debería haber existido y su coste real, el ciclo de vida del proveedor incluida la fase de salida que todo el mundo olvida, un cuestionario de diligencia debida proporcionado al tamaño del proveedor, las cláusulas contractuales imprescindibles, el modelo de responsabilidad compartida en la nube y la cadena de suministro de software con SBOM y fijación de dependencias.
Curso de Fundamentos de Seguridad Informática
Módulo 1: Introducción a la Seguridad Informática
- Conceptos Básicos de Seguridad Informática
- Tipos de Amenazas y Vulnerabilidades
- Principios de la Seguridad Informática
- Activos, Superficie de Ataque y Actores de Amenaza
Módulo 2: Ciberseguridad
- Definición y Alcance de la Ciberseguridad
- Tipos de Ataques Cibernéticos
- Ingeniería Social y Phishing
- Medidas de Protección en Ciberseguridad
- Identidad, Autenticación y Control de Acceso
- Casos de Estudio de Incidentes de Ciberseguridad
Módulo 3: Criptografía
- Introducción a la Criptografía
- Criptografía Simétrica
- Criptografía Asimétrica
- Funciones Hash, HMAC y Almacenamiento de Contraseñas
- Protocolos Criptográficos
- Gestión de Claves, Certificados y PKI
- Aplicaciones de la Criptografía
Módulo 4: Gestión de Riesgos y Medidas de Protección
- Evaluación de Riesgos
- Políticas de Seguridad
- Controles de Seguridad
- Riesgo de Terceros y Cadena de Suministro
- Plan de Respuesta a Incidentes
- Recuperación ante Desastres y Continuidad de Negocio
Módulo 5: Herramientas y Técnicas de Seguridad
- Herramientas de Análisis de Vulnerabilidades
- Técnicas de Monitoreo y Detección
- Pruebas de Penetración
- Seguridad en Redes
- Seguridad en Aplicaciones
- Hardening de Sistemas y Seguridad del Endpoint
- Seguridad en la Nube y en Contenedores
Módulo 6: Buenas Prácticas y Normativas
- Buenas Prácticas en Seguridad Informática
- Normativas y Estándares de Seguridad
- Protección de Datos Personales y RGPD en la Práctica
- Cumplimiento y Auditoría
- Formación y Concienciación
- Ética, Aspectos Legales y Divulgación Responsable
