GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar un cortafuegos con UFW en Debian 9

Debian incluye varios paquetes que brindan herramientas para administrar un firewall con iptables instalado como parte del sistema base. Puede ser complicado para los principiantes aprender a usar la herramienta iptables para configurar y administrar correctamente un firewall, pero UFW lo simplifica.

UFW (Uncomplicated Firewall) es un front-end fácil de usar para administrar las reglas de firewall de iptables y su objetivo principal es hacer que la administración de iptables sea más fácil o, como su nombre lo indica, sin complicaciones.

En este tutorial, le mostraremos cómo configurar un firewall con UFW en Debian 9.

Requisitos previos #

Antes de continuar con este tutorial, asegúrese de que el usuario con el que inició sesión tenga privilegios de sudo.

Instalar UFW #

UFW no está instalado por defecto en Debian 9. Puede instalar el ufw paquete escribiendo:

sudo apt install ufw

Verifique el estado de UFW #

Una vez que se completa el proceso de instalación, puede verificar el estado de UFW con el siguiente comando:

sudo ufw status verbose

La salida se verá así:

Status: inactive

UFW está deshabilitado de forma predeterminada. La instalación no activará el cortafuegos automáticamente para evitar un bloqueo del servidor.

Si se activa UFW, la salida será similar a la siguiente:

Políticas predeterminadas de UFW #

De forma predeterminada, UFW bloqueará todas las conexiones entrantes y permitirá todas las conexiones salientes. Esto significa que cualquier persona que intente acceder a su servidor no podrá conectarse a menos que abra específicamente el puerto, mientras que todas las aplicaciones y servicios que se ejecutan en su servidor podrán acceder al mundo exterior.

Las políticas predeterminadas se definen en el /etc/default/ufw y se puede cambiar usando sudo ufw default <policy> <chain> comando.

Las políticas de firewall son la base para crear reglas más detalladas y definidas por el usuario. En la mayoría de los casos, las políticas predeterminadas iniciales de UFW son un buen punto de partida.

Perfiles de aplicación #

Al instalar un paquete con apt agregará un perfil de aplicación a /etc/ufw/applications.d directorio que describe el servicio y contiene la configuración de UFW.

Para enumerar todos los perfiles de aplicación disponibles en su sistema, escriba:

sudo ufw app list

Dependiendo de los paquetes instalados en su sistema, la salida será similar a la siguiente:

Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...

Para encontrar más información sobre un perfil específico y las reglas incluidas, use el siguiente comando:

sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

AEl resultado anterior nos dice que el perfil OpenSSH abre el puerto 22 .

Permitir conexiones SSH #

Antes de habilitar el firewall UFW, primero debemos permitir las conexiones SSH entrantes.

Si se está conectando a su servidor desde una ubicación remota, que es casi siempre el caso, y habilita el firewall UFW antes de permitir explícitamente las conexiones SSH entrantes, ya no podrá conectarse a su servidor Debian.

Para configurar su firewall UFW para permitir conexiones SSH entrantes, ejecute el siguiente comando:

sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)

Si el servidor SSH está escuchando en un puerto que no sea el puerto predeterminado 22, deberá abrir ese puerto.

Por ejemplo, su servidor ssh escucha en el puerto 8822 , entonces puede usar el siguiente comando para permitir conexiones en ese puerto:

sudo ufw allow 8822/tcp

Habilitar UFW #

Ahora que su firewall UFW está configurado para permitir conexiones SSH entrantes, puede habilitarlo ejecutando:

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

Se le advertirá que habilitar el firewall puede interrumpir las conexiones ssh existentes, simplemente escriba y y pulsa Enter .

Permitir conexiones en otros puertos #

Según las aplicaciones que se ejecuten en su servidor y sus necesidades específicas, también deberá permitir el acceso entrante a algunos otros puertos.

A continuación se muestran varios ejemplos de cómo permitir conexiones entrantes a algunos de los servicios más comunes:

Puerto abierto 80 - HTTP #

Las conexiones HTTP se pueden permitir con el siguiente comando:

sudo ufw allow http

En lugar de http perfil, puede usar el número de puerto, 80 :

sudo ufw allow 80/tcp

Puerto abierto 443 - HTTPS #

Las conexiones HTTPS se pueden permitir con el siguiente comando:

sudo ufw allow https

Para lograr lo mismo en lugar de https puede usar el número de puerto, 443 :

