graph TD subgraph Switch ["Switch Gestionable (Capa 2)"] P1["Puerto 1
(Port Security: ON)"] P2["Puerto 2
(802.1X: ON)"] P3["Puerto 3
(Port Security: ON)"] end PLC["PLC
MAC: AA:BB:CC"] PC["PC Ingeniería
Requiere Usuario/Pass"] Hacker["Portátil Intruso
MAC: FF:FF:FF"] PLC -- "MAC Autorizada" --> P1 PC -- "Autenticación RADIUS" --> P2 Hacker -- "MAC Desconocida" --> P3 P1 --> Allow1(("Permitido")) P2 --> Allow2(("Permitido")) P3 --> Block(("Puerto
Bloqueado")) style P1 fill:#34495e,color:white style P2 fill:#34495e,color:white style P3 fill:#e74c3c,color:white style Block fill:#c0392b,color:white style Allow1 fill:#27ae60,color:white style Allow2 fill:#27ae60,color:white

1. El Eslabón más Débil: El Acceso Físico

Puedes tener el mejor Firewall del mundo aislando tu planta de Internet, pero si un operario malintencionado (o un técnico despistado) desconecta el cable de un sensor y conecta su propio portátil infectado directamente a un switch de la máquina, tu Defensa en Profundidad ha sido vulnerada desde el interior. En automatización (UF1794), los equipos están físicamente distribuidos por toda la nave, lo que hace que proteger el acceso a los puertos físicos de red sea una prioridad absoluta.



2. MAC Security (Port Security)

La primera línea de defensa en Capa 2 es el Port Security (Seguridad de Puerto), que se basa en filtrar direcciones MAC. El administrador configura el switch gestionable indicándole exactamente qué dirección MAC (la "matrícula" física de la tarjeta de red) tiene permiso para enviar tráfico a través de un puerto específico.

Se puede configurar de dos maneras principales:

  • Estática: El técnico teclea manualmente la MAC permitida (ej. `00:1A:2B:3C:4D:5E`) en la configuración del puerto. Es lo más seguro pero muy tedioso de mantener.
  • Sticky (Dinámica/Pegajosa): El switch "aprende" automáticamente la primera dirección MAC que se conecta al puerto y la guarda en su memoria permanente. Si alguien desconecta ese PLC e intenta conectar un portátil, la MAC será diferente y el switch actuará.

Cuando ocurre una "Violación" (se conecta una MAC no autorizada), el switch puede reaccionar de tres formas:

  1. Protect (Proteger): Simplemente descarta los paquetes del intruso. (No avisa a nadie).
  2. Restrict (Restringir): Descarta los paquetes y genera un registro/alarma en el log del sistema (Syslog/SNMP) para avisar a mantenimiento.
  3. Shutdown (Apagar): La medida más drástica. El switch apaga físicamente el puerto (lo pone en estado Err-Disabled). El puerto no volverá a funcionar hasta que un administrador entre al switch y lo reactive manualmente.


3. El Límite del Filtrado MAC: El Spoofing

El filtrado MAC es excelente para evitar errores accidentales (como un contratista conectando su portátil donde no debe), pero no es una medida de seguridad definitiva contra un hacker. Las direcciones MAC viajan en texto claro por la red. Un atacante motivado puede usar Wireshark para "escuchar" la red, descubrir cuál es la MAC del PLC legítimo y luego configurar su portátil para falsificar esa dirección (técnica conocida como MAC Spoofing). Para el switch, el atacante será indistinguible del PLC original.



4. La Solución Definitiva: Autenticación 802.1X

Para superar la debilidad del MAC Spoofing, el estándar IT utiliza IEEE 802.1X. Cuando conectas un equipo a un puerto con 802.1X, el puerto está "cerrado". El equipo debe presentar unas credenciales válidas (usuario/contraseña o un certificado digital). El switch hace de intermediario y envía estas credenciales a un servidor central de autenticación (normalmente un servidor RADIUS). Solo si el servidor aprueba las credenciales, el switch abre el puerto y permite el paso de datos.

El reto en OT: Aunque 802.1X es el estándar de oro en IT, implementarlo en la planta es extremadamente difícil. Un sensor de temperatura PROFINET o un PLC antiguo no tienen la capacidad de teclear usuarios ni de almacenar certificados digitales complejos. Por tanto, en entornos industriales se suele aplicar una estrategia mixta: 802.1X para estaciones HMI y PCs de ingeniería (que usan Windows), y MAC Security estricto para los PLCs y periféricos ciegos ("dumb devices").

VIOLACIÓN DE SEGURIDAD MAC (PORT SECURITY: SHUTDOWN) SWITCH INDUSTRIAL (Capa 2) Tabla MAC Permitidas P1 -> AA:BB:CC P2 -> DD:EE:FF P1 P2 PLC Original MAC: AA:BB:CC Portátil Intruso MAC: 11:22:33 ERR-DISABLED Al detectar una MAC diferente a la autorizada (DD:EE:FF), el switch apaga físicamente el Puerto 2 (Shutdown), aislando la amenaza de la red de la fábrica instantáneamente.
Figura 1: Port Security en acción (Modo Shutdown). El administrador ha anclado ("Sticky") una dirección MAC específica a cada puerto. Cuando el portátil intruso se conecta al Puerto 2 e intenta enviar un paquete, el hardware del switch detecta inmediatamente que su MAC de origen (11:22:33) no coincide con la tabla permitida y desconecta el puerto por seguridad.
Fuente: Elaboración Propia. Licencia: CC BY-NC 4.0.

📝 Evaluación Técnica: Seguridad de Capa 2

1. En la configuración de 'Port Security' de un switch gestionable, ¿qué implica configurar la acción de violación (Violation Mode) en "Shutdown"?

2. Aunque el filtrado MAC (Port Security) es una buena medida base, ¿por qué los expertos en ciberseguridad no lo consideran una barrera infalible contra atacantes motivados?

3. Para dotar de máxima seguridad a las estaciones de ingeniería (PCs) en planta y superar las limitaciones del filtrado MAC, el departamento IT sugiere implementar el estándar 802.1X. ¿Cómo funciona este mecanismo?

🤖 Ejercicio Práctico 7: Demostración de MAC Spoofing con Python

Objetivo: Comprender la debilidad del Port Security simulando cómo un atacante suplanta la identidad de un PLC legítimo.

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

Actúa como un profesor de Ethical Hacking industrial (Red Team). Escribe un script en Python utilizando la librería `scapy` para demostrar el concepto de "MAC Spoofing". El script debe: 1. Pedir al usuario que introduzca la MAC "Permitida" (ej: `AA:BB:CC:11:22:33`), simulando que previamente la ha obtenido esnifando la red. 2. Construir un paquete Ethernet crudo en Capa 2 (`Ether()`), pero sobrescribiendo el campo `src` (Source MAC) con la MAC permitida, en lugar de usar la MAC real de la tarjeta de red del PC. 3. Añadir una capa de carga útil (Raw) con el texto: "Comando malicioso inyectado desde hardware no autorizado". 4. Enviar el paquete a la red (`sendp`). 5. Imprimir en pantalla un mensaje confirmando: "Paquete enviado falsificando la dirección MAC de origen: [MAC]". Comenta el código explicando que, dado que el paquete llega al switch con la MAC origen correcta, el filtro 'Port Security' lo dejará pasar, demostrando que esta medida debe complementarse siempre con una Defensa en Profundidad en capas superiores.