¿Qué es El Firewall Descomplicado o Uncomplicated Firewall en Ubuntu?
En este post les hablaré de una solución perimetral denominada “Uncomplicated Firewall”, encontrada en una de las distribuciones más populares basadas en Linux conocida como “Ubuntu”.
¿Qué es un firewall?
Un firewall es un dispositivo de red, que puede ser software (host-based) o un dispositivo de hardware, utilizado para monitorear el tráfico que pasa a través de él, con el fin de bloquear o permitir paquetes, basándose en un conjunto de reglas y capacidades; con un firewall usted puede brindar seguridad perimetral, creando un muro entre su red interna y redes poco confiables, como la internet.
¿Qué es Uncomplicated Firewall?
Es un front end para Iptables desarrollado por Ubuntu e introducido en la versión de Ubuntu 8.04 LTS (Long Term Support) viene por defecto en todas las instalaciones de Ubuntu a partir de la versión 8.04
¿Cuál es su finalidad?
La filosofía de “Uncomplicated Firewall” es hacer un poco más sencilla la gestión del firewall iptables; lo anterior se debe a que la gestión de iptables no es tan sencilla, toma tiempo aprenderlo y comprenderlo. Con “ufw” usted podrá manipular el firewall (gestionar netfilter) de una forma sencilla
¿Cómo obtener ayuda?
Antes de comenzar a utilizar una herramienta, recomiendo leer la documentación relacionada con el producto; en este caso, la documentación relacionada con firewall “ufw”, puede obtener la ayuda proveída por la misma aplicación; en este caso, mediante la utilización de la opción “–help”, con el siguiente comando (imagen 2):
$ufw –help
Imagen 2 -Ayuda comando ufw
También puede obtener ayuda observando la página del manual de ufw con el siguiente comando (imagen 3):
$man ufw
Imagen 3 – Manual utilidad ufw
¿Qué versión de ufw tengo instalada?
Para ver la versión de ufw que tiene en su sistema (imagen 4 e imagen 5), utilice los comandos:
$dpkg -s ufw | grep -i version
imagen 4
$ufw –version
imagen 5
Verificar el estado de ufw (imagen 6 e imagen 7):
imagen 6
imagen 7
¿Cómo habilitar ufw?
Al habilitar el firewall, se activan las políticas por defecto, una de ellas, impide el acceso de conexiones entrantes hacia el servidor; OJO, antes de habilitar el “uncomplicated firewall”, asegúrese de tener acceso al servidor vía Secure SHell, de lo contrario, sería como si “las llaves de su casa se quedaran adentro y usted se quedará por fuera sin poder ingresar”
Para permitir el acceso al servicio SSH en su servidor utilice el siguiente comando (imagen 8):
$sudo ufw allow ssh
Imagen 8
Ya puede activar el firewall, mediante el siguiente comando (imagen 9):
$sudo ufw enable
Imagen 9
Verifique que el servicio ssh está permitido mediante el comando:
$sudo ufw status verbose
En la imagen 10 puede observar que está permitido, sin embargo, el comando usado previamente, no se parametrizó de forma “granular”, lo cual es inconveniente, ya que permite el acceso vía SSH desde cualquier dirección IP.
Imagen 10
Políticas por defecto
Las políticas por defecto se pueden encontrar en el archivo “/etc/default/ufw” (imagen 11)
Imagen 11
Antes de establecer una política por defecto, recuerde siempre el principio del mínimo privilegio, el firewall “ufw” ya viene con unas políticas por defecto, que se ejecutan justo en el momento de la activación del firewall, sin embargo aquí les muestro como se podrían establecer estas políticas, mediante la línea de comandos.
Para establecer política por defecto en paquetes entrantes utilice el siguiente comando (imagen 12):
$sudo ufw default deny incoming
Imagen 12
Establecer política por defecto en paquetes salientes utilice el siguiente comando (imagen 13):
$sudo ufw default allow outgoing
Imagen 13
¿Qué son los perfiles de aplicaciones en ufw?
Los perfiles de aplicaciones (application profiles) en ufw, permiten definir información relacionada con aplicaciones, como ejemplo, usted podría definir un perfil para el servicio apache, un perfil para el servicio Nginx, etc. Los perfiles se pueden encontrar en el directorio “/etc/ufw/applications.d” (imagen 14)
Imagen 14
En la imagen anterior se puede observar un perfil relacionado con el servicio “CUPS”, dicho perfil contiene lo siguiente (imagen 15)
Imagen 15
¿Cómo crear el perfil de una aplicación?
Para crear el perfil de una aplicación, debe crear un archivo dentro del directorio “/etc/ufw/applications.d” (imagen 16), el archivo debe tener el siguiente contenido:
Ejemplo para el protocolo SIP (imagen 17):
[SIP]
title=SIP
description= Session Initiation Protocol
ports=5060/udp|5061/tcp
Imagen 16
Imagen 17
Una vez creado el perfil deseado, recargue los perfiles mediante el siguiente comando (imagen 18):
$sudo ufw app update
Imagen 18
Liste los perfiles de aplicaciones mediante el siguiente comando (imagen 19):
$sudo ufw app list
Imagen 19
Si desea ver la información sobre el perfil de aplicación, utilice el comando (imagen 20):
$sudo ufw app info SIP
Imagen 20
A continuación puede ver como se añade una regla en la cual se utiliza el perfil de la aplicación “SIP”, para permitir el acceso desde la red “192.168.200.0” hacia los puertos 5060 y 5061 del host 192.168.0.12 (imagen 21)
Imagen 21
observe el estado del ufw (imagen 22):
Imagen 22
¿Cómo añadir una regla?
Para añadir reglas se tienen múltiples opciones, en la imagen a continuación se utiliza un comando mediante el cual se dará acceso al puerto 80 del servidor, desde cualquier dirección IP (imagen 23)
Imagen 23
A continuación puede ver un comando mediante el cual se permite el acceso desde cualquier dirección IP, hacia el servidor en el puerto 443, está regla sería útil para brindar acceso al servicio HTTPS (imagen 24)
Imagen 24
A continuación puede ver el comando mediante el cual se permite el acceso desde el host 192.168.200.2 hacia el puerto 3306 del servidor, esta regla sería útil para brindar acceso al servicio de bases de datos MYSQL (imagen 25)
Imagen 25
A continuación puede ver el comando mediante el cual se deniega el acceso desde el host 192.168.200.2 hacia cualquier host en el rango de puerto desde el 8000 hasta el 8200 tcp (imagen 26), esta regla sería útil para brindar acceso al rango de puertos especificado, podría pensar en una regla similar (con diferentes puertos) para el protocolo Real-time Transport Protocol (RTP) en el caso de aplicaciones relacionadas con Voz sobre IP como Asterisk
Imagen 26
¿Cómo borrar las reglas?
Para borrar reglas añadidas, es recomendable utilizar el listado numerado (imagen 27) mediante la utilización del comando:
$sudo ufw status numbered
Imagen 27
Teniendo un panorama claro de la numeración de las reglas, se puede determinar con mayor precisión, cuál de ellas se debe borrar, en este caso se borra la regla número 6 (imagen 28):
Imagen 28
Si prefiere no hacerlo de forma numerada, debe escribir la regla tal cual la ingreso anteponiendo la opción delete, como puede ver en la próxima imágen
Imagen 29
Imagen 30
¿Es lo único que se puede hacer con Uncomplicated Firewall?
NO, usted puede configurar reglas aún más complejas con este sencillo front end, sin embargo, dichas reglas dependerán de las políticas de seguridad de su empresa; recuerde siempre el principio del menor privilegio y configure el firewall de la forma más consciente posible
Espero les guste este post, hasta la próxima.
¿Te gustó este post? por favor déjanos tus comentarios! Sé un buen HackerPro y comparte con tu comunidad! Suscríbete a Behackerpro
Suscríbete hoy a nuestros Cursos Exploratorios
Otras Entradas
Introducción a la Seguridad en AI – Parte 2
Después de entender los principales ataques, técnicas, tácticas y procedimientos...
Leer másIntroducción a la Seguridad en AI
Cuando hablamos de Seguridad en AI (Artificial Intelligence o Inteligencia...
Leer más5 pilares para Hackers o Profesionales en Ciberseguridad desde una perspectiva técnica
Después de la master class que realizamos en Be Hacker...
Leer más