Primeros pasos con UFW (cortafuegos sin complicaciones) en Ubuntu 20.04

Habilitar UFW

UFW o cortafuegos sin complicaciones es una aplicación para administrar un firewall basado en iptables en Ubuntu. UFW es la herramienta de configuración de firewall predeterminada para Ubuntu Linux y proporciona una forma fácil de configurar el firewall, el comando UFW es como el idioma inglés, por lo que los comandos son fáciles de recordar. El cortafuegos UFW es compatible con IPv4 e IPv6.

UFW proporciona también una aplicación GUI, si usa un escritorio GNOME puede instalar carambao si usa un escritorio KDE puede instalar kcm-ufw.

requisitos previos

  • Versi√≥n de Ubuntu entre 15.04 y 21.04. Las versiones m√°s nuevas de Ubuntu tambi√©n deber√≠an funcionar.
  • privilegios de root

¬ŅQu√© se cubre en este tutorial?

  1. Instalación de UFW.
  2. La sintaxis b√°sica del comando UFW.
  3. El comando Permitir y Denegar UFW.
  4. Comandos UFW avanzados.
  5. Eliminación de una regla en UFW.
  6. Deshabilitar y restablecer UFW.

Instalación de UFW

De forma predeterminada, UFW ya debería estar instalado en ubuntu 20.04. Puedes probar esto con el comando:

which ufw

Si no devuelve la ruta al comando, instale UFW con el siguiente comando apt:

sudo apt-get install ufw

Para los siguientes comandos, use sudo o privilegios de root. Puede convertirse en usuario root con el comando:

sudo -s

Luego ejecute el siguiente comando para habilitar UFW:

ufw enable

Resultado:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

The Basic UFW Command

 

The ¬ęufw enable¬Ľ command will turn on UFW with the default the rules. You can verify that UFW is running by issuing this command:

ufw status verbose

Resultado:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Si desea deshabilitar o apagar UFW, puede usar:

ufw disable

Resultado:

Firewall stopped and disabled on system startup

Habilitar UFW

El comando Permitir y Denegar UFW

1. Comando Permitir UFW

UFW negar√° todas las conexiones entrantes despu√©s de que lo encienda. Entonces, lo primero que debe hacer es permitir el acceso SSH para el servidor si desea administrar el sistema de forma remota. El comando ¬ęufw allow sshport¬Ľ permite el acceso por SSH, reemplace SSHPORT con el puerto del servicio SSH, el puerto SSH predeterminado es 22.

ufw allow 22

Resultado:

Rules updated
Rules updated (v6) #For IPv6

Si desea permitir conexiones entrantes en el puerto 22 solo para TCP, agregue al final del comando ¬ę/tcp¬Ľ como se muestra en el siguiente ejemplo.

ufw allow 22/tcp

Cuando el servicio al que desea permitir el acceso est√° escuchando en su puerto predeterminado, puede usar el nombre del servicio en lugar del n√ļmero de puerto. Esto hace que sea m√°s f√°cil abrir el puerto, ya que es posible que no lo conozca. UFW buscar√° el n√ļmero de puerto correcto en /etc/services por usted.

Este comando abrir√° el puerto SSH predeterminado:

ufw allow ssh

Ahora verifique la regla con: Publicidad

ufw status

Permitir SSH en UFW

2. Comando de denegación de UFW

El comando ¬ędenegar¬Ľ funciona de manera similar al comando ¬ępermitir¬Ľ y se usa para cerrar un puerto en el firewall:

Denegar con opción de puerto:

ufw deny 80

Resultado:

Rule added
Rule added (v6)

UFW Denegar comando.

Ejemplo de ¬ędenegar¬Ľ con nombre de servicio. En este ejemplo, bloquear√© el puerto http/80:

ufw deny http

UFW niega http.

Nota:

Puede ver todos los puertos y sus nombres de servicio en el archivo ¬ę/etc/servicios¬Ľ.

Comandos UFW avanzados

Ahora profundizaremos en la sintaxis del comando UFW, aprenderemos cómo permitir rangos parciales (por ejemplo, para los puertos pasivos de FTP y cómo permitir el acceso desde una sola IP o subred).

