Configurar UFW (Firewall sin complicaciones) en Ubuntu

La herramienta de configuración de firewall predeterminada para Ubuntu es ufw. Desarrollado para facilitar la configuración del firewall iptables, ufw proporciona una forma fácil de usar para crear un firewall basado en host IPv4 o IPv6. De forma predeterminada, UFW está deshabilitado.

Sintaxis básica y ejemplos

Las reglas predeterminadas están bien para el usuario doméstico promedio

Cuando activa UFW, utiliza un conjunto predeterminado de reglas (perfil) que debería estar bien para el usuario doméstico promedio. Ese es al menos el objetivo de los desarrolladores de Ubuntu. En resumen, todo lo ‘entrante’ está siendo denegado, con algunas excepciones para facilitar las cosas a los usuarios domésticos.

Habilitar y deshabilitar

Habilitar UFW

Para activar UFW con el conjunto predeterminado de reglas:

sudo ufw enable

Para comprobar el estado de UFW:

sudo ufw status verbose

El resultado debería ser así:

youruser@yourcomputer:~$ sudo ufw status verbose
[sudo] password for youruser:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
youruser@yourcomputer:~$

Tenga en cuenta que, de forma predeterminada, se está aplicando denegar a la entrada. Hay excepciones, que se pueden encontrar en la salida de este comando:

sudo ufw show raw

También puede leer los archivos de reglas en /etc/ufw (los archivos cuyos nombres terminan con .rules).

Deshabilitar UFW

Para deshabilitar el uso de ufw:

sudo ufw disable

Permitir y denegar (reglas específicas)

Conceder

sudo ufw allow <port>/<optional: protocol>

ejemplo: Para permitir el paquete tcp y udp entrante en el puerto 53

sudo ufw allow 53

ejemplo: Para permitir paquetes TCP entrantes en el puerto 53

sudo ufw allow 53/tcp

ejemplo: Para permitir paquetes udp entrantes en el puerto 53

sudo ufw allow 53/udp

Negar

sudo ufw deny <port>/<optional: protocol>

ejemplo: Para denegar paquetes TCP y UDP en el puerto 53

sudo ufw deny 53

ejemplo: Para denegar paquetes TCP entrantes en el puerto 53

sudo ufw deny 53/tcp

ejemplo: Para denegar paquetes udp entrantes en el puerto 53

sudo ufw deny 53/udp

Eliminar regla existente

Para eliminar una regla, simplemente prefije la regla original con delete. Por ejemplo, si la regla original era:

ufw deny 80/tcp

Use esto para eliminarlo:

sudo ufw delete deny 80/tcp

Servicios

También puede permitir o denegar por nombre de servicio ya que ufw lee desde /etc/services Para ver obtener una lista de servicios:

less /etc/services

Permitir por nombre de servicio

sudo ufw allow <service name>

ejemplo: para permitir ssh por nombre

sudo ufw allow ssh

Denegar por nombre de servicio

sudo ufw deny <service name>

ejemplo: para denegar ssh por su nombre

sudo ufw deny ssh

Estado

IconosPágina/importante.png Al verificar el estado de ufw, se le indicará si ufw está habilitado o deshabilitado y también se enumerarán las reglas actuales de ufw que se aplican a sus iptables.

Para comprobar el estado de ufw:

sudo ufw status

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     ALLOW   192.168.0.0/24
22:udp                     ALLOW   192.168.0.0/24

si ufw no estuviera habilitado, el resultado sería:

sudo ufw status
Status: inactive

Registro

Para habilitar el uso del registro:

sudo ufw logging on

Para deshabilitar el uso de registro:

sudo ufw logging off

Sintaxis avanzada

También puede utilizar una sintaxis más completa, especificando las direcciones, puertos y protocolos de origen y destino.

Permitir acceso

En esta sección se muestra cómo permitir un acceso específico.

Permitir por IP específica

sudo ufw allow from <ip address>

ejemplo: Para permitir paquetes desde 207.46.232.182:

sudo ufw allow from 207.46.232.182

Permitir por subred

Puede usar una máscara de red:

