Curso de Ubuntu 26.04 / Restringir puertos de administración y servicios con UFW
UFW (Uncomplicated Firewall) permite limitar el acceso a los puertos de Ubuntu a las conexiones que necesita. Antes de activarlo, confirme el origen y el puerto reales de administración, prepare la regla de acceso SSH y una consola de recuperación. Compruebe el resultado con conexiones nuevas desde clientes permitidos y no permitidos.
Comprobar servicios a la escucha y reglas existentes
sudo ss -lntup
sudo ss -tn
sudo ufw status verbose
sudo ufw status numbered
Anote la dirección y el puerto donde escucha cada servicio y la dirección del extremo remoto de SSH. Si la conexión pasa por traducción de direcciones (NAT) o una red privada virtual (VPN), el origen que ve el servidor puede diferir de la dirección del ordenador cliente. Si UFW ya está activo, conserve sus políticas y reglas y añada únicamente el cambio necesario.
En esta práctica, el cliente Linux con IP fija utiliza 192.168.56.10 en la red solo anfitrión. Si administra desde Windows y la dirección de su adaptador en esa red es 192.168.56.1, utilice esa dirección como origen. Confírmelo comparando el extremo remoto de ss -tn con el cliente real; no copie la dirección del adaptador NAT ni la del servidor .20 como origen.
Política inicial de una máquina virtual dedicada sin reglas
El ejemplo siguiente corresponde a una máquina virtual (VM) dedicada, sin reglas previas, administrada desde 192.168.56.10 mediante SSH en el puerto 22. Sustituya esos datos por los reales. No aplique estas políticas predeterminadas sobre un sistema que ya tenga una política de entrada o salida definida.
sudo ufw --dry-run allow from 192.168.56.10 to any port 22 proto tcp
sudo ufw allow from 192.168.56.10 to any port 22 proto tcp
sudo ufw default deny incoming
sudo ufw default allow outgoing
--dry-run muestra las reglas que se generarían, pero no crea un permiso efectivo. Añada primero la regla de administración y mantenga disponible una consola. Si SSH usa otro puerto, permitir el 22 no habilita las nuevas conexiones al puerto real.
Permitir y activar solo los servicios necesarios
sudo ufw allow from 192.168.56.10 to any port 80 proto tcp
sudo ufw enable
sudo ufw status verbose
El puerto 80 es un ejemplo que permite solo la prueba HTTP del cliente de práctica correspondiente. Si no hay servicio, no es necesario abrir el puerto de antemano. Lea la advertencia de interrupción del acceso de enable y no cierre la sesión existente hasta verificar desde otra terminal que se puede establecer una nueva conexión SSH.
Diferenciar capas de IPv6, nube y contenedores
Verifique la configuración IPv6 de /etc/default/ufw y los servicios a la escucha en IPv6 de ss. Que esté bloqueado desde un cliente IPv4 no significa que la ruta IPv6 también esté bloqueada. Los grupos de seguridad en la nube, el router y el firewall del host también son capas separadas.
Motores como Docker pueden crear reglas propias para publicar puertos, por lo que UFW por sí solo no determina toda la exposición. Compruebe la publicación de puertos en el anfitrión, revise la integración del cortafuegos del motor y pruebe desde los clientes externos previstos.
Probar accesos permitidos y bloqueados y retirar reglas de prueba
En los clientes permitidos, verifique nuevas conexiones SSH y HTTP; en los clientes no permitidos, verifique el bloqueo hacia el mismo destino. Si solo prueba las conexiones ya abiertas, es posible que no pueda verificar la política de nuevas conexiones debido a un firewall basado en estado. Diferencie también entre la detención del servicio y el bloqueo del firewall.
sudo ufw delete allow from 192.168.56.10 to any port 80 proto tcp
sudo ufw status numbered
El comando anterior solo elimina la regla de ejemplo HTTP añadida esta vez. Mantenga la regla SSH mientras se requiera acceso de administración. Al eliminar por número, debe verificar la nueva lista cada vez, y no elimine reglas no relacionadas mediante un reinicio completo o desactivación de políticas existentes. Para restaurar completamente una VM dedicada originalmente inactiva, tome como referencia las políticas registradas inicialmente y los cambios para hacer una evaluación separada.




