GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el cortafuegos UFW en Linux

Sin un firewall, no hay reglas ni restricciones en el tráfico de su red y eso genera una serie de consecuencias negativas. El sistema Linux viene con una herramienta de configuración de firewall predeterminada, que es un cortafuegos sin complicaciones (UFW). Pero, ¿cómo se configura un cortafuegos UFW? Siéntate y relájate, ¡este tutorial te tiene cubierto!

En este tutorial, aprenderá cómo configurar UFW y configurar un firewall en su sistema Linux para proteger su red y evitar actos maliciosos.

¿Listo? ¡Sigue leyendo para empezar!

Requisitos

Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente:

  • Una máquina con Ubuntu:este tutorial usa Ubuntu 20.04 LTS, pero otras distribuciones de Linux funcionarán.
  • Privilegios de root en su máquina.

Instalación de UFW y activación de la conexión IPv6

Aunque UFW viene empaquetado con su sistema Ubuntu, UFW no está instalado de manera predeterminada. Instale UFW primero con el apt administrador de paquetes y configurarlo para permitir conexiones a través de IPv6.

1. Abre tu terminal y ejecuta el apt update Comando a continuación para actualizar su índice de paquete local. El comando acepta todas las indicaciones (-y ) durante la actualización para una menor intervención del usuario.

sudo apt update -y

2. A continuación, ejecute el siguiente comando para instalar UFW (install uwf ) en su sistema mientras acepta todas las indicaciones (-y ) durante la instalación.

sudo apt install ufw -y

2. Abra el archivo de configuración de UFW (/etc/default/ufw ) con su editor de texto favorito. UFW es compatible con IPv6, pero debe asegurarse de que el firewall esté configurado para aceptar conexiones a través de IPv6.

Si solo tiene habilitado IPv4, todavía está expuesto a ataques de IPv6.

4. Desplácese hacia abajo hasta IPV6 variable y establezca el valor en yes , como se muestra a continuación, luego guarde los cambios y salga del editor

5. Finalmente, ejecute el siguiente comando para deshabilitar y volver a habilitar UFW. El comando reinicia el servicio UFW para que los cambios surtan efecto.

Una vez que se completa el comando, su firewall ahora puede escribir conjuntos de reglas de firewall tanto IPv4 como IPv6.

sudo ufw disable && sudo ufw enable

Configuración de políticas predeterminadas para reglas de cortafuegos

Si recién está comenzando con UFW, se recomienda configurar una política predeterminada para sus reglas. Las políticas predeterminadas se aplican a una cadena que aún no tiene definidas reglas específicas.

Configure UFW para denegar todas las conexiones entrantes y permitir todas las conexiones salientes. Como resultado, cualquier persona que intente comunicarse con su máquina desde el mundo exterior será denegada, mientras que aún puede conectarse libremente a cualquier sitio web o servidor.

Ejecute el ufw comando a continuación a deny todos incoming conexiones por default .

sudo ufw default deny incoming

Ahora ejecute el siguiente comando para allow todos outgoing conexiones por default .

sudo ufw default allow outgoing

Permitir conexiones SSH en el cortafuegos UFW

Acaba de configurar políticas predeterminadas en su firewall UFW para denegar todo el tráfico entrante, y la regla "permitir todo-denegar todo" es una buena configuración para un usuario normal. Pero, ¿y si estás ejecutando un servidor? Deberá permitir la entrada y salida de tráfico específico. Permitir la conexión SSH en su firewall UFW hará el truco para permitir la entrada y salida de tráfico específico.

Configurará un servidor SSH que permita conexiones SSH entrantes en el puerto 22. Pero, ¿por qué el puerto 22 y no cualquier otro puerto? En los sistemas similares a Unix, el demonio SSH escucha en el puerto 22 de forma predeterminada, por lo que es una buena práctica usar el puerto SSH predeterminado para facilitarle un poco la vida.

1. Ejecute los siguientes comandos para instalar el servidor OpenSSH (install openssh-server ) en su sistema e inicie un servidor OpenSSH (start ssh ).

