UFW (Uncomplicated Firewall) es una herramienta diseñada para simplificar la configuración y gestión de cortafuegos (firewalls) en sistemas operativos basados en Linux, especialmente en distribuciones como Ubuntu y Debian. Su propósito es ofrecer una manera fácil de manejar el iptables, que es la herramienta subyacente en Linux para la configuración de reglas de firewall.

Características Principales

  1. Simplicidad: UFW está diseñado para ser fácil de usar, tanto para usuarios novatos como para administradores de sistemas. Permite configurar reglas de firewall con comandos sencillos en lugar de la sintaxis compleja de iptables.
  2. Interfaz por Línea de Comandos: UFW se controla mediante una interfaz de línea de comandos, donde los usuarios pueden habilitar o deshabilitar el firewall, permitir o bloquear puertos específicos, y gestionar otras configuraciones.
  3. Reglas Predefinidas: UFW incluye reglas predefinidas para servicios comunes, como SSH, HTTP, y HTTPS, lo que facilita la configuración de reglas de acceso para estos servicios.
  4. Integración con IPv6: UFW soporta tanto IPv4 como IPv6, lo que permite a los administradores gestionar reglas para ambas versiones del protocolo de internet.
  5. Logging: UFW incluye funcionalidades de registro que permiten a los administradores ver qué tráfico ha sido permitido o bloqueado, facilitando el diagnóstico de problemas y la seguridad.

Activar UFW

El comando sudo ufw enable activa el firewall de UFW (Uncomplicated Firewall). El problema es que si tienes una conexión SSH activa y no has configurado una regla para permitir el tráfico SSH (puerto 22) antes de activar el firewall, es muy probable que se interrumpa tu conexión, ya que UFW bloqueará todas las conexiones entrantes por defecto.

Para evitar que se corte la conexión, debes asegurarte de que el tráfico SSH esté permitido antes de activar el firewall. Puedes hacerlo con los siguientes comandos:

  1. Permitir conexiones SSH:

    sudo ufw allow ssh
    

    Esto permite el tráfico entrante en el puerto 22, que es el puerto por defecto para SSH.

  2. Activar UFW:

    sudo ufw enable
    

Una vez que has permitido el tráfico SSH y habilitado UFW, puedes denegar todo el resto del tráfico entrante para asegurar tu servidor. Esto se hace configurando una política predeterminada que bloquee todas las conexiones entrantes, excepto aquellas que has permitido explícitamente.

Pasos para Denegar Todo el Tráfico Restante:

  1. Establecer la política predeterminada para denegar todas las conexiones entrantes:

    Este comando asegura que cualquier tráfico entrante que no haya sido específicamente permitido (como el tráfico SSH que ya configuraste) será bloqueado:

    sudo ufw default deny incoming
    
  2. (Opcional) Permitir tráfico saliente:

    En la mayoría de los casos, se permite todo el tráfico saliente para que tu servidor pueda realizar conexiones hacia el exterior (por ejemplo, para actualizaciones del sistema). Esto es lo que hace UFW por defecto, pero puedes asegurarte de que esta configuración está en su lugar con:

    sudo ufw default allow outgoing
    
  3. Verificar las reglas actuales:

    Después de configurar las políticas, puedes verificar el estado y las reglas actuales de UFW con:

    sudo ufw status verbose
    

    Este comando te mostrará que el tráfico entrante está bloqueado por defecto, excepto para SSH, y que el tráfico saliente está permitido.

Resumen de Configuración: