Protegiendo Windows 8: Firewall el gran olvidado (I)


Ha llegado la hora de retomar un clásico de la Seguridad perimetral, el cortafuegos. Hace unos años, el cortafuegos era el centro de atención en la seguridad perimetral, superada esta etapa, donde todo el mundo parece entender la necesidad de disponer de un cortafuegos en sus sistema, da la impresión de que el cortafuegos ha pasado a un segundo plano y no se le da la importancia que se merece. Así que me he propuesto escribir un artículo donde analizar la seguridad del cortafuegos que trae Windows 7/8 por defecto, y ver como se puede sacar provecho del mismo, obteniendo un mayor nivel de protección y seguridad.

INDICE                                                                                                                                                                                      

Introducción

El propio sistema operativo (Windows) trae por defecto un cortafuegos con la capacidad de controlar tanto las conexiones entrantes (desde Internet hacia el ordenador) y salientes (desde el ordenador hacia Internet). Las palabras anglosajonas, comúnmente, utilizadas para referirse a esto son: inbound y outbound.

Voy a suponer que el lector, sabe y/o conocer el funcionamiento básico de un cortafuegos, pero por si las moscas, hago un "breve" inciso donde doy la definición:

Un cortafuegos (en informática) es una parte de un sistema o un dispositivo de red diseñado para bloquear y/o autorizar la comunicación de red entre dispositivos o programas.[Más]

Si nos paramos a pensar en el comportamiento que tiene la mayoría del malware, descubriremos que  normalmente establecen conexiones con equipos remotos iniciando ésta desde dentro de la red (tráfico outbound), utilizando para ello los puertos destino, habilitados por defecto, 80, 443, pues son los más utilizados para navegar por Internet.

Lo interesante de ese comportamiento, no es descubrir que el cortafuegos es ineficaz para detectar y bloquear estas conexiones al exterior sin nuestro conocimiento, sino estudiar las capacidades que tiene nuestro cortafuegos para frenar y/o dificultar esas conexiones a los posibles agentes malware que logren introducirse en nuestros sistemas.

Me explico, el cortafuegos que trae Windows (7/8) por defecto, tiene la capacidad de controlar el flujo de tráfico tanto inbound como outbound. Pero lo más interesante es que puede crear las reglas de paso en el cortafuegos según el proceso o programa que origina dicho tráfico de red.

¿Porque es importante?

Imaginemos por caso, que utilizamos el Mozilla Firefox para navegador por la web (firefox.exe) con las opciones que nos permite el cortafuegos de Windows 7/8, se puede controlar el tráfico a los puertos 80, 443 (outbound) permitiendo el tráfico solamente a ese programa. Seguro que ya intuyes, que si otro programa que no sea firefox.exe intenta realizar una conexión al puerto remoto 80 será parado por el cortafuegos impidiendo que se establezca dicha comunicación.

Si el proceso no autorizado fuera un malware, estaríamos impidiendo que se comunicase condenando al mismo a vivir aislado en nuestro equipo. Por supuesto, no estoy diciendo que el firewall bien configurado sea capaz de inutilizar todo tipo de malware, lo que si es seguro es que limitará sus capacidades de comunicación, lo que reducirá sus posibilidades de éxito, e incluso, en algunos casos quedará totalmente aislado sin capacidad reactiva, al no poder actualizarse, recibir instrucciones o finalizar su cometido.

y ¿Cuál es el problema?

Microsoft, a  pesar de incluir un buen sistema de protección "cortafuegos" por defecto, su gestión y administración se convierte en todo un reto incluso para gente que se dedica profesionalmente a ello. Por este motivo, el sistema operativo Windows desactiva la protección para las conexiones salientes (outbound) por defecto, permitiendo que todos los programas se puedan comunicar sin problemas, lo que permite que los usuarios de su sistema no inunden las redes con quejas y preguntas sobre ¿porque no puedo entrar a facebook?.

Esto por supuesto, en la actualizada con la amenaza permanente del zero-day en aplicaciones tan comunes como Adobe, Java, Flash, etc.. deja nuestros equipos demasiado desprotegidos y vulnerables, a pesar de disponer de un sistema antivirus totalmente actualizado.

