Mapa de la lección
Lección 06 publicada. Mapa, ejemplo, EX026.
flowchart TD
N0["Resultados de aprendizaje y conexión"]
N1["6.1 Funciones"]
N2["6.2 RACI"]
N3["6.3 Gobernanza de cambios en TI y TO"]
N4["6.4 Escalado"]
N5["6.6 Actividad práctica"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX026"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje y conexión"]
N1["6.1 Funciones"]
N2["6.2 RACI"]
N3["6.3 Gobernanza de cambios en TI y TO"]
N4["6.4 Escalado"]
N5["6.6 Actividad práctica"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX026"]
[Resultados de aprendizaje y conexión]
|
v
[6.1 Funciones]
|
v
[6.2 RACI]
|
v
[6.3 Gobernanza de cambios en TI y TO]
|
v
[6.4 Escalado]
|
v
[6.6 Actividad práctica]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX026]
Resultados de aprendizaje y conexión
Al terminar este capítulo debería ser capaz de:
- definir las funciones que necesita un programa de seguridad de infraestructuras críticas y cómo se relacionan con las operaciones;
- construir y comprobar una matriz RACI para que cada actividad clave tenga exactamente una persona que rinde cuentas y un responsable principal claro;
- gobernar los cambios en TI y TO sin bloquear las operaciones ni saltarse la seguridad de las personas;
- diseñar una vía de escalado, desde un operador de turno hasta la dirección, que funcione a las 03:00 de un domingo.
El capítulo 5 le dio las varas de medir. Este capítulo hace que el programa funcione en el día a día.
6.1 Funciones
Con el tamaño de Kestrel Water, las funciones siguientes pueden repartirse entre un puñado de personas. Lo que importa es que cada una esté asignada:
- Patrocinador ejecutivo (director de operaciones): es dueño del programa, acepta los riesgos altos y resuelve los conflictos entre departamentos.
- Dueños de servicio (el jefe de operaciones para el tratamiento y las estaciones; el responsable de atención al cliente para la facturación): son dueños de los riesgos y las decisiones de sus servicios.
- Coordinador: conduce el ciclo: registro, registros de decisión, ejercicios, informes, revisiones de proveedores.
- Responsable de seguridad: asesoramiento técnico de seguridad y enlace de supervisión con el KVROC.
- Ingeniero de sistemas de control: configuración y cambios en los sistemas operativos de la planta.
- Responsable de comunicación: mensajes públicos y a los medios.
- Responsable del incidente (rotatorio, de guardia): dirige la respuesta cuando se declara un incidente.
- Proveedores: trabajan con autorización; nunca son dueños de decisiones sobre su servicio.
La orientación del NIST sobre respuesta a incidentes insiste en definir las funciones y responsabilidades, incluidas las de fuera del equipo de seguridad, antes de que ocurran los incidentes (NIST SP 800-61 Rev. 3).
6.2 RACI
Una matriz RACI enumera actividades frente a personas, con una letra para cada una: R (Responsible, ejecuta el trabajo), A (Accountable, responde del resultado y lo da por bueno; exactamente una por actividad), C (Consulted, aportación en ambos sentidos antes de la decisión), I (Informed, se le informa después). Dos reglas detectan la mayoría de los defectos:
- Exactamente una A por actividad. Cero significa que nadie responde; dos significa que cada uno da por hecho que lo hará el otro.
- Al menos una R y, cuando hay varias, un responsable principal con nombre.
Añada dos comprobaciones de coordinador: nadie debe rendir cuentas de la aprobación de su propio acceso o trabajo; y nadie debe acumular tantas entradas R y A en un incidente que se convierta en un cuello de botella.
6.3 Gobernanza de cambios en TI y TO
Los cambios en los sistemas operativos de la planta pueden afectar al proceso físico. Un proceso de cambios practicable para una empresa de servicios pequeña tiene tres clases:
- Estándar: preaprobado, de bajo riesgo y repetible (sustituir un teclado de operador averiado): se registra.
- Normal: evaluado y aprobado por el dueño del servicio, con un plan de prueba o de reversión y una ventana acordada con operaciones.
- De emergencia: necesario ahora para proteger a las personas o el servicio; aprobado verbalmente por el responsable del incidente o el dueño del servicio, registrado en las 24 horas siguientes y revisado después.
Al coordinador le interesa que los cambios relevantes para la seguridad (nuevos accesos remotos, cambios de reglas del cortafuegos, nuevos proveedores, software en los ordenadores de la sala de control) no puedan colarse como «estándar», y que los cambios de emergencia hechos durante los incidentes se revisen en lugar de volverse permanentes.
6.4 Escalado
Una vía de escalado responde, para cada nivel de gravedad: a quién se llama, quién llama, cómo, en cuánto tiempo y qué ocurre si no contesta. Escríbala como una tabla con suplentes, pruébela (capítulo 11) y colóquela donde los operadores del turno de noche puedan encontrarla sin un ordenador (una tarjeta impresa en la sala de control), porque el incidente podría haberse llevado los ordenadores. La tarjeta de Kestrel Water enumera al responsable del incidente, al jefe de operaciones y a la responsable de seguridad, con un suplente con nombre para cada uno, además de números de móvil que no dependen de la red corporativa.
6.5 Ejemplo resuelto: comprobar la RACI de incidentes (sintético)
La coordinadora redacta la RACI de incidentes de Kestrel Water y ejecuta el Lab 6, que aplica las reglas de 6.2. Lab 6 (guárdelo como lab06.py y ejecútelo con python3 lab06.py):
# Lab 6 - RACI matrix check for incident coordination (offline, standard library only; synthetic)
PEOPLE = ["Coordinator", "Ops manager", "Security lead", "Comms", "Vendor", "CEO"]
# activity -> one letter per person (R responsible, A accountable, C consulted, I informed, - none)
RACI = {
"Declare cyber incident": "R A C I - I",
"Decide to isolate stations": "C A R I C I",
"Switch stations to manual operation":"I A - - - I",
"Notify regulator": "R - C C - A",
"Brief hospital (critical customer)":"R C I R - A",
"Approve vendor remote session": "C A A - R -",
"Public statement": "C C C R - -",
}
issues = []
load = {p: 0 for p in PEOPLE}
for act, codes in RACI.items():
c = codes.split()
assert len(c) == len(PEOPLE), act
a = [p for p, x in zip(PEOPLE, c) if x == "A"]
r = [p for p, x in zip(PEOPLE, c) if x == "R"]
for p, x in zip(PEOPLE, c):
if x in "RA": load[p] += 1
if len(a) != 1: issues.append(f"{act}: {len(a)} accountable ({', '.join(a) or 'none'})")
if not r: issues.append(f"{act}: nobody responsible")
if len(r) > 1: issues.append(f"{act}: {len(r)} responsible ({', '.join(r)}) - name a lead")
if act.startswith("Approve") and c[PEOPLE.index("Vendor")] in "RA":
issues.append(f"{act}: vendor is responsible for approving its own access")
for i in issues: print("ISSUE", i)
print("R/A load:", ", ".join(f"{p}={n}" for p, n in load.items()))
print(f"{len(issues)} issues in {len(RACI)} activities")
Salida esperada (Python 3.13.5):
ISSUE Switch stations to manual operation: nobody responsible
ISSUE Brief hospital (critical customer): 2 responsible (Coordinator, Comms) - name a lead
ISSUE Approve vendor remote session: 2 accountable (Ops manager, Security lead)
ISSUE Approve vendor remote session: vendor is responsible for approving its own access
ISSUE Public statement: 0 accountable (none)
R/A load: Coordinator=3, Ops manager=4, Security lead=2, Comms=2, Vendor=1, CEO=2
5 issues in 7 activities
Cinco defectos en siete actividades:
- Pasar las estaciones a operación manual tiene una persona que rinde cuentas (el jefe de operaciones), pero nadie que lo ejecute: en la práctica lo hacen los operadores de turno y los técnicos de guardia, que faltan en la matriz. La corrección es añadir al supervisor de turno como R.
- Informar al hospital tiene dos R. La coordinadora y comunicación podrían pensar cada una que llamó la otra. Nombre a la coordinadora como responsable principal (es un enlace operativo), con comunicación consultada sobre la redacción.
- Aprobar la sesión remota del proveedor tiene dos A y señala al proveedor como R. El jefe de operaciones debería ser la única A (es dueño de las estaciones); la responsable de seguridad es C; el proveedor solicita el acceso y es I respecto de la decisión: una parte nunca debe aprobar su propio acceso.
- Declaración pública no tiene a nadie que rinda cuentas. El consejero delegado debería ser A, y comunicación, R.
La línea de carga muestra que el jefe de operaciones acumula cuatro entradas R/A: durante un incidente, esa misma persona está dirigiendo la planta. La coordinadora propone un suplente para las entradas relacionadas con el incidente. El laboratorio solo comprueba la estructura; si se eligió a las personas adecuadas es un juicio que corresponde al patrocinador ejecutivo.
6.6 Actividad práctica
Escriba una RACI para «incorporar un nuevo proveedor con acceso remoto» usando al menos cinco funciones y después compruébela frente a las cuatro reglas a mano o editando el Lab 6. Incluya al proveedor como función y asegúrese de que nunca apruebe su propio acceso, algo que el Lab 6 comprueba explícitamente. Indique quién rinde cuentas de la creación de la cuenta, quién comprueba que el contrato tenga las cláusulas de seguridad y a quién se informa cuando se activa la cuenta. Después cuente las entradas R y A de cada persona: si un nombre aparece en casi todas las líneas, la incorporación se atascará siempre que esa persona esté de vacaciones. Muestre el resultado al jefe de operaciones y pregúntele si falta alguien.
6.7 Errores comunes y límites
- Comités como responsables que rinden cuentas («el comité de seguridad»).
- RACI escritas solo para los días normales, no para los incidentes.
- Cambios de emergencia que nunca se revisan.
- Listas de escalado sin suplentes, o guardadas solo en la red.
-
Una RACI es un contrato social: publíquela, repásela con cada persona y actualícela tras las reorganizaciones.
-
Dejar fuera de la matriz a las personas que realmente hacen el trabajo, como descubrió el Lab 6 con los operadores de turno para la operación manual.
- Permitir que una parte apruebe su propio acceso, como un proveedor marcado como responsable de aprobar su sesión remota.
- Dar a una persona tantas entradas R y A que el incidente dependa solo de ella.
Ejercicios — capítulo 6
EX026 — Corrija la RACI. Objetivo: corregir los defectos. Insumos: la matriz del Lab 6. Pasos: proponer filas corregidas para los cinco problemas y volver a ejecutar la comprobación (a mano o con código). Evidencia esperada: matriz corregida y resultado limpio. Rúbrica: 3 = cero problemas, el proveedor nunca es A ni R de la aprobación, se añade una función de turno para la operación manual, un único responsable principal para informar al hospital, el consejero delegado rinde cuentas de la declaración pública; 2 = queda un problema; 1 = parcial; 0 = nada.
EX027 — Clasifique los cambios. Objetivo: aplicar las clases de cambio. Insumos: (a) una nueva regla del cortafuegos que permite la VPN de un proveedor; (b) sustituir una batería averiada del SAI en un armario de estación; (c) desactivar una cuenta comprometida durante un incidente; (d) instalar un agente de supervisión en el historiador. Pasos: clasificarlos y justificarlo. Evidencia esperada: cuatro clases. Rúbrica: 3 = (a) normal (relevante para la seguridad), (b) estándar si existe un procedimiento preaprobado, (c) de emergencia con revisión posterior, (d) normal con comprobación de compatibilidad del proveedor; 2 = tres correctas; 1 = todas estándar; 0 = nada.
EX028 — Tarjeta de escalado. Objetivo: diseñar una vía de escalado utilizable. Insumos: las funciones de 6.1. Pasos: escribir la tarjeta impresa para los operadores del turno de noche ante una sospecha de evento cibernético. Evidencia esperada: contenido de la tarjeta. Rúbrica: 3 = desencadenantes observables, primera llamada y suplente con números de teléfono como marcadores de posición, límites de tiempo, qué hacer mientras tanto (primero la seguridad, no apagar ordenadores sin instrucciones, anotar las horas), cuándo llamar directamente al responsable del incidente; 2 = sin suplentes; 1 = «llamar a TI»; 0 = nada.
EX029 — Análisis de cuellos de botella. Objetivo: usar la línea de carga. Insumos: la salida de carga del Lab 6. Pasos: proponer cómo reducir la carga del jefe de operaciones durante un incidente sin debilitar la autoridad sobre la seguridad de las personas. Evidencia esperada: propuesta. Rúbrica: 3 = mantiene las decisiones de seguridad de las personas en operaciones, pero delega el enlace y la aprobación del proveedor en un suplente con nombre o en el responsable del incidente, con el jefe de operaciones consultado; 2 = delegación sin salvedad de seguridad; 1 = traspasa las decisiones de seguridad de las personas a TI; 0 = nada.
EX030 — Revisión de un cambio de emergencia. Objetivo: cerrar los cambios de emergencia. Insumos: durante un incidente, un ingeniero añadió una regla del cortafuegos que bloquea todo acceso de proveedores y creó una cuenta temporal de administrador local. Pasos: describir la revisión posterior al incidente. Evidencia esperada: pasos de la revisión. Rúbrica: 3 = enumerar los cambios de emergencia a partir del registro, decidir para cada uno mantener/modificar/revertir con un responsable, eliminar la cuenta temporal, restablecer el acceso de proveedores solo mediante el proceso normal, actualizar la documentación; 2 = algunos pasos; 1 = «dejarlo así»; 0 = nada.
Síntesis del capítulo
Un programa funciona con funciones asignadas, una RACI con una sola persona que rinde cuentas por actividad y un responsable principal con nombre, una gobernanza de cambios que mantiene visibles los cambios relevantes para la seguridad y una vía de escalado que funciona sin conexión de noche. Compruebe en la RACI la estructura, la titularidad de las aprobaciones y la carga durante los incidentes; revise todo cambio de emergencia después del evento.