Identificando tráfico con cortafuegos, Parte II

Hablábamos en la entrada “Más que IPs y puertos para proteger entornos industriales” la necesidad de identificar los protocolos e instrucciones para limitar aquellas acciones que pueden realizar sobre Sistemas de Control Industrial. Para llevar a cabo esta acción, podemos emplear soluciones como Nozomi SCADAGuardian la cual, entre otras funciones, permite realizar Deep Packet Inspection (DPI) y extraer la información que necesitamos.

Sin embargo, los  mismos cortafuegos que nos ayudan a “Separar y Segmentar” podrán ayudarnos en esta tarea. En “Identificando tráfico con cortafuegos, Parte I” veíamos como podríamos hacerlo con equipamiento del fabricante Fortinet. En el día de hoy abordaremos la misma tarea, pero con aquellos del fabricante Palo Alto.

El mismo, dispone del equipo PA-220R para proteger este tipo de entornos teniendo la capacidad para realizar DPI sobre protocolos de esta índole. Además, es apto para instalaciones de entornos tales como subestaciones o plantas generadoras de energía ya que dispone de compatibilidad con estándares como IEC 61850-3 e IEEE 1613. Sus características físicas le permiten operar en rangos de temperatura y humedad de -40-70º C y 10-90%; respectivamente, pudiendo evitar daños físicos en entornos hostiles y polvo en suspensión ya que carece de piezas móviles para su refrigeración. Igualmente dispone de doble alimentación proporcionando así redundancia en lo que suministro eléctrico se refiere.

Dicho lo cual, veremos que las interfaces pueden ser configuradas de distintos modos, entre ellas el “TAP” con el que podremos monitorizar y analizar el tráfico que le llega.

Más tarde, definiremos una “Zona” en la cual incluir la interfaz que recibirá el tráfico que replicaremos desde el puerto espejo del switch o un dispositivo TAP. La denominaremos “Analisis_Trafico_ICS” y le asignaremos la interfaz “ethernet1/8”.

Luego, habrá que crear una política en la que deberemos indicar como origen y destino la Zona configurada en los puntos anteriores e indicar qué aplicaciones queremos detectar.  En nuestro caso seleccionaremos “Any” para poder hacerlo sobre todas aquellas que recojan las firmas que hayan sido desarrolladas hasta el momento.

Adicionalmente podremos habilitar otros controles para la detección de amenazas tales como antivirus, vulnerabilidades, filtrado URL, etc. Esto nos permitirá identificar la presencia de actividades o tráfico malicioso ya presente en nuestra red. Como se puede apreciar hemos creado un “Security Profile Group” con alguno de ellos.

Hecho esto, el siguiente paso será comenzar a procesar tráfico. De igual modo que hicimos en la entrada “Identificando tráfico con cortafuegos, Parte I”, reproduciremos tráfico con la herramienta TCPReplay previamente capturado a partir de distintas fuentes. En este nos hemos decantado por IEC 60870-5-104 y BACnet.

A partir de aquí, en la pestaña “Monitor” podremos ver los logs generados según distintos resultados de ese análisis. Por ejemplo, continuación se muestra el contenido relativo al tráfico en sí mismo, esto es, IPs de origen destino, puertos, Aplicación, etc.

Pero como hemos dicho, también nos interesa analizar en busca de amenazas como intentos de intrusión, malware, etc. Esta información la localizamos en el subapartado “Threat”. En este caso vemos cómo de entre las capturas reproducidas identificamos la presencia del archiconocido “Wannacry”, algunas anomalías relativas a Siemens S7 o DNP3.

Con la interoperabilidad entre entornos IT y OT, es imprescindible conocer las comunicaciones que se realizan hacia/desde los equipos. Un activo no sólo se compone de los datos de fabricante, modelo, instalación, etc. también han de incluirse sus comunicaciones dentro del modelo de gestión de activos. Un firewall y sus funcionalidades extras serán tan eficientes como estrictos seamos con su configuración y mantenimiento.

Pero, para conseguirlo, hemos hacer la tarea previa de identificarlas y estructurarlas y para ello los mismos cortafuegos también pueden ayudarnos.

