Cómo activar el cortafuegos ufw en Linux Ubuntu Server 22.04 y cómo permitir conexiones por SSH (puerto 22) desde determinadas direcciones IP. Cómo permitir la conexión desde un rango de direcciones IP a varios puertos.

Activar el cortafuegos ufw en Linux Ubuntu Server 22.04

En la instalación estándar de Linux Ubuntu Server 22.04.3 ya viene instalado el cortafuegos ufw, si bien, por defecto está desactivado. Para comprobar en qué estado está el cortafuegos ejecutaremos el siguiente comando (desde el shell de comandos de Linux):

Lo habitual es que devuelva:

Status: inactive

Si ha devuelto «inactive» indica que el cortafuegos no está activado en el equipo, por lo que no tendrá efecto. Si queremos activarlo, antes de hacerlo, añadiremos una regla para permitir la conexión SSH desde el equipo (IP) con el que nos hayamos conectado. De esta forma, no perderemos la conexión SSH al activar el cortafuegos. Para añadir esta excepción para el equipo con IP 192.168.1.2, ejecutaremos el siguiente comando:

El comando anterior añadirá una regla al cortafuegos que permitirá la conexión, desde la IP 192.168.1.2, al puerto 22 (por defecto para SSH) y protocolo TCP.

Ahora podremos activar el cortafuegos (no perderemos la conexión SSH), con el comando:

Nos avisará de que podríamos porder la conexión SSH, respondremos «y»:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Si ahora volvemos a ejecutar el comando:

Nos devolverá:

Activar el cortafuegos ufw en Linux Ubuntu Server 22.04

Permitir acceso por SSH (puerto 22) y otros puertos a un rango de direcciones IP o a una IP concreta

Si queremos permitir el acceso SSH a un rango de direcciones IP, añadiendo la regla oportuna en el cortafuegos, ejecutaremos el siguiente comando:

El comando anterior permitirá el acceso desde cualquier equipo de la red 192.168.1.0/24 mediante el puerto 22 (SSH) al equipo Linux Ubuntu Server.

Para permitir el acceso a un IP específica, ejecutaremos el mismo comando que en el punto anterior:

Esto permitirá el acceso al puerto 22 únicamente a la IP 192.168.1.10.

Por supuesto, podemos indicar más puertos a permitir, por ejemplo el puerto 22 (SSH) y el 3306 (MySQL/MariaDB):

El comando anterior permitirá el acceso desde la IP 192.168.1.10 a los puertos 22 y 3306 del equipo Linux Ubuntu Server.

Si queremos permitir el acceso desde cualquier equipo de la red al puerto 3306, usaremos:

Para aplicar los cambios en el cortafuegos, ejecutaremos el comando: