Cómo instalar y configurar el cortafuegos UFW en Ubuntu/Debian

Echemos un vistazo a un cortafuegos realmente fácil de usar, el cortafuegos UFW. Como administrador del sistema, es nuestro deber asegurarnos de que los sistemas en los que trabajamos estén protegidos contra los atacantes. Existen múltiples métodos para incorporar en términos de seguridad de la red, pero el más fundamental comienza con un firewall. Y Linux ofrece un cortafuegos muy robusto y personalizable para todos sus usuarios.

Cuando se trabaja con redes en cualquier sistema Linux, el método más común para manipular o controlar paquetes de datos es con el uso de la Cortafuegos IPTables interfaz. Pero para los usuarios que requieren una configuración básica y no quieren profundizar en sus firewalls, las IPTables pueden volverse realmente abrumadoras y complicadas.

UFW cierra esta brecha para los usuarios promedio. Al proporcionar una interfaz para IPTables, UFW simplifica la configuración del firewall y lo hace accesible incluso para los principiantes. ¿Cómo funciona el cortafuegos UFW? ¿Cómo configurar el cortafuegos UFW? ¿Cómo configurar el cortafuegos UFW? Responderemos a todas estas preguntas en este tutorial.

Ilustración de UFW e Iptables

Tabla de contenido

¿Qué es el cortafuegos UFW en Ubuntu/Debian?

UFW o Muro de fuego sin complicaciones es exactamente lo que sugiere el nombre. Es una utilidad de configuración de cortafuegos que simplifica la configuración para el usuario común. Interactúa con IPTables y realiza cambios con el uso de IPTables mientras ofrece un uso de comandos realmente simple.

Trabajar con el cortafuegos UFW en Ubuntu/Debian

Con Ubuntu , UFW viene preinstalado, pero en Debian , necesitamos instalar el paquete. Correr apt install ufw Para empezar.

De forma predeterminada, UFW está deshabilitado. Podemos confirmar esto ejecutando el comando ufw status. Para habilitar el firewall, escribiremos ufw enable .

                      
[email protected]:~# ufw status
Status: inactive

[email protected]:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?

[email protected]:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)


                    

¿Dónde se encuentra el archivo de configuración de UFW?

El archivo de configuración de UFW es /etc/default/ufw que contiene valores predeterminados básicos para el firewall UFW. Este archivo no le permite configurar reglas de firewall, sino políticas predeterminadas de cómo se comporta el firewall con paquetes que no tienen reglas especificadas.

Archivo de configuración de valores predeterminados del cortafuegos Ufw

Configuración de UFW en Ubuntu

Para configurar el cortafuegos, comenzaremos configurando algunas reglas fundamentales. En un servidor, cualquier puerto que no esté explícitamente abierto debería denegar una conexión entrante. Se deben permitir todas las conexiones salientes. Activaremos ambas reglas con los siguientes comandos.

                      
[email protected]:~# ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

[email protected]:~# ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

                    

Ahora que hemos configurado los valores predeterminados, configuraremos reglas específicas para nuestro propósito.

Permitir y denegar conexiones en puertos específicos con UFW Firewall

Ahora sabemos que UFW negará todo lo que entra y permitirá todo lo que salga. Reduzcamos aún más. Seguro que queremos negarlo todo, pero aún queremos permitir un par de puertos para que los usuarios externos tengan acceso, por example, nuestro servidor web y servidor ssh. Primero permitiremos http y https acceder a nuestro servidor.

                      
[email protected]:~# ufw allow http
Rule added
Rule added (v6)

[email protected]:~# ufw allow https
Rule added
Rule added (v6)
[email protected]:~#

                    
Ufw Permitir tráfico Http Https Ufw Permitir tráfico Http Https

Del mismo modo, vamos permitir tráfico ssh .

                      
[email protected]:~# ufw allow ssh

                    

Una vez hecho esto, podemos verificar todas las reglas que se han agregado a la lista de reglas de UFW usando el estado ufw.

                      
[email protected]:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

                    
Estado Ufw Puertos permitidos Estado Ufw Puertos permitidos

Como habrás notado, las reglas se agregaron dos veces; Una vez para IPv4 y otra vez para IPv6. Esto se debe a que el kernel de Linux considera estos tipos de IP como redes diferentes y las utilidades de interfaz como IPTables y UFW interactúan de manera similar al separar las versiones de IP como redes diferentes.

Si desea especificar el número de puerto en lugar del protocolo podemos hacerlo de manera similar a como lo hicimos con los comandos anteriores.

                      
[email protected]:~# ufw deny 2020

                    

Esto denegará todo el tráfico en el puerto 2020.

Permitir o denegar rangos de puertos con UFW Firewall

Permitir o denegar puertos con el firewall UFW individualmente es una cosa. Pero cuando trabaja con muchos puertos que deben estar abiertos para que una aplicación funcione, permitir puertos individualmente es muy inconveniente. Veamos cómo podemos permitir múltiples puertos con el firewall UFW en Debian o Ubuntu.

