Instalar UFW (Uncomplicated Firewall) - Servidores Virtuales Privados

Inicio » Servidores Virtuales Privados


Guía de Instalación y Configuración: UFW (Uncomplicated Firewall)

Sistemas operativos objetivo: Ubuntu 22.04 LTS y AlmaLinux 8


1. Introducción

UFW (Uncomplicated Firewall) es una interfaz simplificada para iptables que facilita la administración de reglas de firewall. Está disponible en la mayoría de distribuciones Linux modernas y es ideal para servidores donde se requiere una configuración rápida, segura y fácil de mantener.


2. Requisitos Previos

  • Acceso root o privilegios sudo.
  • Conexión SSH.
  • Sin otros firewalls activos (por ejemplo, desactivar firewalld o ConfigServer).

3. Instalación

3.1 Ubuntu 22.04 LTS

sudo apt update
sudo apt install -y ufw
ufw --version

3.2 AlmaLinux 8

sudo dnf install -y epel-release
sudo dnf makecache
sudo dnf install -y ufw
ufw --version

4. Configuración Inicial

4.1 Políticas por defecto

sudo ufw default deny incoming
sudo ufw default allow outgoing

4.2 Permitir acceso SSH

sudo ufw allow ssh
# Si usas un puerto diferente, por ejemplo 2222:
sudo ufw allow 2222/tcp

4.3 Permitir servicios comunes

sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS

4.4 Revisar soporte IPv6 (Ubuntu)

Edita el archivo /etc/default/ufw y asegúrate de que la línea:

IPV6=yes

5. Activación de UFW

sudo ufw enable
sudo ufw status verbose

Esto activará UFW y lo configurará para iniciarse automáticamente al reiniciar el servidor.


6. Comandos Útiles

AcciónComando
Ver estado actualsudo ufw status verbose
Ver reglas numeradassudo ufw status numbered
Permitir puertosudo ufw allow 80/tcp
Denegar puertosudo ufw deny 25/tcp
Eliminar regla por númerosudo ufw delete 2
Resetear todas las reglassudo ufw reset

7. Habilitar al Arranque

sudo systemctl enable ufw
sudo systemctl status ufw

8. Logs y Monitoreo

Los registros se encuentran en:

  • /var/log/ufw.log
  • /var/log/syslog (Ubuntu)

Para ver las reglas aplicadas y su tráfico:

sudo ufw status verbose

9. Solución de Problemas Comunes

ProblemaSolución
Me bloqueé el acceso SSHPermitir el puerto SSH antes de ufw enable o usar consola física.
UFW no inicia al reiniciarVerifica con systemctl enable ufw.
Conflictos con firewalldDesactiva firewalld con sudo systemctl disable --now firewalld.
Tráfico IPv6 no filtradoHabilita IPV6=yes en la configuración.

10. Buenas Prácticas

  • Permitir solo los puertos necesarios.
  • Documentar las reglas aplicadas.
  • Usar deny incoming como política por defecto.
  • Monitorear los logs periódicamente.
  • Limitar acceso SSH solo desde IPs confiables.

Referencias

BOT