Un saludo, ¡nos vemos en la siguiente!

 

Sumando fuerzas, Switching y Firewalling para proteger maquinaria e instalaciones industriales

Dentro de cualquier estrategia de protección de entornos industriales no podemos pasar por alto la heterogeneidad de éstos. No podemos considerar de igual manera una actividad dedicada a la fabricación de vehículos, farmacéutica, alimentación o componentes electrónicos. Los tiempos de respuesta, los máximos asumibles de parada, estrategia de producción, pueden no ser para nada similares. Por tanto, la manera en la que debemos priorizar y desplegar las medidas que prevengan incidentes, debe ser distinta.

Pero independientemente del sector, los propietarios de los activos (esto es, las propias empresas) incorporan tecnología distinta de fabricantes, ingenierías, integradores o cualquier otra tercera parte debido al alto grado de especialización aparte de la complejidad o necesidades concretas de estos entornos. Claro está, que en muchos casos sea más operativo, económico o práctico externalizar estas tareas en lugar de desarrollar la solución y el conocimiento con medios internos.

Puesto que forman parte del proceso, se ha de acordar contratos de mantenimiento con el fin de garantizar un recurso en caso de ser necesario y recibir soporte a lo largo del ciclo de vida del producto, que como sabemos, dentro del mundo es OT es mayor que el tradicional IT. Esto es, respuesta ante una incidencia, actualizaciones, modificaciones o cualquier otra razón, de tal manera que el propietario de ese activo no pueda ver afectada su actividad por no saber resolver, atender o actuar sobre él.

Esto supone un problema para los citados integradores ya que una vez sus sistemas o maquinaria están en las instalaciones de sus clientes, dejan de tener, a priori, un control sobre el mismo. No tienen la garantía de que alguien pueda, en un momento dado, “conectarse” y llevar a cabo una acción que derive en un mal funcionamiento y generar un incidente con mayor o menor impacto. Por tanto, resulta necesario controlar los puntos de conexión a ese equipamiento en particular al de red como switches que permitan la comunicación entre equipos y componentes. Particularmente si hay consecuencias económicas…

En este sentido la conjunción de Switches y Firewalls del fabricante Fortinet pueden ayudarnos ya que dichos cortafuegos poseen la capacidad de controlar algunas funciones de los switches mediante un controlador embebido.

En este caso disponemos de un Fortigate Rugged 90D y un FortiSwitch Rugged 112D-PoE.

El Firewall será el que nos una a la red del cliente y evitará que un activo de la red de éste llegue a los componentes de la instalación o maquinaria en cuestión. La configuración podrá ser variada según la topología, esto es, que opere a nivel de capa 2 o 3. Será pues nuestra seguridad perimetral. El modo de acceso lo podemos establecer a través de un túnel VPN a partir de las opciones que nos permite el equipo. Obviamente, habilitaremos los distintos perfiles de seguridad como Antivirus, IDS/IPS, Control de Aplicación, etc.

Ya aguas abajo del Cortafuegos, el Switch permitirá la comunicación entre los equipos finales. Cómo configuremos ambos equipos dependerá del tipo de instalación, arquitectura, tipo de tráfico, conexionado, entre otras variables.

Para poder llevar a cabo esta administración, deberemos configurar una de las interfaces del Fortigate para la comunicación con el FortiSwitch empleando el protocolo FortiLink. En nuestro caso serán enlaces por medio de dos SFP de fibra en ambos extremos. Podréis encontrar más información en estos dos enlaces, enlace 1 y enlace 2.

Por defecto el switch operará en modo “Local Management”.

Si decidimos gestionarlo desde el Firewall deberemos tener presente que la se borrará cualquier configuración existente.

Hecho esto, se nos generarán dos interfaces, dependiendo de las características habilitadas.

Para poder agregar el switch deberemos ir al apartado “WIFI & Switch Controller” y comprobar que el switch se ha detectado y autorizarlo. Una vez hecho el mismo se reiniciará. Según el modelo del switch, por defecto se definirán algunas interfaces de “Auto-discovery”. Podréis encontrar más información aquí.

