Firewall de Windows
En este apartado indagaremos, con ejemplos y práctica, sobre el uso del Firewall del Windows a través de las distintas funciones que este posee. Se recomienda leer el artículo sobre introducción al Firewall para una mejor comprensión de los siguientes temas.
Table of Contents
TogglePerfiles del Firewall
Si nos dirigimos al Firewall de Windows y damos clic en “Propiedades del Firewall de Windows” se nos abrirá una ventana donde podremos ver en detalle los tipos de perfiles y acciones a tomar.
Tipos
Los Perfiles del Firewall de Windows indican lo siguiente:
Dominio: aplica cuando nuestra máquina esté conectada a un dominio corporativo o pertenezca a un entorno de Active Directory (AD).
Privado: lo aplicaremos cuando estemos conectados a una red de trabajo, oficina o de uso doméstico como nuestra casa.
Público: será cuando nos encontremos dentro de alguna red pública como es el caso de los cibercafé, aeropuertos, restaurantes, etc.
Cada vez que nos conectemos a una red nueva o externa a la nuestra, el Firewall nos preguntará el tipo de perfil en el que nos encontramos. Por lo tanto, tendremos que aplicar las acciones necesarias de configuración. Como vemos en la imagen anterior, se recomienda que el estado del Firewall se encuentra activo siempre para los tres perfiles y, en cuanto a las conexiones, de forma predeterminada todas las que sean entrantes sean bloqueadas y las salientes permitidas.
Podemos verificar el estado de las conexiones y, que el perfil privado es el que está activo, cuando ingresamos a la aplicación:
En el caso de querer cambiar el tipo de red, por ejemplo de privada a pública, nos dirigimos a la configuración del sistema en la sección “Red e Internet”, luego en “Wifi” (en caso de estar conectados por wifi) y nos dirigimos a “Administrar redes conocidas”, damos clic a nuestra conexión wifi y escogemos las propiedades. En este caso, podemos ver que tiene el nombre de “Casa” y abajo las opciones para cambiar de perfil.
IPsec
Las configuraciones IPSec (Internet Protocol Security) refieren a un conjunto de protocolos cuya función es garantizar las comunicaciones privadas de una forma segura a través de internet. Por lo tanto, Windows nos ofrece la posibilidad de aplicar una directiva de seguridad modificando las propiedades de conexión del protocolo tcp/ip para mejorar la seguridad del tráfico en la red.
Por ejemplo, podemos hacer uso de IPsec para obligar a que un determinado dispositivo se autentique cuando intente conectarse con el equipo. También, podemos usarlo para cifrar un determinado tráfico de red, y de esta forma, evitar que los analizadores de paquetes capturen la información que un usuario malintencionado pueda leer.
Reglas Automáticas
Las reglas automáticas son aquellas directivas empleadas para permitir cuál debe ser la acción a tomar de ciertos programas o conexiones entrantes. Las mismas podemos aplicarlas de forma automática o personal.
Aplicación
Cuando tenemos un programa que al ejecutarlo genera una determinada acción en la red. Por ejemplo, como vemos en el escritorio tenemos a hfs.exe, una aplicación que funciona como servidor de archivos, cuya función por defecto es ponerse en “escucha” por el puerto 80:
De forma automática cuando abrimos este archivo, el Firewall de Windows lo bloquea y nos da la posibilidad de aplicar dicha conexión para redes Privadas (también aplica al perfil de Dominio) y Públicas, las cuales se aconseja tener marcadas. A su vez, establece dos opciones: Permitir o Cancelar.
Si permitimos el acceso se creará una regla que permita dicho tráfico en la red, y si lo cancelamos, también se crearán reglas pero con acciones totalmente diferente. Es decir, bloqueará dicho tráfico. Veamos esto a continuación:
Como vemos, al cancelar la ejecución del archivo se nos crean dos reglas dentro del Firewall de Windos (una para tráfico TCP y otra para UDP). Podemos observar que la regla aplica específicamente para la ruta marcada. Sumado a esto, también aplicará para el tipo de perfil que estaba configurado el firewall a la hora de su ejecución.
Por lo tanto, tendremos que configurar de forma manual si queremos que la regla también aplique a otros perfiles luego de cancelarlo. En el caso de querer configurar las reglas para permitir dicha conexión en la primer pestaña hacemos clic en “Permitir acceso”.
Luego en la pestaña “Protocolos y puertos” configuramos dicha conexión solo para TCP, ya que por defecto el programa hfs.exe funciona con este protocolo, y el puerto 80. Como no usamos UDP, podemos eliminar la segunda regla creada dejando solo la primera. Entonces damos en “Aplicar” y luego en “Aceptar” y tendremos nuestra regla configurada.
Conclusión
Como dijimos anteriormente, esta regla aplica para una ruta específica. “C:/Users/lathack1/Desktop/hfs.exe”. Por lo tanto, si cambiamos el nombre del archivo en nuestro escritorio la regla no aplicará. Veamos a continuación:
Por lo tanto, si volvemos a cancelarla, aparecerán en las reglas de entrada de nuestro Firewall como vimos anteriormente.
Para estos casos, aconsejamos leer las Políticas de Restricción de Software (SRP) dentro de la categoría de Seguridad en Windows.
Personalizar configuración de red
Por defecto cuando aceptamos o cancelamos la ejecución de un programa, la regla de entrada se configura de forma automática como vimos anteriormente. Ahora bien, si deseamos cambiar las preferencias podemos irnos a la configuración del Firewall en la siguiente ruta “Panel de control\Sistema y seguridad\Firewall de Windows Defender” le damos clic a “Personalizar la configuración” y se nos aparecerá la siguiente ventana.
Por lo tanto, si destildamos esta opción NO se nos notifcará cuando el Firewall bloquee alguna aplicación, por el contrario, tendremos que ir a las reglas de entrada y realizarlo de forma manual.
Reglas Personalizadas
En el caso de querer personalizar nuestras propias reglas de entrada podemos hacerlo llendo al Firewall de Windos > Reglas de entrada, damos cilc derecho y elegimos la opción “Crear nueva regla” donde se nos aparecerá el siguiente cuadro.
Pasos a seguir
Como vemos, se nos abre un asistente que nos guía para la personalización de las reglas. Estas se basan en cuatro tipos como se muestra en la imagen.
Paso 1
En este caso vamos a personalizar nuestra propia regla, por tanto elegimos la opción “Personalizada” donde se nos abrirá la siguiente ventana
En ella veremos dos opciones en la cual, elegiremos “Todos los programas” para que nuestra configuración sea genérica.
Paso 2
El siguiente paso será configurar nuestra conexión.
Como vemos, al elegir el protocolo TCP, por defecto se nos lista un número de protocolo igual a 6. Para reglas avanzadas podemos elegir el Tipo de protocolo en “Personalizado” y elegir el número del mismo.
Paso 3
Ahora bien, como se muestra en Puerto local y Puerto remoto, no solo podemos elegir un puerto específico, sino también una determinada cantidad (80,443,445, etc) e incluso un rango (5000-5010). En nuestro caso, la configuración para el puerto local será el 80 y en remoto elegiremos todos los puertos. Una vez hecho esto veremos lo siguiente:
Paso 4
En este paso, si queremos podemos especificar para qué tipos de direcciones se aplicará la regla que estamos creando. En caso de querer aplicar a todas las direcciones, como en nuestro caso, no configuramos nada y le damos en Siguiente.
En este caso, esta ventana nos pregunta qué acciones debe tomar el Firewall de Windows ante las configuraciones realizadas. Es decir, podemos configurarla para conexiones establecidas con IPsec y la que no están, o solo con IPsec. También tenemos la opción de bloquear la conexión.
Paso 5
Elegimos la primera opción que incluye conexiones con y sin IPsec, y le damos a Siguiente.
Paso 6
Se nos preguntará cuando queremos aplicar esta regla. Por lo tanto, como hemos configurado las conexiones entrantes con protocolo TCP y puerto 80 a nuestro equipo, elegiremos la opción de Dominio. Ya que esto aplicará para cuando nos encontremos en un entorno corporativo o de Active Directory.
Paso 7
A continuación veremos el siguiente cuadro:
Paso 8
En el mismo tendremos que especificar el nombre de nuestra regla, como así también, y aunque no es obligatorio, es una buena práctica colocar una descripción. A veces, podemos tener varias reglas creadas y una simple descripción nos puede ayudar para saber los principios o utilidad de la misma.
Una vez finalizada nuestra regla, podremos verla junto con sus acciones en la ventana del Firewall de Windows.
Configuración de logs
Por defecto, el Firewall de Windows tiene los logs desabilitados. No obstante, esto podemos modificarlo llendo a las Propiedades de Firewall, luego al perfil quee estemos usando (en este caso el privado) y damos clic en Personalizar dentro de la siguiente opción.
Una vez dentro, veremos lo siguiente:
Por lo tanto, habilitamos la casillas de conexiones como se muestra en la imagen y le damos en Aceptar. Podemos notar que el tamaño de los logs será de 4Mb y la ruta donde se van a guardar es “C:/Windows/System32/LogFiles/Firewall/pfirewall.log” por lo tanto, para acceder necesitamos privilegios elevados.
Para probar el funcionamiento de los mismos, a través de otra máquia (Kali-linux) vamos a generar tráfico hacia nuestra máquina Windows con el comando nmap -A IP_Adress.
Ahora abrimos una terminal como usuario administrador y nos diriijmos a la ruta marcada anteriormente.
Como podemos ver, tenemos el archivo pfirewall.log con datos dentro. Por tanto, si deseamos ver los logs podemos hacer uso del comando type pfirewall.log o para una mejor visualización usando notepad con notepad.exe pfirewall.log. Veamos este último a continuación.
Podemos observar la cantidad de paquetes con y la acción del firewall frente a cada uno de ellos, como aceptarlos, rechazarlos, conexiones descartadas o establecidas, el tiempo y la hora, entre otros..
Verificación de Conexión
A continuación, y para finalizar el uso del firewall en Windows, vamos a comprobar el comportamiento del Firewall estando conectado y desconectado frente a escaneos externos.
Para ello, primero desactivemos nuestro Firewall:
Luego verificamos la conectividad, con nuestra máquia Kali, comprobando los puertos 80 y 445 con el siguiente comando:
En este caso, cuando el Firewall está cerrado o inactivo, el puerto 80 (http) se encuentra cerrado y no pudo tener conexión ya que obtuvo un paquete “reset”. En cambio, para el puerto 445 (https) el puerto se encuentra abierto, ya que la respuesta fue un paquete “syn-ack” cuyo significado refiere a una conexión establecida.
Ahora bien, activemos nuestro Firewall y realicemos el mismo procedimiento.
En este caso, ambos puertos se encuentra en estado “filtered”, es decir que no sabemos si están abiertos o cerrados. Tampoco hemos obtenido un paquete con información detallada, solo podemos saber que ne se ha establecido conexión con dichos puertos.
Esto no significa que cuando realicemos dicho procedimiento todos los puertos estén filtrados, seguramente algunos estén es abiertos. Para estos casos, solo debemos tener en cuenta la configuración de las reglas de entrada para cada puerto y protocolo como hemos mencionado anteriormente.