Comandos LinuxExplicados en español
/
Ficha71 / 104
Categoría
Redes
Ejemplos
5
Ver también
iptables · ss · netstat · ip · systemctl

ufw

Uncomplicated Firewall (firewall sin complicaciones)

Activa, configura y gestiona reglas de firewall de forma sencilla.

Es una forma sencilla de manejar el cortafuegos (firewall): permites o bloqueas puertos con órdenes cortas como ufw allow ssh, y ufw escribe por ti las reglas de iptables. Lo usas para abrir SSH, HTTP o HTTPS y cerrar lo demás. Ubuntu lo trae instalado pero apagado; en Debian se instala con sudo apt install ufw.

Sintaxisufw [comando] [reglas...]
Precaución

Cerrar puerto 22 (SSH) sin tener otro acceso puede dejarte sin entrar al servidor. Siempre verifica conectividad después de cambiar reglas.

§ 1

Despiece

5 ejemplos
Ver estado del firewall

Ver estado del firewall

4 piezas
Lámina01 / 05
Comandosudo ufw status verbose
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoRequiere privilegios.
2ufwComandoComando ufw.
3statusValorMuestra estado.
4verboseValorMuestra más detalles.
Resultado

Muestra si ufw está activo/inactivo y reglas con sus políticas.

Permitir SSH

4 piezas
Lámina02 / 05
Comandosudo ufw allow ssh
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoPrivilegios necesarios.
2ufwComandoFirewall.
3allowValorPermite tráfico.
4sshValorServicio conocido (equivale a 22/tcp).
Resultado

Abre puerto 22/TCP para permitir conexiones SSH.

Permitir HTTP y HTTPS

9 piezas
Lámina03 / 05
Comandosudo ufw allow 80/tcp && sudo ufw allow 443/tcp
Piezas9
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoPrivilegios.
2ufwComandoFirewall.
3allowValorPermite.
480/tcpValorPuerto 80 TCP (HTTP).
5&&OperadorEjecuta siguiente comando si el primero tuvo éxito.
6sudoComandoPrivilegios.
7ufwComandoFirewall.
8allowValorPermite.
9443/tcpValorPuerto 443 TCP (HTTPS).
Resultado

Permite tráfico web HTTP y HTTPS.

Bloquear una IP aunque ya permitas SSH

11 piezas
Lámina04 / 05
Comandosudo ufw insert 1 deny from 203.0.113.10 to any port 22
Piezas11
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoCambiar el firewall requiere permisos de administrador.
2ufwComandoEl firewall sencillo de Ubuntu.
3insertValorInserta la regla en una posición, en vez de agregarla al final.
41ValorLa pone primero. ufw revisa las reglas en orden y aplica la primera que coincide.
5denyValorBloquea el tráfico que coincida.
6fromValorIndica el origen del tráfico.
7203.0.113.10ArgumentoLa IP que quieres bloquear.
8toValorIndica el destino.
9anyValorCualquier dirección de tu equipo.
10portValorIndica el puerto.
1122ValorEl puerto de SSH.
Resultado

Esa IP ya no puede conectarse por SSH, aunque tengas una regla allow ssh. Si usaras sudo ufw deny ... sin insert 1, la regla quedaría al final y nunca se aplicaría, porque la de allow ssh coincide antes. Revisa el orden con sudo ufw status numbered.

Activar el firewall

3 piezas
Lámina05 / 05
Comandosudo ufw enable
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoPrivilegios.
2ufwComandoFirewall.
3enableValorActiva el firewall.
Resultado

ufw se activa y arranca automáticamente al reiniciar (por defecto).

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
enableActiva el firewall.
disableDesactiva el firewall.
statusMuestra estado y reglas activas.
allowPermite tráfico (ej. allow ssh, allow 80/tcp).
denyNiega tráfico.
deleteElimina una regla.
reloadRecarga reglas sin desactivar.
§ 3

Fallas comunes

FallaRemedio
Cerrar SSH accidentalmente (deny 22) y perder acceso remoto.Antes de activar reglas nuevas, asegúrate de tener allow ssh. Si ya lo hiciste, accede por otro medio (console/VNC) y corrige con ufw allow ssh.
ufw status dice inactive pero crees que está activo.Ejecuta sudo ufw status verbose para confirmar estado. Actívalo con sudo ufw enable cuando todo esté correcto.
Confundir política por defecto (incoming deny) con permitir todo.Por defecto ufw suele negar entrante y permitir saliente. Siempre permite explícitamente lo que necesites (ssh, http, https).
Bloquear una IP con ufw deny y ver que sigue entrando.ufw aplica la primera regla que coincide. Si allow ssh está antes, tu deny nunca llega a usarse. Ponla primero con sudo ufw insert 1 deny from IP to any port 22.
§ 4

Preguntas frecuentes

¿Para qué sirve ufw?
Sirve para gestionar fácilmente reglas de firewall (permitir/bloquear puertos) usando iptables por debajo, sin escribir reglas complejas.
¿Cómo abro puerto 80 con ufw?
Con sudo ufw allow 80/tcp. También puedes permitir por servicio: sudo ufw allow http.
¿ufw protege también salida?
Por defecto ufw permite todo el tráfico saliente. Para restringir salida necesitas configurar default deny outgoing y reglas allow específicas.
¿Cómo veo reglas activas?
Con sudo ufw status verbose (o sudo ufw status numbered para editar por número).
¿Qué pasa si activo ufw sin permitir SSH?
Si estás conectado por SSH (puerto 22), te cortará la conexión. Siempre haz sudo ufw allow ssh antes de sudo ufw enable en servidores remotos.
§ 5

Ver también