Solución

Desde la sección #ST2Labs, me he propuesto analizar algunas alternativas que he encontrado para potenciar las capacidades del cortafuegos que trae el sistema por defecto. Es decir, ¿existe alguna forma de gestionar de forma sencilla las reglas del cortafuegos de Windows para tráfico saliente? A continuación espero contestar y ofrecer alguna respuesta al respecto.

NOTA: Hay que ser conscientes de que activar la protección de cortafuegos para tráfico de red outbound, puede genera, al inicio, que algunas aplicaciones poco comunes dejen de funcionar al no estar autorizadas en el cortafuegos. Por ello, recomiendo disponer de tiempo para enfrentarse a los pequeños problemas de comunicaciones que se pueden sufrir inicialmente en el periodo de activación y manejo del cortafuegos en este modo de operación. Es interesante recordar que para navegar por Internet es necesario permitir el tráfico UDP al puerto 53, así como HTTP 80, 443. (Son los mínimo y más comunes). Pero cada uno deberá analizar antes de activar la protección si utiliza un sistema proxy, o accede a cualquier otro servicio WEB por un puerto que no sea el estandar, ejemplo: 8080, 1080, etc. | Ejemplo, algunos servidores de música en streaming por HTTP, utilizando puertos diferentes al 80, por lo que podrían dejar de funcionar. Mi recomendación, revisa las aplicaciones que mas utilizas, haz una lista (programa:puerto) antes de empezar a configurar el cortafuegos para gestionar y controlar el tráfico de salida. Las notificaciones (alertas) dinámicas de conexiones nuevas son muy útiles sobre todo en la fase de aprendizaje/configuración inicial.

Windows Firewall Notifier

WFN (Windows Firewal Notifier) es una aplicación  gratuita que extiende el funcionamiento por defecto de cortafuegos de Windows Vista/7.

¿Porque es necesario? Como he comentado antes la interfaz que tiene el cortafuegos de windows por defecto adolece de algunas características que faciliten la gestión y administración de las reglas del cortafuegos, haciendo esta administración difícil incluso para personas que se dedican profesionalmente a ello. Ejemplo, no disponer de un sistema de notificaciones para tráfico saliente (outbound).

Con WFN extiendes la interfaz permitiendo la generación de reglas "outbound" de forma dinámica según las necesidades de comunicación.

En el momento que se genera una comunicación, aparecerá un dialogo preguntando ¿que hacer? aceptar y/o bloquear creando una regla temporal o permanente. Si es una aplicación que utilizas a diario, generas la regla de forma permanente y listo, si ha sido una acción puntual, la autorizas temporalmente.

Esta aplicación funciona creando un proceso repetitivo (task scheduled) que analiza el gestor de eventos para determinar cuando se genera una conexión nueva y quién la genera, en ese momento salta una alerta en forma de ventana de dialogo. Para el correcto funcionamiento de esta aplicación se necesita habilitar el registro (logs) de las conexiones salientes (outbound - deshabilitado por defecto), que automáticamente realiza la aplicación cuando es instalada.

Download

Windows Firewall Notifier (WFN.zip)
Version: 1.7.0 
Size: 146.26 Kb 
OS: Windows 7 / Vista 
Last Update: 04/28/2012 
Language: C# 
Downloads: 48571 (2013.05.01) 
SHA1f9204c85c6f6847443491981a52604233f565a75
No soporta Windows 8 - de momento.

Instalación

Un vez descargado, se descomprime el archivo (WFN.zip) en una carpeta del Sistema. 



Recordar que una vez elegida la carpeta donde lo has copiado, no debe de ser cambiada de nombre y/o movida de lugar, esto provocaría que el programa (aplicación) dejara de funcionar correctamente.

Primera ejecución - Activar sistema de notificación de conexiones salientes en el cortafuegos de Windows.