Usaremos el siguiente formato para especificar rangos de puertos.

                      
[email protected]:~# ufw allow 2020:2025
ERROR: Must specify 'tcp' or 'udp' with multiple ports

[email protected]:~# ufw allow 2020:2025/tcp
Rule added
Rule added (v6)

[email protected]:~# ufw deny 2020:2025/udp
Rule added
Rule added (v6)

                    

Al trabajar con puertos únicos, no necesitamos especificar si tienen que ser conexiones TCP o UDP, pero con múltiples puertos, nos dará un error si no mencionamos explícitamente qué tipo de conexión estamos aceptando.

Permitir o denegar direcciones IP y rangos de IP

Dependiendo de cómo desee que se comporte su red, puede crear reglas basadas en IP para interactuar con los paquetes de datos que golpean su firewall. Miremos un example donde quiero denegar todos los paquetes salientes de mi 10.1.1.151. Ahora, esta es una dirección IP local pero puede hacer lo mismo para las direcciones IP WAN.

                      
[email protected]:~# ufw deny out from 10.1.1.151 to any

[email protected]:~# ufw status
Anywhere                   DENY OUT    10.1.1.151

                    
Ufw niega el tráfico saliente desde la dirección IP Ufw niega el tráfico saliente desde una dirección IP específica

La última línea confirma que todo el tráfico que viene DESDE 10.1.1.151 y en marcha PARA CUALQUIER dirección IP va a ser DENEGADO . Para usar este comando para el tráfico entrante, todo lo que tenemos que hacer es cambiar la parte donde dice fuera para en .

Para denegar un rango de IP, debe aprender a usar las máscaras de subred. No es posible denegar un grupo específico de direcciones IP con el uso de máscaras de bits. Para aprender cómo funcionan las máscaras de bits y cómo dividir en subredes las direcciones IP en su red, aquí está el pagina wiki que explica esto con gran detalle.

Entonces para examplesi quiero asignar una regla a una subred de 8 Direcciones IP, ejecutaré el siguiente comando.

                      
[email protected]:~# ufw allow out from 10.1.1.151/29 to any
WARN: Rule changed after normalization
Rule added

                    

El comando anterior calculará de manera inteligente la primera dirección IP en la subred y agregará una regla que incluirá la dirección IP deseada automáticamente. Vea la siguiente captura de pantalla para saber qué regla se agregó para el comando anterior.

Ufw Permitir rango de subred de direcciones IP Ufw Permitir rango de subred de direcciones IP

La primera dirección IP en esta subred que incluye la IP 10.1.1.151 es 10.1.1.144.

Permitir o denegar conexiones en interfaces de red específicas

Con las computadoras personales, la cantidad de interfaces de red será limitada. Tendría una interfaz ethernet y una interfaz Wifi. Con los servidores, la situación más probable es que tenga muchos más puertos. Probablemente también tenga puertos virtuales junto con puertos físicos.

En este caso, si desea que a una interfaz se le nieguen las conexiones hacia y desde las redes externas, no tiene sentido especificar la dirección IP cuando simplemente podemos especificar el nombre de la interfaz de red.

¿Cómo puede encontrar las interfaces de red en su sistema? Con el ifconfig mando. Si escribe el comando solo sin ninguna opción, verá todas las interfaces activas en su sistema. Con el -a opción, incluso los deshabilitados se muestran.

Salida del comando ifconfig Salida del comando ifconfig

Para trabajar con una de las interfaces, ejecutaremos el siguiente comando.

                      
[email protected]:~# ufw allow in on ens3 to any
Rule added
Rule added (v6)

[email protected]:~# ufw status
To                         Action      From
Anywhere on ens3           ALLOW       Anywhere
Anywhere (v6) on ens3      ALLOW       Anywhere (v6)

                    

Eliminación de reglas UFW existentes

Podemos eliminar reglas fácilmente con el uso de la numerado opción para el estado ufw mando.

                      
[email protected]:~# ufw status numbered

                    
Reglas de estado Ufw numeradas Reglas de estado Ufw numeradas

Con el eliminar comando, podemos especificar el número en el lado izquierdo para eliminar la regla adyacente.

                      
[email protected]:~# ufw delete 15
Deleting:
 allow in on ens3
Proceed with operation (y|n)? y
Rule deleted (v6)

                    

Lo anterior eliminará la regla número 15 de la lista, como puede ver en la captura de pantalla a continuación.

Regla Ufw eliminada Regla Ufw eliminada

Conclusión

Una configuración de firewall sólida es la primera y la medida de seguridad más accesible con la que debe comenzar un administrador de servidores. Ya sea que su configuración incluya un solo servidor o varios servidores con un sistema dedicado a manejar el firewall, aprender a usar UFW en Debian o UFW en Ubuntu es clave para proteger sus sistemas.

los páginas man para el firewall UFW cubre una funcionalidad más detallada en profundidad que puede leer cuando sea necesario. Esperamos que este tutorial te haya sido útil.

Related Posts