Configuración del Firewall en linux UFW
Mediante el comando ufw podemos configurar el firewall de Linux de forma sencilla. Lo primero que debemos de hacer es ver si esta activo o no.
sudo ufw status
Esto nos mostrará la lista de puertos, o en su defecto si esta inactivo. El hecho de estar inactivo supone que tenemos todos los puertos abiertos, lo que es una seria vulnerabilidad.
![[Snag_5bd2428.png]]
Para activarlo, escribimos:
sudo ufw enable
NOTA: Debemos tener en cuenta que si estamos conectados vía SSH por el puerto 22, al activar el firewall puede ser que nos expulse, si anteriormente no hemos abierto el puerto.
Ahora podemos poner, sudo ufw status y nos retornara la configuración actual.
![[Snag_5c08db1.png]]
En este caso, vemos que ya tenemos varios puertos abiertos dado que hemos instalado diferentes servicios.
Lista de puertos comunes.
Algunos de los puertos más importantes de los sistemas Linux suelen estar activados por defecto, aunque en algunos casos esto no se da. Hay que tener en cuenta que mantener SSH en el puerto 22 es considerado un riesgo a nivel de seguridad, por lo que se recomienda cambiarlo.
| Puertos comunes |
21 > FTP
22 > SSH
23 > SFTP
25 > SMTP
43 > WHOIS
53 > Nameservers (sistema DNS)
80 > HTTP (servidor web, ya sea Apache, Nginx u otro)
110 > Protocolo POP utilizado para mail.
111 > rpcbind
143 > Protocolo IMAP utilizado para mail.
443 > HTTP seguro (utilizado por certificados SSL a nivel web, https://)
953 > rndc
993 > IMAP bajo SSL
995 > Protocolo POP con SSL
2082 > Panel cPanel
2083 > cPanel con SSL
2086 > Panel WHM
2087 > WHM con SSL
2095 > Webmail
2096 > Webmail con SSL
3306 > MySQL
4643 > Virtuosso
9999 > Urchin
Panel Plesk > 8443
Panel DirectAdmin > 2222
Panel Webmin > 10000 |
Veamos ahora como abrir o cerrar los puertos según las necesidades de cada servidor.
Una forma sencilla es indicar directamente el nombre del servicio utilizando la opción de allow.
sudo ufw allow ssh
Sin embargo, podemos escribir la regla equivalente especificando el puerto en vez del nombre del servicio. Por ejemplo, este comando funciona como el anterior:
sudo ufw allow 22
Si deseamos ver algo mas de información del estado de los puertos, podemos poner
sudo ufw status verbose
Otra opción si deseamos habilitar varios puertos que estan consecutivos, podemos indicar el rango.
sudo ufw allow 6000:6007 /tcp
sudo ufw allow 6000:6007 /udp
Esto abriría los puertos del 6000 al 6007
Cerrar puertos.
Si deseamos cerrar un puerto que tengamos abierto, podemos cerrarlo con.
sudo ufw deny 80
Esto cerraría el puerto 80 de http evitando conexiones al servidor.
Habilitar o cerrar puertos con orígenes definidos.
En ocasiones para mayor seguridad queremos abrir los puertos, pero solo para acceder desde una dirección ip concreta, esto lo realizaremos añadiendo la opción from
sudo ufw allow from 03.0.113.4
De este modo solo daremos acceso al equipo con la ip designada. Aunque lo mas común es determinar el o los puertos concretos que queremos que pueda acceder.
Por ejemplo, si desea permitir que 203.0.113.4 se conecte al puerto 22 (SSH), utilice este comando:
sudo ufw allow from 203.0.113.4 to any port 22
Por último si estamos en una infraestructura con diferentes subredes, podemos determinar cual de ellas pueden acceder o no. Por ejemplo una subred para un departamento de una empresa en concreto.
sudo ufw allow from 203.0.113.0/24
o si queremos especificar el puerto
sudo ufw allow from 203.0.113.0/24 to any port 22
Por numero de regla
Si utiliza el número de regla para eliminar reglas de firewall, lo primero que le convendrá hacer es obtener una lista de reglas de firewall. El comando “UFW status” tiene una opción para mostrar números junto a cada regla, como se muestra aquí:
sudo ufw status numbered
Numbered Output:Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN 15.15.15.0/24
[ 2] 80 ALLOW IN Anywhere
Si queremos eliminar la regla 2, que permite las conexiones del puerto 80 (HTTP), podemos especificarlo en un comando “UFW delete”
sudo ufw delete 2
Otra forma es hacerlo sin numerar poniendo directamente el servicio a borrar o el numero de puerto. Por ejemplo: desea eliminar la regla allow http, podría escribir lo siguiente:
sudo ufw delete allow http
También podría especificar la regla mediante allow 80 en vez de hacerlo por nombre de servicio:
sudo ufw delete allow 80
Otros comandos útiles pueden ser:
Si decide que no desea utilizar UFW, puede desactivarlo con este comando:
sudo ufw disable
Si ya configuró reglas de UFW y decide que desea empezar de nuevo, puede utilizar el comando “reset”:
sudo ufw reset
















![[Reto] - Infraestructura virtualizada con Ubuntu Server 9dc81aff-d57d-45b1-83e9-c70955561713](https://laaventuradeaprender.com/wp-content/uploads/2026/03/9dc81aff-d57d-45b1-83e9-c70955561713-150x150.png)