Ahora que ya esta instalado (no requiere pasos adicionales, solo descomprimir), se puede ejecutar por primera vez (Console.exe), donde realizará las siguientes tareas automáticas:

  • Activa el cortafuegos por defecto de Windows.
  • Configurar el bloqueo de tráfico en ambas direcioens (inbound y outbound) para cualquier tráfico que no coincida con una regla existente.
  • Activa las notificaciones de conexiones entrantes (inbound) por defecto del cortafuegos.
  • Habilita el sistema de registro de eventos de seguridad para tráfico saliente (outbound) que se encuentra desactivado por defecto en el Sistema.
  • Crea una tarea en el programador de tareas de windows, para monitorizar el registro de eventos del cortafuegos con objeto de detectar las nuevos intentos de conexión salientes que se generen, y ofreer la creación de reglas dinámica a través de su sistema de notificación.
En mi caso, en cuanto he activado el sistema de notificaciones marcando todas las opciones, incluyendo la  creación de reglas de bloqueo en lugar de usar lista de excepciones, la primera alerta que he recibido es:

Sistema de comprobación de actualizaciones de JAVA

Lo interesante es que puedes generar la regla por defecto, es decir, para cualquier puerto e IP destino, o justo para la conexión saliente, indicando que el puerto 443, y la IP detectada. Por defecto, creará reglas permanentes, a no ser que indiques que esa regla sea temporal y que vuelva a preguntar más tarde.

Lo interesante, es que en el momento que activas (instalas el sistema de notificaciones) te mantiene las conexiones establecidas, en mi caso, las conexiones del navegador WEB. Pero cada vez que el monitor de eventos detecta una conexión bloqueada por el cortafuegos te saltará una alerta para que decidas que hacer si bloquear o autorizar. Por defecto, hace una comprobación del registro de eventos cada 1 seg, pero puede configurarse para que vaya más rápido (consume mas recursos) o más lento.

update rate - Windows Firewall Notifier
En la consola (console.exe) se puede rastrear las conexiones que se están sucediendo en el equipo, ver las conexiones activas (real time), por lo que resulta muy útil para analizar rápidamente que ocurre a nivel de red


Lo interesante es que detecta los navegadores incluye reglas de outbound para que puedas navegar por Internet, con esos programas.

Probamos si funciona realmente el cortafuegos intentando actualizar una aplicación cualquiera, por ejemplo notepad++:

Update notepadd++ is bloqued by Firewall.
En este caso, para crear la regla desactivar la pestaña (service) pues no es realmente un servicio,y dará error. Esto puede ser un pequeño bug de no detectar correctamente si es un servicio o una aplicación. Una vez introducida la regla, ya se puede actualizar sin problemas la aplicación.

Valoración (3,8/5)

Si desde la consola se pudieran generar reglas en el cortafuegos directamente, sobre los procesos que están autorizado y/o conexiones activas, el programa, para mi, estaría muy completo. No obstante, funciona muy bien, no genera notificaciones intrusivas, y proporciona la seguridad de bloquear las conexiones salientes, sin instalar una suite comercial, sino utilizando los recursos que el propio Windows tiene por defecto.

El sistema de notificaciones tiene sus limitaciones, al basarse en la monitorización de los eventos, puede saltar alguna alerta falsa, que haya sido creada pero en el intervalo de refresco (udpate rate) no haya sido detectada, y a pesar de haber sido añadida la regla vuelva a repetirse. No obstante, no es muy frecuente,  y no demasiado molesto. Realiza su función correctamente, en función de lo que promete el autor, mi nota sería de 3,8 sobre 5.

ELIMINACIÓN

En caso de desear desinstalar la aplicación, solo tenéis que desactivar el sistema de notificaciones, indicar al programa que revierta la configuración al estado previo (inicial), y posteriormente eliminar la carpeta donde descomprimisteis el archivo original WFT.zip. !Sencillo no¡ no realiza instalación de librerías en el Sistema.


En el próximo artículo, analizaré otras opciones, en especial una basada en lista de excepciones, eliminando por completo el sistema de notificaciones, promete no ser intrusiva a la vez que efectiva ¿Cubrirá nuestras expectativas?

Para mi si las notificaciones no son intrusivas, prefiero que me notifique con una alerta lo que ocurre, de modo que pueda saber que esta pasando en mi sistema.

Un Saludo.
#ST2Labs rulez.

0 comentarios:

Publicar un comentario