GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo configurar un firewall con UFW en Ubuntu 18.04

En este artículo, le mostraremos cómo instalar y configurar UFW en un Ubuntu 18.04 VPS. Primero, nos tomaremos un momento para presentar y explicar qué son los firewalls, y luego le mostraremos cómo usar UFW y cómo realizar la configuración de UFW adecuada.

Un firewall es un programa de software que monitorea el tráfico de la red y previene el acceso no autorizado hacia o desde una red privada. En lo que respecta al kernel de Linux, se implementa un subsistema Netfilter, que se utiliza para manipular el tráfico de la red. Casi todas las soluciones modernas de firewall de Linux utilizan este sistema para filtrar paquetes de red. Además, 'iptables', una utilidad de firewall accesible desde la línea de comandos, también forma parte del marco de Netfilter. Para simplificar el proceso de creación de reglas de firewall, Canonical (los creadores de Ubuntu) desarrolló una interfaz de iptables llamada Uncomplicated Firewall (UFW).

Si está utilizando Ubuntu 18.04 y desea proteger su red sin tener que aprender a usar iptables, entonces UFW puede ser la solución adecuada que está buscando.

Requisitos

Para seguir este tutorial, necesitará un servidor con Ubuntu 18.04 y acceso SSH con el usuario root (o un usuario con privilegios sudo). Comencemos con el tutorial.

Paso 1:Conéctese a su servidor

Antes de comenzar, deberá conectarse a su servidor a través de SSH como root o usuario con privilegios sudo. Para hacer esto, use el siguiente comando:

ssh root@IP_Address -p Port_Number

por supuesto, deberá reemplazar IP_Address y Port_Number con la dirección IP de su servidor real y el número de puerto SSH.

Una vez que haya iniciado sesión, asegúrese de que su servidor esté actualizado ejecutando los siguientes comandos:

sudo apt update
sudo apt upgrade

Paso 2:Instalar UFW

UFW ya debería estar instalado de forma predeterminada en Ubuntu 18.04, pero si por algún motivo no está instalado, puede instalarlo con este comando:

sudo apt install ufw

Una vez completada la instalación, puede verificar el estado de UFW con el comando:

sudo ufw status verbose

UFW por defecto está inicialmente deshabilitado, y si nunca lo activó antes, obtendrá el resultado:

Output
Status: inactive

Si ya tiene UFW activado en su servidor, la salida se verá bastante diferente y se parecerá a lo siguiente:

Output:

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

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)
....

Paso 3:Políticas predeterminadas de UFW

Lo primero que debe saber son las políticas predeterminadas. De forma predeterminada, UFW está configurado para denegar todas las conexiones entrantes y permitir todas las conexiones salientes. En otras palabras, todas las conexiones que intentarán acceder a su servidor serán rechazadas y todas sus aplicaciones y servicios que se encuentren localmente en su servidor podrán llegar al mundo exterior y acceder a otros servidores.

Si desea verificar o cambiar las políticas predeterminadas, puede encontrarlas en /etc/default/ufw archivo de configuración.

Para configurar estas reglas de UFW a su valor predeterminado, puede ejecutar los siguientes comandos:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Tenga en cuenta que los servidores generalmente necesitan responder a una solicitud entrante de los usuarios de Internet. Por lo tanto, en la mayoría de los casos, no puede configurar su firewall para bloquear todas las conexiones entrantes. En el próximo paso, aprenderemos cómo permitir conexiones específicas.

Paso 4:permitir conexiones SSH

Antes de habilitar UFW, debe permitir el acceso SSH en su servidor agregando una regla que permita las conexiones SSH entrantes. De lo contrario, quedará bloqueado y no podrá conectarse a su servidor Ubuntu.

Puede usar el siguiente comando para configurar el firewall UFW para permitir todas las conexiones SSH entrantes:

sudo ufw allow ssh

Luego recibirá el siguiente resultado:

Rules updated
Rules updated (v6)

Tenga en cuenta que este comando es solo si su servidor escucha el puerto SSH estandarizado:22. Si el servicio SSH usa un puerto no estándar personalizado, deberá abrir ese puerto. Si el servicio SSH en su servidor usa un puerto único, por ejemplo, el puerto 900, puede usar el siguiente comando:

sudo ufw allow 900

Tenga en cuenta que necesitará saber qué número de puerto usa actualmente su servicio.

Paso 5:habilitar UFW

Ahora que su firewall está configurado para permitir conexiones SSH y está seguro de que su conexión SSH actual no se verá afectada, puede continuar habilitando el firewall UFW.

sudo ufw enable

Después de lo cual recibirá el siguiente resultado:

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

Recibirá una advertencia que le indicará que debe haber configurado las reglas SSH permitidas; de lo contrario, se cerrará la conexión SSH existente. Como ya lo ha hecho, escriba [y] y continúe con [Enter].

Paso 6:permitir conexiones en puertos específicos

Es posible que las aplicaciones y los servicios que utilice necesiten tener sus puertos abiertos para las conexiones entrantes y salientes, según el propósito de la aplicación. Los puertos más comunes que deberá desbloquear son los puertos 80 y 443, que utiliza el servidor web, y 25, 110, 143, 587 y 993, que utiliza el servidor de correo.

Le mostraremos algunos ejemplos de cómo permitir conexiones entrantes para algunos servicios comunes.

Para permitir todas las conexiones HTTP (puerto 80), ejecute este comando:

sudo ufw allow http

Además, si desea especificar el puerto, puede aplicar lo que es esencialmente la misma regla pero con una sintaxis diferente:

sudo ufw allow 80

Para permitir todas las conexiones HTTPS (puerto 443), ejecute el comando:

sudo ufw allow https

Además, si desea especificar el puerto HTTPS, puede aplicar la regla con una sintaxis diferente:

sudo ufw allow 443

Si está utilizando un servidor de correo, algunas de las siguientes reglas podrían ser útiles.

Para permitir todos los SMTP entrantes, puede ejecutar el comando:

sudo ufw allow 25

Para permitir todas las conexiones IMAP entrantes, ejecute el comando:

sudo ufw allow 143

Y para permitir todas las solicitudes IMAPS entrantes, puede usar el comando:

sudo ufw allow 993

Si está utilizando POP3 en su lugar, este comando a continuación permitirá todas las conexiones entrantes:

sudo ufw allow 110

Y para todas las solicitudes POP3S entrantes, use este siguiente comando:

sudo ufw allow 995

Finalmente, si está ejecutando un programa específico que requiere acceso web, también deberá habilitar el puerto específico para ese programa. Por ejemplo, si ejecuta Tomcat en su servidor, necesitará el puerto 8080. Puede permitir todas las conexiones entrantes a este puerto con el comando:

sudo ufw allow <port number>

Puede hacer esto para todos los puertos específicos que pueda necesitar.

Paso 7:permitir intervalos de puertos

UFW también puede permitir el acceso a rangos de puertos en lugar de permitir el acceso a un solo puerto. Cuando desee permitir rangos de puertos en el puerto UFW, debe especificar el rango del puerto y el protocolo, ya sea TCP o UDP.

Por ejemplo, si desea permitir los puertos del 8069 al 8080 tanto para TCP como para UDP, puede usar los siguientes comandos:

sudo ufw allow 8069:8080/tcp
sudo ufw allow 8069:8080/udp

Paso 8:permitir direcciones IP específicas

Si desea permitir que solo una dirección IP (por ejemplo, una máquina confiable que se encuentra en su red local) pueda acceder a todos los puertos, puede usar el comando:

sudo ufw allow from 206.207.208.209

Además de esto, ¡también puede permitir una dirección IP específica a un puerto en particular! Digamos que desea permitir que una dirección IP específica use el puerto MySQL (MySQL usa el puerto 3306), entonces simplemente puede usar este comando:

sudo ufw allow from 206.207.208.209 to any port 3306

Paso 9:Denegar conexiones

Como se mencionó anteriormente en el Paso 3 , la política predeterminada para las conexiones entrantes se establece en "denegar". Sin embargo, a veces es posible que deba denegar conexiones específicas según la dirección IP de origen o el puerto específico.

