Cuando VLANs y Firewalls no son suficientes

Como comentaba en la entrada anterior, hace poco terminé el curso sobre Ciberseguridad en Sistemas de Control y Automatización Industrial impartido por el Instituto Nacional de Ciberseguriad (INCIBE) antes, INTECO.

Dentro de su contenido, en uno de sus módulos se trataba el tema de los incidentes de seguridad sobre dichos sistemas, analizando desde los posibles objetivos potenciales hasta las deficiencias técnicas, pasando por controles de acceso físico pobres o incluso nulos.

Entre esos puntos se apuntaba como orígenes a la red corporativa y a cortafuegos perimetrales mal configurados. En el primero de ellos, se explicaba que tanto los sistemas empresariales como industriales comparten la misma infraestructura de comunicaciones  permitiendo  llevar ataques desde la red corporativa a la de control aprovechando alguna vulnerabilidad en aquéllos. En lo referente a los cortafuegos perimetrales, se comentaban las malas configuraciones sobre ciertos protocolos y también, no considerar el sentido de las conexiones. Como ejemplo se hablaba de una intrusión en los sistemas de control, la ejecución de un “payload” en ellos e iniciar una conexión a un equipo remoto empleando un puerto abierto en el firewall.

Partiendo de la base que ninguna red es igual ya que las necesidades y usos pueden ser bien distintos, en la entrada de hoy voy a hablar de dos aspectos que afectan a las ideas descritas en los apartados anteriores.

Por mi experiencia, es muy común que equipos corporativos convivan con los de control dentro del mismo switch. Por ejemplo, en una cadena de producción tenemos un PC donde  ejecutamos distintas aplicaciones relacionadas con el proceso de fabricación, mientras que en otros puertos tenemos los autómatas que controlan la maquinaria (robots, sensores, válvulas, etc.). También puede ocurrir que existan incluso puntos de acceso inalábricos para aquellos dispositivos no cableados tipo PDAs industriales, lectores de códigos de barras, PCs portátiles de personal de mantenimiento, etc. ¡Y posiblemente todo dentro de la misma VLAN! Resultaría costosísimo, o incluso inviable, implementar dos o tres infraestructuras paralelas para separar físicamente todo el tráfico, así que la realidad es que unos y otros deben “viajar” por el mismo equipo y por la misma red, aunque separados lógicamente mediante el uso deVLANs.

Por otro lado, debemos pensar que a la hora de interconectarlo todo, no se puede implementar cortafuegos por cada enlace, subred, equipo, etc. para regular el tráfico a permitir o denegar. Si bien la inversión, condiciona en gran medida la solución tecnológica a utilizar (salvo que sobre el dinero, que viendo los tiempos que corren es poco probable…), debemos pensar,  en lo a la parte técnica se refiere, que los switches nos pueden ofrecer una serie de ventajas que, a veces, los cortafuegos no lo hacen. Por ejemplo, mayor densidad de puertos y uso de módulos SFP para distintos medios físicos como cable y fibra óptica. También es cierto que los cortafuegos realizan tareas que no hacen los switches. Unos no  son mejores que los otros, sino que cada cual hace su papel y se complementan.

A estas ideas debemos sumar también la implantación de medidas que garanticen una alta disponibilidad de los servicios prestados, con lo que aparte de equipos de comunicaciones, de seguridad, control, automatización, etc. debemos disponerlo todo de tal manera que en caso de producirse un fallo, la red pueda seguir funcionando sin que esto suponga un impacto en la calidad del servicio ofrecido.

Como bien dice el refrán “Una imagen vale más que mil palabras”  he creado un escenario para tratar de entender mejor lo dicho. He utilizado la aplicación de Cisco Systems, Packettracer, utilizada para la preparación de las certificaciones CCNA y CCNP, entre otras.

Basándome en los criterios de este post, aquí os dejo la topología:

Para explicarlo empezaremos de izquierda a derecha.

Tenemos el equipo “Switch Acceso” (Switch L2) al que se conectan por un lado los autómatas PLC-01 y PLC-02, y por otro un PC que pueda ser utilizado para la ejecución de aplicaciones relacionadas con la actividad industrial. También se ha incluido una impresora, como un elemento de red más que pueda ser utilizado para la impresión de algunos documentos, órdenes de montaje, códigos de barras para temas logísticos, etc.

Para segmentar el tráfico, los PLCs,  el PC y la impresora se han situado en VLANs distintas. PLC-01 y PLC-02 en la VLAN 10 con direccionamiento 192.168.10.0 /24; y PC-01 y Printer0 en la VLAN 20, y red 192.168.20.0/24. Como puerta de enlace será la primera IP de ambas redes, la .1.

Dado que es un entorno de alta disponibilidad, se ha configurado en los switches “sw-core-01” y “sw-core-02” (Ambos multicapa o L3) interfaces virtuales para cada una de las VLANs, y en ellas, el protocolo HSRP, aunque también hubiera servido VRRP. Si no sabéis o queréis refrescar los conceptos de interfaces virtuales o dejo un link a un artículo que publiqué hace un tiempo, aquí.

Luego tenemos los cortafuegos, que filtrarán el tráfico entre la red de servidores donde se sitúa el servidor de SCADA, Historiadores, etc y el resto. Esta red tiene un direccionamiento 192.168.254.0/24, y está en la VLAN 254. También está configurado HSRP.

No he dibujado la red corporativa como oficinas ya que no viene por ahí el problema de seguridad que quiero explicar, pero de existir, deberían colgar de cada uno de los nodos del firewall, como lo están las dibujadas.

Como podréis ver los cortafuegos tiene un enlace entre sí. Todo tiene una explicación.

Al igual que en los equipos de red tenemos HSRP, VRRP y GLBP para implementar alta disponibilidad, los cortafuegos tienen los suyos también. Lo que se hace es una topología tipo “Activo-Pasivo” o “Activo-Activo”. La primera de ellas, sería equiparable al comportamiento de HSRP y VRRP, donde uno de los nodos soporta todo el tráfico, el “Master”, mientras que el otro está de respaldo, el “Backup”. En caso de que el “Master” falle, el “Backup” entra en funcionamiento. El modo “Activo-Activo” es aquél en el que ambos nodos funcionan a la par, proporcionando no sólo una alta disponibilidad, ya que si uno falla el otro asume su rol, sino que además existe un balanceo de carga ya que se puede repartir el tráfico entre ambos.

En cualquiera de los dos casos, ambos nodos deben tener un enlace donde compartir una tabla con las conexiones que tiene abiertas, ya que si el nodo “Master” falla, el de “Backup” debe seguir permitiéndolas. Si no existiese este enlace y el nodo de “Backup” no tuviese dicha tabla, cuando uno de los equipos finales volviesen a generar tráfico de una sesión ya establecida, las cortarían.

Por no estar hablando siempre de Cisco, Juniper tiene su protocolo NSRP. Os dejo algunos enlaces pero si buscáis en por ahí  encontraréis un montón de información al respecto.

 Link 1

Link 2

Link 3

Fortinet también tiene soluciones similares. Os dejo más links:

Link 1

Link 2

Link 3

Vale, tenemos el PC y la impresora en una VLAN; y los PLCs en otra de tal manera que a nivel de capa 2 los tenemos “aislados” y cada uno en su propio dominio de broadcast. Mismo criterio con los servidores. Sin embargo, los equipos PLC no están todo lo protegidos que debieran.

¿Por qué? Porque si nos fijamos el PC-01 a pesar de estar en una VLAN distinta de los PLCs puede llegar a ellos sin problemas. Vamos a abrir un navegador del PC-01 y la IP del PLC-01.

¿Por qué? Sencillo. Cuando abrimos el navegador el tráfico llega al switch sw-core-01. Como éste tiene acceso a la VLAN donde está la dirección IP de destino, la 192.168.10.100, es el propio switch el que lo envía por la interfaz de la VLAN 10 ya que están ambas en el mismo equipo. La 10 y la 20.  Podríamos cambiar manualmente el enrutamiento para que fuese todo al tráfico hacia el firewall y éste lo descartase, pero tampoco tiene mucho sentido hacerlo “subir” hasta ahí para luego descartarlo  y ocupar un ancho de banda por poco que sea, nos puede resultar necesario, especialmente a los PLC en su comunicación con el servidor SCADA.

 Por tanto, hay una cosa que es clara y es que tenemos que filtrar el tráfico para evitar que ningún equipo de la red 192.168.20.0/24 pueda llegar a la 192.168.10.0/24. Sin embargo, sí que tenemos que permitir el tráfico desde la red 192.168.20.0/24 a cualquier otro equipo de la red.

Así que, ¿qué alternativa tenemos? La alternativa son las ACL, Access List. Pero esto lo dejamos para la siguiente entrada.

Un saludo a todos, nos vemos en la siguiente y no te olvides que puedes seguirnos también en @enredandoconred .

Crónica de Curso «Ciberseguridad en IACS»

En esta ocasión la cosa no va a ir de temas técnicos sino más bien, va a ser una crónica de un curso que he realizado recientemente. Ha sido la primera edición, con lo que me parece positivo dar a conocerla para que más gente se anime y se haga eco de los nuevos cursos que están por venir, así más y más profesionales sigamos formándonos en distintas áreas .

El curos en cuestión se ha denominado bajo el nombre “Curso Avanzado de de Ciberseguridad y Sistemas de Control y Automatización Industrial” y ha sido impartido por INCIBE (Instituto Nacional de Ciberseguridad; lo que era antes INTECO”) vía ONLINE.

Llevo 4 años presando servicios como Técnico/Administrador de Redes y Seguridad en una fábrica dedicada al sector de la automoción, y muchas veces me ha tocado que resolver los problemas de conectividad de Robots, Autómatas, Controles de Soldadura, configurar reglas de firewall para sistemas SCADA, etc. Tenía mucho interés por aprender más sobre este tipo de dispositivos y puesto que todos ellos de una manera u otra se “conectan” a la infraestructura de comunicaciones, pues era mi oportunidad.