sudo apt install openssh-server -y
sudo systemctl start ssh

2. Ahora ejecute el siguiente comando para permitir las conexiones SSH entrantes. Sin especificar el puerto 22 será suficiente ya que UFW sabe qué puerto es para SSH.

sudo ufw allow ssh

El archivo /etc/services contiene una lista de todos los servicios disponibles en su sistema. Abra el archivo en su editor de texto, desplácese hacia abajo hasta ssh y ver el número de puerto (22 ) es parte de la descripción del servicio, como se muestra a continuación.

Pero quizás prefiera especificar el número de puerto (22 ) para permitir SSH. Si es así, ejecute el siguiente comando en su lugar.

sudo ufw allow 22

3. Ahora ejecute el siguiente comando para habilitar UFW.

sudo ufw enable

Escribe Y en el mensaje de confirmación, como se muestra a continuación, y presione Entrar para continuar ejecutando el comando. UFW ahora comenzará a filtrar paquetes en su sistema.

4. Finalmente, ejecute cualquiera de los siguientes comandos para verificar el estado de su firewall UFW.

## Displays more detailed information, such as the interface and 
## the packet's current progress
sudo ufw status verbose
## Shows each rule with a number and the corresponding allow or deny status 
## The numbered mode is useful when you are trying to delete a rule set here and there
sudo ufw status numbered

Si ejecuta el comando con el verbose opción, verá un resultado similar al siguiente:

  • Estado:activo – Indica que el cortafuegos se está ejecutando actualmente.
  • Inicio de sesión:activado (bajo) – Indica que UFW está registrando todos los paquetes procesados ​​por el cortafuegos.
  • Predeterminado:denegar (entrante), permitir (saliente), deshabilitado (enrutado) – Indica que la política predeterminada es denegar todas las conexiones entrantes y permitir todas las conexiones salientes.
  • Nuevos perfiles:omitir – Indica que el cortafuegos está utilizando actualmente el conjunto de reglas predeterminado.

Si ejecuta el comando con el numbered en su lugar, verá el resultado a continuación. Puede ver una lista de reglas numeradas y sus correspondientes ALLOW o NEGAR estado.

Permitir conexiones HTTP y HTTPS

En este punto, solo ha permitido conexiones SSH en su firewall UFW, pero eso limita las capacidades de su servidor. Permita otros tipos de conexiones, como HTTP o HTTPS, y agregue más reglas al firewall de UFW.

Ejecute cualquiera de los siguientes comandos para permitir conexiones HTTP entrantes.

## HTTP connection uses port 80 (not secure)
sudo ufw allow 80
sudo ufw allow http

Ahora, ejecute cualquiera de los siguientes comandos para permitir conexiones HTTPS entrantes.

sudo ufw allow https
## HTTP connection uses port 443 (secure)
sudo ufw allow 443

Permitir conexiones desde un rango de puertos y una dirección IP específicos

Algunas aplicaciones utilizan varios puertos para prestar sus servicios. Y quizás tenga una variedad de puertos para abrir o necesite permitir la conexión desde una dirección IP específica. En ese caso, agregue más reglas de firewall UFW.

Ejecute los siguientes comandos para permitir conexiones entrantes en los puertos 5001 a 5009. Siempre debe especificar el protocolo (tcp o udp ) después del intervalo de puertos al que se aplican las reglas porque ambos protocolos no utilizan todos los puertos.

Por ejemplo, los puertos TCP de uso común incluyen 80 (HTTP) y 443 (HTTPS). Pero los puertos UDP comunes incluyen 53 (DNS) y 67/68 (DHCP).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp

Ejecute el siguiente comando si prefiere permitir conexiones SSH desde una dirección IP específica. El comando permite conexiones SSH (port 22 ) solo desde el 192.168.1.2 dirección IP.

sudo ufw allow from 192.168.1.2 to any port 22

Permitir tráfico desde una interfaz de red específica