En el siguiente apartado podremos crear las interfaces de cada una de las VLAN que necesitemos. En mi caso he creado la VLAN100.

A continuación, podremos asignar a cada puerto la correspondiente VLAN y configurar algunos otros parámetros adicionales relativos a PoE, STP, Status, etc.

El último apartado será lo relacionado a las Políticas de Seguridad, algo que nos es objeto por ahora, todo se andará.

Cabe mencionar que aunque veamos que las características de parametrización son menores podremos abrir un CLI desde el apartado “Managed FortiSwitch”.

No obstante, si lo deseásemos también podríamos acceder a la interfaz web. Para ello deberemos de configurar una ruta estática que apunte a la interfaz creada para el enlace Fortilink.

A partir de ahí, podremos acceder a él, no sin antes ser avisados de que este equipo está siendo gestionado por un Fortigate.

Así pues, lo que he querido mostrar hoy es la posibilidad de administrar desde un Firewall algunos parámetros de un switch y con ello ejercer un control sobre los puertos de éste desde éste sin tener la necesidad de acceder a él. Por ejemplo, ante una tarea de mantenimiento, por defecto, dejaremos deshabilitados los puertos que no se utilicen y habilitar uno en caso de ser necesario. Pero si en contreto se trata de una tarea ejercida por un personal externo a la organización como puede ser la ingeniería que construyó la citada maquinaria podríamos, crear una VLAN concreta, asignarla aun puerto del switch y que todo el tráfico pase por el firewall hacia los equipos autorizados, teniendo registro y control de lo que se realice. Aparte, someterlo a filtrado de capa 7, generando los logs pertinentes y registrando evidencias de lo que suceda.

Además, hemos de recordar que los equipos FortiGate también disponen de un controlador Wi-Fi con lo que de forma análoga podremos administrar puntos de acceso tal y como se muestra en la imagen siguiente.

Esto lo podríamos acompañar como puede ser el software FortiClient tal y como lo hablaba tiempo atrás en la entrada “Controlando a nuestros Proveedores, Parte I” y “Controlando a nuestros Proveedores, Parte II”.

Desde luego este es el aspecto más básico ya que podremos explotar algunas funcionalidades más que por ahora no hemos contemplado.

Un saludo, hasta la próxima!

Firewalls en Capa 2 en entornos OT

En muchas ocasiones se habla que la primera medida técnica a implementar en lo que a seguridad en entornos industriales se refiere es definir los perímetros entre los entornos IT y OT. Para ello empleamos NGFW capaces no sólo de filtrar tanto por IPs y servicios sino realizar DPI (Deep Packet Inspection) a nivel de capa 7 además de otras funcionalidades como Antivirus, IDS/IPS, Anti DoS. Ya dentro del entorno OT, la recomendación es definir áreas, o zonas, más pequeñas y filtrar el tráfico entre ellas por medio de un segundo Firewall. El de «Segmentación».

Físico o virtual, en el supuesto de que un error humano o acción malintencionada se produjese en alguna de ellas, evitaríamos la propagación al resto provocando un daño mayor. Además, si el daño es menor, el tiempo que necesitaremos para recuperar el conjunto de equipos afectado será menor, como menor será su número.

En la siguiente imagen podemos ver una configuración en la dicha separación la hacemos por medio de la definición de Firewalls Lógicos dentro de uno físico del fabricante Fortinet.

El tamaño de estas áreas, zonas o celdas según sea la literatura de referencia, podrá albergar un número mayor o menor de equipos. Una de las opciones es definir una VLAN para cada una de ellas con un único dominio de broadcast y direccionamiento. Esto cubriría aspectos como protocolos industriales que operen en Capa 2 o tráfico multicast como LLDP. De esta manera podremos filtrar cualquier comunicación entre subredes, otras áreas, servidores en IDMZ (Industrial DMZ), estaciones de ingeniería, etc. Todo este tráfico pasaría por el Firewall de “Segmentación”.