sudo ufw allow 443/tcp

Puerto abierto 8080 #

Si ejecuta Tomcator cualquier otra aplicación que escuche en el puerto 8080, puede permitir conexiones entrantes con:

sudo ufw allow 8080/tcp

Permitir rangos de puertos #

Con UFW también puede permitir el acceso a rangos de puertos. Al permitir rangos de puertos con UFW, debe especificar el protocolo, ya sea tcp o udp .

Por ejemplo, para permitir puertos desde 7100 a 7200 en ambos tcp y udp , ejecute el siguiente comando:

sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp

Permitir direcciones IP específicas #

Si desea permitir el acceso a todos los puertos desde una dirección IP específica, use ufw allow from comando seguido de la dirección IP:

sudo ufw allow from 64.63.62.61

Permitir direcciones IP específicas en un número de puerto específico

Para permitir el acceso a un puerto específico, digamos el puerto 22 desde su máquina de trabajo con la dirección IP 64.63.62.61, use el siguiente comando:

sudo ufw allow from 64.63.62.61 to any port 22

Permitir subredes #

El comando para permitir la conexión desde una subred de direcciones IP es el mismo que cuando se usa una sola dirección IP, la única diferencia es que debe especificar la máscara de red. Por ejemplo, si desea permitir el acceso de direcciones IP que van desde 192.168.1.1 a 192.168.1.254 al puerto 3360 (MySQL) ejecutaría el siguiente comando:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Permitir conexiones a una interfaz de red específica #

Para permitir el acceso a un puerto específico, digamos puerto 3360 en una interfaz de red específica eth2 , use el allow in on comando seguido del nombre de la interfaz:

sudo ufw allow in on eth2 to any port 3306

Denegando conexiones #

La política predeterminada para todas las conexiones entrantes se establece en deny lo que significa que UFW bloqueará todas las conexiones entrantes a menos que abras específicamente la conexión.

Digamos que abriste los puertos 80 y 443 y su servidor está siendo atacado por 23.24.25.0/24 red. Para denegar todas las conexiones desde 23.24.25.0/24 , ejecute el siguiente comando:

sudo ufw deny from 23.24.25.0/24

Si solo desea denegar el acceso a los puertos 80 y 443 de 23.24.25.0/24 usarías:

sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443

Escribir reglas de denegación es lo mismo que escribir reglas de permiso, solo necesita reemplazar allow con deny .

Eliminar reglas UFW #

Hay dos formas diferentes de eliminar reglas UFW, por número de regla y especificando la regla real.

Eliminar reglas de UFW por número de regla es más fácil, especialmente si es nuevo en UFW.

Para eliminar una regla por un número de regla, primero debe encontrar el número de la regla que desea eliminar. Para hacerlo, ejecute el siguiente comando:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

Por ejemplo, para eliminar la regla número 3, la regla que permite las conexiones al puerto 8080, ingresaría:

sudo ufw delete 3

El segundo método consiste en eliminar una regla especificando la regla real. Por ejemplo, si agregó una regla para abrir el puerto 8069 puedes eliminarlo con:

sudo ufw delete allow 8069

Deshabilitar UFW #

Si por alguna razón desea detener UFW y desactivar todas las reglas, ejecute:

sudo ufw disable

Más tarde, si desea volver a habilitar UTF y activar todas las reglas, simplemente escriba:

sudo ufw enable

Restablecer UFW #

Restablecer UFW desactivará UFW y eliminará todas las reglas activas. Esto es útil si desea revertir todos sus cambios y comenzar de nuevo.

Para restablecer UFW, simplemente escriba el siguiente comando:

sudo ufw reset

Debian
  1. Establecer una IP estática en Debian 11 - ¿Cómo hacerlo?

  2. Cómo configurar un cortafuegos con UFW en Ubuntu \ Debian

  3. Cómo configurar un cortafuegos con UFW en Ubuntu 16.04

  4. Cómo configurar un cortafuegos con CSF en Debian 9

  5. Cómo configurar un cortafuegos con UFW en Debian 9

Cómo configurar ModSecurity con Nginx en Debian/Ubuntu

Cómo configurar un cortafuegos con GUFW en Linux

Cómo configurar el cortafuegos UFW en Debian 10

Cómo configurar el cortafuegos UFW en Debian 11

Cómo configurar un cortafuegos con UFW en Debian 11

Cómo configurar el cortafuegos UFW en Linux