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 también proporciona una aplicación GUI, si usa un escritorio GNOME puede instalar gufw , o si usa un escritorio KDE puede instalar kcm-ufw .
Requisitos
- Versión de Ubuntu entre 15.04 y 21.04. Las versiones más recientes de Ubuntu también deberían funcionar.
- privilegios de raíz
¿Qué se trata en este tutorial?
- Instalación de UFW.
- La sintaxis básica del comando UFW.
- El comando Permitir y Denegar UFW.
- Comandos avanzados de UFW.
- Eliminar una regla en UFW.
- Desactivar y restablecer UFW.
Instalacion 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, utilice sudo o privilegios de raíz. 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
El Comando UFW Básico
El comando "ufw enable" activará UFW con las reglas predeterminadas. Puede verificar que UFW se está ejecutando emitiendo este comando:
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
El comando UFW Permitir y Denegar
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" permita 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:
ufw status
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)
Ejemplo de "denegar" con nombre de servicio. En este ejemplo, bloquearé el puerto http/80:
ufw deny http
Nota:
Puede ver todos los puertos y sus nombres de servicio en el archivo "/etc/services" .
Comandos UFW avanzados
Ahora profundizaremos en la sintaxis del comando UFW, aprenderemos cómo permitir rangos parciales (por ejemplo, para los puertos pasivos FTP y cómo permitir el acceso desde una IP o subred solamente).
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 que el rango de puertos que usa ircd en mi servidor sea 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.
Y puede agregar una IP específica para permitir el acceso a todos los servicios agregando el "de " opción. 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 en el servidor:
ufw allow from 192.168.1.106
Resultado:
Rule added
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
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 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
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 UFW
En esta sección aprenderá a Eliminar una regla que está guardada en UFW. Puede usar el botón "eliminar " comando para eliminar la regla ufw. Escriba el comando "eliminar ufw " y seguido de la opción que desea eliminar, permitir o denegar .
Estos son algunos ejemplos:
Eliminación de la regla SSH permitida 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 "deshabilitar " comando:
ufw disable
Resultado:
Firewall stopped and disabled on system startup
Si desea desactivar UFW por completo y eliminar todas las reglas , puede usar "restablecer " comando:
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 visitar la wiki de ubuntu o la página de manual de ufw.