Esto supone asumir que una acción malintencionada en la misma subred podría tener éxito ya que el control se efectúa cuando llega, al menos, en Capa 3. No en Capa 2. Pero, ¿qué ocurre si por alguna razón tenemos que llevar a cabo un filtrado a nivel de Capa 2 a un nivel más bajo y un número de equipos más reducido? Quizás una de las respuestas sea el cambio, o rediseño, del plan de direccionamiento de la/las área/s OT en cuestión y así escalar hasta el siguiente nivel. Sin embargo, esto no puede ser viable.

Mejor pongamos un ejemplo gráfico:

Como podemos observar en esta celda disponemos de un convertidor de fibra a cobre hacia un switch (Switch 1) donde se localizan un HMI y del que cuelga otro (Switch 2) al que se encuentran conectados otros controladores, componentes “Safety”, control de movimiento, etc. Si por alguna razón dicho HMI sufriera alguna infección o se quisiera llevar acabo alguna acción malintencionada, podría alcanzar el resto de equipamiento conectado. Vemos que todo se ubica en un mismo dominio de broadcast y con direccionamiento bajo 192.168.0.0/24.

El problema que se plantea es que el HMI sea un equipo con un sistema operativo sin actualizaciones o fuera de soporte. Bien porque la actualización de éstos pueda ser difícil, aunque no imposible, y por otro lado dado, el ciclo de vida elevado, genera más probabilidad de falta de actualizaciones, nuevos desarrollos, pero siguiendo 100% funcionales. Esto puede suponer un riesgo importante a los equipos ubicados en el otro switch de donde cuelgan autómatas, controladores y otros sistemas.

Sin embargo, no podemos olvidar que las intervenciones en entornos OT no sólo deben ser lo menos intrusivas posible sino, que no alteren la operación normal de las instalaciones. El despliegue de soluciones debe ser transparente y con un nivel de riesgo lo más cercano a cero. Como ya sabemos el riesgo igual a cero, no existe.

Cada cambio introduce un riesgo. Por mucho que lo preparemos, planifiquemos, involucremos a todas las personas que puedan responder ante alguna acción no prevista, siempre puede suceder algo que no esté contemplado. La falta de respuesta en tiempo y forma puede desembocar en la pérdida de disponibilidad. Por ello, cuanto menor sea la cantidad de acciones a realizar mejor. Hemos de guardar un equilibrio entre simplicidad y eficiencia.

Es por todo lo anterior que hemos de considerar el uso y funcionalidades a nivel de capa 2 que ofrecen los cortafuegos. Esto es, filtrar el tráfico entre dispositivos que se encuentren en la misma red y tratar de proteger de forma individualizada todos los elementos desplegados en ella sin requerir cambios adicionales. Esto nos permitirá mantener el direccionamiento intacto siendo la única pérdida de servicio, a priori, los segundos que empleemos en conectar el equipo en nuestra red. Obviamente esto introducirá un punto más de fallo, algo que deberemos asumir si lo que queremos es que otro elemento nos proporcione la seguridad que pretendemos.

Por tanto, cuanto más reduzcamos el riesgo sin intervenir en los equipos finales, indudablemente mejor. Claro está esto también dependerá de la criticidad del equipo, su funcionalidad, ciclo de vida, soporte, entre otros factores. Sin embargo, esto no debe ser algo que deba ser así siempre. Para alcanzar unos niveles lo más completos e integrales posibles hemos de aplicar aquellas que estén disponibles en PLCs, switches industriales, entre otros. Aquí os dejo aquellas que podremos encontrar en autómatas modelo S7-1200 del fabricante Siemens.

En el día de hoy he querido destacar la necesidad de uso de modos y funcionalidades a nivel de capa 2 para proteger los entornos industriales, evitando así cambios o interfiriendo en la operativa aunque esto sea tan sencillo como cambiar una dirección IP.

En sucesivas entradas abordaremos este tema y la manera de cubrir estas necesidades. Esto es uso de firewalls a nivel de capa 2, en lugar de 3, como es a lo que estamos más acostumbrados.

¡Nos vemos en la siguiente!