sudo ufw allow from 192.168.1.0/24

Permitir por puerto específico y dirección IP

sudo ufw allow from <target> to <destination> port <port number>

Ejemplo: permitir el acceso de la dirección IP 192.168.0.4 al puerto 22 para todos los protocolos

sudo ufw allow from 192.168.0.4 to any port 22

Permitir por puerto específico, dirección IP y protocolo

sudo ufw allow from <target> to <destination> port <port number> proto <protocol name>

Ejemplo: permitir el acceso de la dirección IP 192.168.0.4 al puerto 22 mediante TCP

sudo ufw allow from 192.168.0.4 to any port 22 proto tcp

Habilitar PING

Nota: La seguridad por oscuridad puede ser de muy poco beneficio real con los scripts de cracker modernos. De forma predeterminada, UFW permite solicitudes de ping. Es posible que desee dejar habilitadas las solicitudes de ping (icmp) para diagnosticar problemas de red.

Para deshabilitar las solicitudes de ping (icmp), debe editar /etc/ufw/before.rules y eliminar las siguientes líneas:

# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

o cambie el botón «ACEPTAR» por «DROP»

# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type source-quench -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Denegar acceso

Denegar por IP específica

sudo ufw deny from <ip address>

ejemplo: Para bloquear paquetes desde 207.46.232.182:

sudo ufw deny from 207.46.232.182

Denegar por puerto y dirección IP específicos

sudo ufw deny from <ip address> to <protocol> port <port number>

ejemplo: denegar el acceso a la dirección ip 192.168.0.1 al puerto 22 para todos los protocolos

sudo ufw deny from 192.168.0.1 to any port 22

Trabajar con reglas numeradas

Reglas de listado con un número de referencia

Puede usar el estado numerado para mostrar el orden y el número de identificación de las reglas:

sudo ufw status numbered

Edición de reglas numeradas

Eliminar regla numerada

A continuación, puede eliminar las reglas utilizando el número. Esto eliminará la primera regla y las reglas se desplazarán hacia arriba para completar la lista.

sudo ufw delete 1

Insertar regla numerada

sudo ufw insert 1 allow from <ip address>

Ejemplo avanzado

Escenario: Desea bloquear el acceso al puerto 22 desde 192.168.0.1 y 192.168.0.7, pero permitir que todas las demás direcciones IP 192.168.0.x tengan acceso al puerto 22 mediante tcp

sudo ufw deny from 192.168.0.1 to any port 22
sudo ufw deny from 192.168.0.7 to any port 22
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

IconosPágina/importante.png Esto pone las reglas específicas en primer lugar y las genéricas en segundo lugar. Una vez que una regla coincide, las demás no se evaluarán (consulte el manual a continuación), por lo que debe poner las reglas específicas primero. A medida que cambian las reglas, es posible que deba eliminar las reglas antiguas para asegurarse de que las nuevas reglas se pongan en el orden adecuado.

Para verificar sus pedidos de reglas, puede verificar el estado; Para el escenario, el resultado siguiente es el resultado deseado para que las reglas funcionen correctamente

sudo ufw status
Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     ALLOW   192.168.0.0/24

Cambio de escenario: Desea bloquear el acceso a los puertos 22 a 192.168.0.3, así como a 192.168.0.1 y 192.168.0.7.

sudo ufw delete allow from 192.168.0.0/24 to any port 22
sudo ufw status
Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7

sudo ufw deny 192.168.0.3 to any port 22
sudo ufw allow 192.168.0.0/24 to any port 22 proto tcp
sudo ufw status

Firewall loaded

To                         Action  From
--                         ------  ----
22:tcp                     DENY    192.168.0.1
22:udp                     DENY    192.168.0.1
22:tcp                     DENY    192.168.0.7
22:udp                     DENY    192.168.0.7
22:tcp                     DENY    192.168.0.3
22:udp                     DENY    192.168.0.3
22:tcp                     ALLOW   192.168.0.0/24

Fuente: UFW – Community Help Wiki (ubuntu.com)

Last modified: 3 de abril de 2022

Comments

Write a Reply or Comment