ufw (Uncomplicated Firewall) es la herramienta de Ubuntu para gestionar iptables sin
tener que escribir reglas complejas a mano. Con unos pocos comandos se puede tener un
servidor protegido: solo entra el tráfico que se permite explícitamente, el resto se
descarta.
Para ver el estado actual del firewall:
sudo ufw status
Por defecto viene desactivado. Antes de activarlo, conviene añadir al menos la regla para SSH para no perder el acceso al servidor:
sudo ufw allow ssh
Esto equivale a permitir el puerto 22/tcp. Si el servidor usa un puerto SSH distinto:
sudo ufw allow 2222/tcp
Para un servidor web también se necesita HTTP y HTTPS:
sudo ufw allow http
sudo ufw allow https
Con las reglas necesarias en su sitio, se activa el firewall:
sudo ufw enable
ufw pide confirmación interactiva (y|n) antes de activarse. Para evitarlo
(útil en scripts) se puede usar --force:
sudo ufw --force enable
Para ver las reglas activas con numeración (útil para eliminar alguna):
sudo ufw status numbered
Y para eliminar una regla por número (también pide confirmación; --force va antes
del subcomando para omitirla):
sudo ufw delete 3
sudo ufw --force delete 3
Para denegar un puerto concreto de forma explícita:
sudo ufw deny 23/tcp
Si en algún momento hay que desactivar el firewall sin eliminar las reglas:
sudo ufw disable
ufw guarda las reglas y las restaura en cada arranque. Con este conjunto básico de
comandos se cubre la mayoría de situaciones en un servidor de producción.