1. Permitir un rango de puertos

Puede permitir una variedad de puertos en UFW. Algunos servicios como FTP o IRC utilizan una variedad de puertos para comunicarse con sus clientes.

Para este ejemplo, permitiremos el rango de puertos que usa ircd en mi servidor, el rango es el puerto 6660 a 6670:

sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udp

El comando permitirá conexiones a los puertos 6660-6670 a través del protocolo TCP y UDP.

2. Permitir una dirección IP específicaAnuncio publicitario

Y puede agregar una IP espec√≠fica para permitir el acceso a todos los servicios agregando la opci√≥n ¬ędesde¬Ľ. Esto es √ļtil, por ejemplo, si tiene una IP est√°tica en casa o en la oficina y desea permitir el acceso a todos los servicios en su servidor desde all√≠. El siguiente comando permitir√° que la IP 192.168.1.106 acceda a todos los puertos del servidor:

ufw allow from 192.168.1.106

Resultado:

Rule added

3. Permitir subred

Si desea permitir todas las direcciones IP en su subred, puede agregar la subred IP (rango de direcciones IP) al comando UFW de esta manera:

ufw allow from 192.168.1.1/24

Resultado:

WARN: Rule changed after normalization
Rule added

4. Permitir el acceso desde una dirección IP específica a un puerto

Si desea permitir el acceso a un puerto solo desde una IP específica, puede combinar los comandos UFW que aprendimos anteriormente.

Por ejemplo, solo la IP 192.168.1.106 puede acceder al puerto ssh 22 tcp y otras IP ser√°n rechazadas desde ese puerto, puede usar el siguiente comando:

ufw allow from 192.168.1.106 proto tcp to any port 22

Resultado:

Rule added

5. Permitir todo el tráfico entrante a un puerto específico

Si desea permitir todo el tr√°fico en el puerto 80, puede usar este comando:

ufw allow to any port 80

Eliminación de una regla de firewall de UFW

En esta secci√≥n aprender√° a Eliminar una regla que est√° guardada en UFW. Puede usar el comando ¬ęeliminar¬Ľ para eliminar la regla ufw. Escriba el comando ¬ęufw delete¬Ľ seguido de la opci√≥n que desea eliminar, permitir o denegar.

Aquí hay unos ejemplos:

Eliminando la regla de permitir SSH con el nombre del servicio:

ufw delete allow ssh

Resultado:

Rule deleted
Rule deleted (v6)

Ese comando eliminar√° la regla ¬ępermitir ssh¬Ľ. tenga cuidado, no se quede fuera del servidor.

Elimine la regla ¬ędenegar¬Ľ en el puerto 80:

ufw delete deny 80

Resultado:

Rule deleted
Rule deleted (v6)

Si tiene una regla compleja, hay una forma sencilla de identificar y eliminar la regla por su ID de regla. Ejecute el siguiente comando para obtener una lista de todas las reglas con sus ID:

ufw status numbered

Resultado:

Status: active

To                         Action      From
—¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ——¬†¬†¬†¬†¬† —-
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)


Ahora elimine la regla SSH para IPv6 solo usando el n√ļmero de la regla:

ufw delete 2

Desactivar y restablecer UFW

Si desea desactivar UFW sin eliminar sus reglas, puede usar el comando ¬ędeshabilitar¬Ľ:

ufw disable

Resultado:

Firewall stopped and disabled on system startup

El comando de estado UFW.

Si desea desactivar UFW por completo y eliminar todas las reglas, puede usar el comando ¬ęrestablecer¬Ľ:

ufw reset

Resultado:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

Conclusión

UFW (Cortafuegos sin complicaciones) es la herramienta de configuración de cortafuegos predeterminada en Ubuntu. Los comandos UFW son similares al idioma inglés, esto los hace fáciles de usar y recordar. Este tutorial de UFW es una guía para comenzar con esta buena herramienta de firewall. Si desea obtener más información sobre UFW, puede ir a la wiki de ubuntu o ufw-manpage.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *