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.
- Permitir acceso por SSH (puerto 22) y otros puertos a un rango de direcciones IP o a una IP concreta.
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):
1 |
sudo ufw status |
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:
1 |
sudo ufw allow from 192.168.1.2 to any port 22 proto tcp |
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:
1 |
sudo ufw enable |
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:
1 |
sudo ufw status |
Nos devolverá:
1 2 3 4 5 |
Status: active To Action From -- ------ ---- 22/tcp ALLOW 192.168.1.2 |
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:
1 |
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp |
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:
1 |
sudo ufw allow from 192.168.1.10 to any port 22 proto tcp |
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):
1 |
sudo ufw allow from 192.168.1.10 to any port 22,3306 proto tcp |
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:
1 |
sudo ufw allow 3306 |
Para aplicar los cambios en el cortafuegos, ejecutaremos el comando:
1 |
sudo ufw reload |