La regla de denegación es muy útil si tiene un ataque a su servidor desde una dirección IP específica y sus puertos 80 y 443 están abiertos. En este caso, puede bloquear esa dirección IP usando el siguiente ejemplo. Por supuesto, no olvide cambiar la dirección IP 24.25.26.27 con la dirección IP real que desea bloquear:

sudo ufw deny from 24.25.26.27

Esto bloqueará el acceso de la dirección IP a todos sus puertos abiertos. Sin embargo, si desea bloquear la dirección IP para que no pueda acceder a un puerto en particular, puede usar el siguiente ejemplo:

sudo ufw deny from 24.25.26.27 to any port 80
sudo ufw deny from 24.25.26.27 to any port 443

Como puede notar, la creación de reglas de denegación es similar a las reglas para permitir.

Paso 10:eliminar reglas de UFW

La importancia de eliminar reglas UFW es tan importante como crearlas. Hay dos formas diferentes de eliminar una regla UFW. El primer método es usando el número de regla, y el segundo es especificando la regla real.

Si desea eliminar la regla UFW con números, necesitará saber el número de la regla. Para enumerar los números de regla, puede usar el comando:

sudo ufw status numbered
Output:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80                         ALLOW IN    Anywhere
[ 2] 443                        ALLOW IN    Anywhere
[ 3] 22                         ALLOW IN    Anywhere
[ 4] Anywhere                   ALLOW IN    206.207.208.209
[ 5] 7022                       ALLOW IN    Anywhere
[ 6] 8069                       ALLOW IN    Anywhere
...

Para eliminar la regla etiquetada como regla número 4, que permite conexiones desde la dirección IP 206.207.208.209, puede usar el comando:

sudo ufw delete 4

Si desea utilizar el segundo método, que consiste en eliminar una regla especificando la regla real. Digamos que desea cerrar el puerto 8069, por ejemplo; en ese caso, usaría el siguiente comando:

sudo ufw delete allow 8069

Paso 11:deshabilitar o restablecer UFW

Si por alguna razón necesita detener todas las reglas de UFW en su servidor, puede desactivarlas usando el comando:

sudo ufw disable

Esto detendrá todas las reglas que estaban actualmente activas en su servidor. Sin embargo, si necesita reactivar las reglas del cortafuegos, simplemente puede habilitarlo de nuevo.

sudo ufw enable

Si por alguna razón desea eliminar todas las reglas y comenzar con un UFW nuevo, puede usar el siguiente comando:

sudo ufw reset

Tenga en cuenta que las políticas predeterminadas no cambiarán a su configuración original si ya se han modificado.

En este artículo, le mostramos cómo instalar UFW y luego usarlo para configurar un firewall en Ubuntu 18.04. Ahora puede usar el conocimiento de esta guía para comenzar a crear sus propias reglas de firewall UFW y proteger su servidor.

Por supuesto, si usted es uno de nuestros clientes de Managed Ubuntu Hosting, no tiene que configurar su firewall con UFW en su servidor; simplemente pregúntele a nuestros administradores, siéntese y relájese. Nuestros administradores configurarán las reglas del cortafuegos en su servidor inmediatamente.

PD. Si le gustó esta publicación sobre cómo configurar un firewall con UFW en Ubuntu 18.04, compártala con sus amigos en las redes sociales utilizando los botones de compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Panels
  1. Cómo configurar el cortafuegos UFW en Ubuntu 18.04

  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 UFW en Debian 9

  5. Cómo configurar el cortafuegos UFW en Ubuntu 18.04

Cómo instalar y configurar el cortafuegos UFW en Ubuntu 20.04

Cómo instalar el cortafuegos UFW en Ubuntu 16.04 LTS

Cómo configurar el cortafuegos UFW en Ubuntu 18.04 LTS

Cómo configurar el cortafuegos UFW en Ubuntu 20.04 LTS

Cómo configurar el cortafuegos con UFW en Ubuntu Linux

Cómo configurar el cortafuegos UFW en Ubuntu 20.04