UFW también le permite permitir el tráfico solo en una interfaz de red específica, como eth0 es la primera interfaz Ethernet y wlan0 es la primera interfaz Wi-Fi.

Ejecute cualquiera de los siguientes comandos para permitir conexiones HTTP solo en el eth0 y wlan0 interfaces.

## Allow HTTP connection only on the eth0 interface
sudo ufw allow in on eth0 to any port 80
## Allow HTTP connection only on the wlan0 interface
sudo ufw allow in on wlan0 to any port 80

Eliminación de reglas de cortafuegos UFW

Quizás algunas reglas de firewall de UFW ya no sirven para nada. En ese caso, es posible que desee eliminar algunas de las reglas de UFW. Pero primero, debe conocer el número o el nombre de la regla que desea eliminar.

1. Ejecute el siguiente comando para obtener una lista numerada de las reglas agregadas a UFW.

sudo ufw status numbered

Anote el número o el nombre de la regla en el resultado, como el que se muestra a continuación.

2. A continuación, ejecute el siguiente comando para delete número de regla 4 , que es el 5001:5010/tcp rango de puertos.

sudo ufw delete 4

3. Ejecute el siguiente comando para delete una regla por su nombre real con el allow estado. En este ejemplo, eliminaría el http gobierna ejecutando el siguiente comando.

sudo ufw delete allow http

4. Ahora ejecute el siguiente comando para delete una regla especificando un número de puerto (443 ) con el allow estado.

sudo ufw delete allow 443

5. Finalmente, vuelva a ejecutar el siguiente comando como lo hizo en el paso uno para enumerar todas las reglas.

sudo ufw status numbered

Como se puede ver a continuación, las reglas para el 5001:5010/tcp rango de puertos, el http , y el 443 puerto ahora se han ido.

Restablecimiento del cortafuegos UFW

Puede haber momentos en los que necesite restablecer UFW a sus valores predeterminados, como después de configurar un gran conjunto de reglas. Una actualización puede cambiar su configuración, lo que requiere que vuelva a configurar UFW y posiblemente comience de nuevo desde cero.

Ejecute el ufw reset Comando a continuación para restablecer todas las reglas de su firewall a su configuración predeterminada. Este comando deshabilita UFW y elimina todas sus reglas de firewall actuales.

sudo ufw reset

Escriba "Y" y presione Entrar para continuar con el restablecimiento de su firewall UFW.

Una vez que se complete el restablecimiento, tendrá una instalación nueva de UFW completamente deshabilitada, e incluso sus políticas predeterminadas desaparecerán.

Ahora ejecute el siguiente comando para volver a habilitar UFW y comience a configurar sus reglas de firewall desde cero.

sudo ufw enable

Si decide que ya no quiere usar UFW, entonces no hay necesidad de volver a habilitarlo. O ejecute el siguiente comando para asegurarse de que UFW esté deshabilitado.

sudo ufw disable

Conclusión

A lo largo de este tutorial, se dio cuenta de que configurar un firewall no es demasiado desalentador cuando se usa UFW. Ahora debería comprender bien cómo configurar e implementar sus propias reglas con UFW en Ubuntu.

Ahora, ¿por qué no aprovechar este nuevo conocimiento aprendiendo más sobre UFW y Docker Security en una máquina Linux?


Linux
  1. Cómo llegó Linux al mainframe

  2. Linux:¿cómo configurar la afinidad del procesador de un proceso en Linux?

  3. ¿Cómo establecer el nombre de un hilo en Linux pthreads?

  4. Cómo configurar la dirección IP desde C en Linux

  5. Cómo configurar la interfaz de red preferida en Linux

Cómo configurar un cortafuegos con GUFW en Linux

Cómo configurar el cortafuegos con UFW en Ubuntu Linux

Cómo configurar un cortafuegos con UFW en Debian 11

Cómo configurar un Killswitch de Linux para VPN

Cómo configurar el clúster RabbitMQ en Ubuntu/Debian Linux

Cómo configurar un cortafuegos en su servidor Linux