ufw
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.
ufw [comando] [reglas...]Cerrar puerto 22 (SSH) sin tener otro acceso puede dejarte sin entrar al servidor. Siempre verifica conectividad después de cambiar reglas.
Despiece
5 ejemplosVer estado del firewall
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Requiere privilegios. |
| 2 | ufw | Comando | Comando ufw. |
| 3 | status | Valor | Muestra estado. |
| 4 | verbose | Valor | Muestra más detalles. |
Muestra si ufw está activo/inactivo y reglas con sus políticas.
Permitir SSH
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Privilegios necesarios. |
| 2 | ufw | Comando | Firewall. |
| 3 | allow | Valor | Permite tráfico. |
| 4 | ssh | Valor | Servicio conocido (equivale a 22/tcp). |
Abre puerto 22/TCP para permitir conexiones SSH.
Permitir HTTP y HTTPS
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Privilegios. |
| 2 | ufw | Comando | Firewall. |
| 3 | allow | Valor | Permite. |
| 4 | 80/tcp | Valor | Puerto 80 TCP (HTTP). |
| 5 | && | Operador | Ejecuta siguiente comando si el primero tuvo éxito. |
| 6 | sudo | Comando | Privilegios. |
| 7 | ufw | Comando | Firewall. |
| 8 | allow | Valor | Permite. |
| 9 | 443/tcp | Valor | Puerto 443 TCP (HTTPS). |
Permite tráfico web HTTP y HTTPS.
Bloquear una IP aunque ya permitas SSH
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Cambiar el firewall requiere permisos de administrador. |
| 2 | ufw | Comando | El firewall sencillo de Ubuntu. |
| 3 | insert | Valor | Inserta la regla en una posición, en vez de agregarla al final. |
| 4 | 1 | Valor | La pone primero. ufw revisa las reglas en orden y aplica la primera que coincide. |
| 5 | deny | Valor | Bloquea el tráfico que coincida. |
| 6 | from | Valor | Indica el origen del tráfico. |
| 7 | 203.0.113.10 | Argumento | La IP que quieres bloquear. |
| 8 | to | Valor | Indica el destino. |
| 9 | any | Valor | Cualquier dirección de tu equipo. |
| 10 | port | Valor | Indica el puerto. |
| 11 | 22 | Valor | El puerto de SSH. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | Privilegios. |
| 2 | ufw | Comando | Firewall. |
| 3 | enable | Valor | Activa el firewall. |
ufw se activa y arranca automáticamente al reiniciar (por defecto).
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| enable | Activa el firewall. |
| disable | Desactiva el firewall. |
| status | Muestra estado y reglas activas. |
| allow | Permite tráfico (ej. allow ssh, allow 80/tcp). |
| deny | Niega tráfico. |
| delete | Elimina una regla. |
| reload | Recarga reglas sin desactivar. |
Fallas comunes
| Falla | Remedio |
|---|---|
| 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. |
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.
Ver también
Filtra el tráfico de red según reglas que tú escribes.
68ssMuestra conexiones de red, puertos abiertos y sockets activos.
63netstatMuestra conexiones de red, tablas de rutas y estadísticas de interfaces.
60ipMuestra las direcciones IP, las interfaces de red y las rutas del equipo.
90systemctlControla y revisa los servicios del sistema con systemd.