graph TD subgraph Defensas_Activas ["Hardening (Bastionado)"] A1[Desactivar Servicios Innecesarios
ej. Servidor Web del PLC] A2[Cerrar Puertos No Usados
Física y Lógicamente] A3[Gestión de Identidades
Principio de Mínimo Privilegio] end subgraph Defensas_Reactivas ["Resiliencia (Recuperación)"] B1[Política de Backups 3-2-1
Copias del Proyecto TIA Portal] B2[Control de Versiones
Trazabilidad de Cambios] B3[Plan de Respuesta a Incidentes
Minimizar el MTTR] end Defensas_Activas -. "Si las defensas fallan." .-> Defensas_Reactivas style Defensas_Activas fill:#e8f8f5,stroke:#27ae60 style Defensas_Reactivas fill:#ebf5fb,stroke:#2980b9

1. Hardening: Reduciendo la Superficie de Ataque

El Hardening (o bastionado) es el proceso de asegurar un sistema reduciendo su "superficie de ataque". Los fabricantes envían los dispositivos (PLCs, Switches, Servidores SCADA) configurados para ser "fáciles de usar" por defecto, lo que significa que traen habilitados multitud de protocolos y servicios que no vas a necesitar en producción.

Un ingeniero de UF1794 debe aplicar el bastionado de forma proactiva:

  • Deshabilitar Servicios Innecesarios: Si el PLC tiene un Servidor Web integrado (HTTP/HTTPS) pero tu SCADA lee por OPC UA, apaga el servidor web. Si el switch tiene habilitado Telnet o FTP, apágalos. Lo que no se ejecuta, no se puede hackear.
  • Bloqueo de Puertos Físicos: Si un switch tiene 8 puertos y solo usas 4, deshabilita lógicamente los otros 4 en la configuración del switch, e incluso ponles "tapones" físicos con llave.
  • Parcheo Virtual (Virtual Patching): A menudo no puedes actualizar el firmware de un SCADA antiguo porque el fabricante ya no existe. El "parcheo virtual" consiste en colocar un firewall DPI (visto en la lección 7.3) justo delante de la máquina vulnerable y crear reglas específicas que bloqueen los ataques (exploits) dirigidos a esa vulnerabilidad específica, protegiendo la máquina sin tener que tocar su software.


2. Principio de Mínimo Privilegio

Uno de los mayores errores en planta es tener una única cuenta de usuario genérica (ej. `Admin` con contraseña `1234`) que todo el mundo usa, desde el jefe de planta hasta el estudiante en prácticas. Si alguien comete un error, la falta de trazabilidad hace imposible saber quién fue.

El Principio de Mínimo Privilegio dicta que cada usuario o programa debe tener únicamente los permisos estrictamente necesarios para realizar su trabajo, y nada más. Un operario de línea debe poder iniciar y parar la máquina desde la HMI, pero no debería poder modificar las variables PID de control ni descargar una nueva versión del programa al PLC. Esto se logra implementando RBAC (Role-Based Access Control) vinculado idealmente a las credenciales corporativas (Active Directory).



3. Resiliencia: Preparados para lo Peor

Por muchas capas de Defensa en Profundidad que apliquemos, en ciberseguridad industrial se asume que el ataque acabará ocurriendo (Assume Breach). Por tanto, la métrica final de éxito no es cuántos ataques bloqueaste, sino tu MTTR (Mean Time To Recovery - Tiempo Medio de Recuperación): ¿cuánto tardas en volver a producir si un ransomware destruye tus servidores SCADA y borra la memoria de los PLCs?

Aquí es donde entra en juego la Resiliencia.



4. La Estrategia de Backups en OT

La resiliencia se construye sobre una política de copias de seguridad estricta y probada. La regla de oro en IT es la regla "3-2-1" (3 copias, 2 medios diferentes, 1 offsite/remota). En OT debemos adaptarla asegurando los siguientes elementos:

  • Código Fuente del PLC: El proyecto del TIA Portal o Studio 5000 debe estar guardado en un repositorio centralizado seguro (ej. software de gestión de versiones como MDT AutoSave o versiondog), no perdido en el disco duro del portátil de un programador.
  • Imágenes de Sistemas SCADA/HMI: Se deben realizar copias de seguridad de "imagen completa" (Bare-Metal Backup) de los discos duros de los PCs industriales, de forma que si el disco muere o se encripta, se pueda volcar la imagen en un disco nuevo en minutos sin tener que reinstalar Windows y todos los drivers desde cero.
  • Configuración de Dispositivos de Red: Los archivos de configuración de switches y firewalls gestionables deben estar respaldados. Un switch quemado debe poder ser sustituido y reconfigurado con 3 clics importando su archivo de configuración anterior.

Un backup no sirve de nada si no se ha probado. La verdadera resiliencia se logra realizando simulacros de recuperación (Disaster Recovery Drills) periódicamente.

Concepto visual de Hardening de un PLC: pasando de vulnerable a blindado.
Figura 1: El proceso de Hardening. El objetivo de la ingeniería no es solo que la máquina funcione, sino configurar activamente las defensas del dispositivo: deshabilitando puertos lógicos y físicos innecesarios, configurando autenticación fuerte y aislando el equipo para minimizar los vectores de ataque.
Fuente: Elaboración propia / Licencia: CC BY-NC 4.0.

📝 Evaluación Técnica: Bastionado y Resiliencia

1. ¿Cuál es el objetivo principal del proceso de "Hardening" (Bastionado) en un equipo de automatización industrial?

2. Aplicado a una estación HMI (Pantalla Operador) en la planta, ¿cómo se implementaría correctamente el "Principio de Mínimo Privilegio"?

3. Una máquina antigua controlada por un PC con Windows 7 no puede ser actualizada por falta de presupuesto. ¿Qué técnica de ciberseguridad permite proteger este equipo vulnerable sin tocar su software interno?

🤖 Ejercicio Práctico 7: Auditor de Puertos (Python)

Objetivo: Crear un pequeño escáner para verificar que la política de "Hardening" se ha aplicado correctamente en un PLC, comprobando que solo están abiertos los puertos estrictamente necesarios.

Copia el siguiente *prompt* y pégalo en un modelo de IA (como ChatGPT, Gemini o Claude).

Actúa como un analista de seguridad OT (Blue Team). Escribe un script en Python utilizando la librería `socket` para crear un escáner de puertos de auditoría básico. El script debe: 1. Pedir al usuario la dirección IP del PLC a auditar. 2. Definir una lista de "Puertos Inseguros Comunes" que, según la política de Hardening, deberían estar cerrados (ej: 21 FTP, 23 Telnet, 80 HTTP). 3. Intentar conectar a cada uno de esos puertos con un timeout muy corto (ej: 0.5 seg). 4. Si la conexión tiene éxito, debe imprimir un mensaje de ALERTA ROJA indicando: "[FALLO DE HARDENING] El puerto X está ABIERTO y debe ser cerrado". 5. Si la conexión falla (time out o connection refused), debe imprimir un mensaje verde: "[OK] El puerto X está cerrado correctamente". Comenta el código explicando que, aunque los atacantes usan herramientas avanzadas como Nmap, este simple script es suficiente para que un ingeniero de planta verifique rápidamente si ha olvidado deshabilitar los servicios web/FTP en la configuración del hardware de su autómata.