Dicho esto, a continuación os dejo el enlace del video promocional para que veáis la idea que se persigue y la forma que se imparte:

Enlace

El curso se divide en 7 Unidades, de las cuales haré un breve resumen general ya que no se desea revelar demasiada información sino despertar la curiosidad:

Unidad 0: Bienvenida al curso avanzado de ciberseguridad industrial

Una presentación del curso en general donde se explica el calendario, actividades, normativa, recursos, criterios, manuales, test, etc.

Unidad 1: Introducción a los sistemas de control y automatización

Aquí ya se empieza con la materia en sí. Se abordan temas como historia de la automatización, evolución, problemas de seguridad, particularidades, etc.

Unidad 2: Estudio detallado de los distintos dispositivos de control

Enumeración y descripción de los elementos que intervienen en el proceso de automatización industrial, configuración, parametrización y medidas de seguridad nativas.

Unidad 3: Conceptos fundamentales de las comunicaciones industriales

Propósitos de las comunicaciones, medios físicos, protocolos, tipos de comunicación.

Unidad 4: Sistemas SCADA, historiadores y otros aplicativos

Modelos de implantación, funcionalidades y campo de actuación de los sistemas SCADA, Historización, soluciones BATCH, MES y BII.

Unidad 5: Estudio detallado de amenazas y vulnerabilidades de seguridad 

Amenazas en entornos industriales, vulnerabilidades diseño, desarrollo, operación y mantenimiento; factores de riesgo; incidentes de seguridad. 

Unidad 6: Presentación de iniciativas, buenas prácticas y soluciones

Aproximación a la protección a los sistemas de automatización y control; iniciativas de seguridad a nivel mundial; métodos, modelos, técnicas de seguridad.

Unidad 7: Visita virtual y demostraciones prácticas de seguridad

Introducción a las redes de distribución eléctrica y “Smart Grids”

Evaluación final y encuesta de satisfacción

Examen final de todo el curso y encuesta de satisfacción.

Cada “Unidad” a su vez se subdivide en distintos “Apartados” que abordan de manera específica los temas a tratar. Todas las “Unidades” y “Apartados” cuentan con un documento en formato .pdf, siendo el contenido de estos últimos un resumen del de las respectivas unidades. Adicionalmente cada “Unidad” dispone de un video introductorio. Los “Apartados” también tienen el suyo donde se explica de manera audiovisual su contenido. En algunos casos los documentos y videos tienen contenido muy similar, pero no igual. Es material didáctico complementario y no excluyente. Ojo, a esto!!!

En general cada “Unidad” posee dos ejercicios, uno de investigación y otro práctico. El de investigación se basa en búsqueda, análisis, y desarrollo de información sobre temas propuestos. Los prácticos se basan por ejemplo, en la instalación de software de prueba o libre para realizar distintas actividades como simulación y análisis de cierto tipo de tráfico de comunicaciones industriales.

Aparte la plataforma cuenta con un Blog donde se deberán “subir” los ejercicios prácticos donde los distintos alumnos podrán ver su contenido y votar en consecuencia.

A la hora de evaluar cada, “Unidad” tiene un test final que, para obtener el diploma final, hay que aprobarlo junto con uno  el final. Adicionalmente cada “Apartado” tiene el suyo propio, cuyo objetivo es evaluar los conocimientos. Estos no puntúan, si se suspenden no pasa nada, aunque es muy recomendable hacerlos.

En dos casos, las actividades han de ser plasmadas en documento “Word” o “PDF” para que sean evaluadas por los propios compañeros y calificarlas del 0 al 100 según su propio criterio.

En general, he quedado muy contento con el curso y ha cumplido con mis expectativas. El contenido de los materiales es muy bueno y la inclusión de video ha dinamizado el aprendizaje ya que muchas veces los cursos se basan en documentación escrita que aburre un poco. Con los videos es distintos. Hay que valorar el esfuerzo que supone la edición y maquetación de los mismos.

Otro de los aspectos destacables son los ejercicios, tanto de investigación como prácticos ya que te obliga a trabajar y profundizar en los distintos temas. Esto marca la diferencia con otros cursos que te explican las cosas, te ponen un test y listo. Aquí tienes que “currártelo” más, y eso me parece positivo para el aprendizaje.

Sin embargo no todo ha sido perfecto. Como en todas las cosas que se hacen por primera vez se pueden cometer errores o mejorar ciertas cosas. Por ejemplo, al principio se estimaba que la duración era de 36 horas y luego que no. La organización amplió posteriormente esta cifra a 50. También algunas preguntas de test podían tener a mi juicio (otros alumnos se pronunciaron igual) más de una posible respuesta válida que repercutía en el fallo de la misma. Lo malo es que no se despejaba la duda con lo que te quedas con ella.

Pero bueno, estoy seguro que los responsables tomarán nota de esto último y lo corregirán para futuras ediciones.

En resumen, recomiendo a todo aquel que desee aprender sobre este campo que se apunte y que lo hagan ya que, en mi caso, he aprendido mucho sobre estos sistemas. Ahora queda seguir formándonos, leer, practicar y seguir mejorando.