Is UFW a real firewall?

Guía Definitiva de UFW y Sudo en Linux

16/07/2025

Valoración: 3.92 (4052 votos)

La seguridad en cualquier sistema operativo es un pilar fundamental, y en el universo Linux, disponemos de herramientas increíblemente potentes para proteger nuestros servidores y estaciones de trabajo. Dos de los conceptos más importantes en este ámbito son la gestión del firewall y la administración de privilegios de usuario. Un firewall correctamente configurado actúa como una barrera de primera línea contra accesos no autorizados, mientras que una gestión de permisos adecuada evita que errores o ataques maliciosos causen daños irreparables en el sistema. En este artículo, exploraremos en profundidad cómo utilizar UFW (Uncomplicated Firewall) para asegurar nuestras conexiones y cómo administrar usuarios y permisos de superusuario, comparando las herramientas clásicas como `sudo` con alternativas modernas y seguras como `doas`, especialmente relevantes en distribuciones como Alpine Linux.

How to enable UFW on Linux?
HOW TO INSTALL UFW FIREWALL , Step 1: SSH into the Linux system. To install UFW, you need to SSH into the system. Step 2: Update system check settings. ... , Step 3: Install UFW. $ sudo apt-get install ufw. ... , Step 4: Enable UFW, Activate UFW After Installation. To enable UFW and start enforcing the firewall rules, run:
Índice de Contenido

¿Qué es UFW y por qué es crucial para la seguridad?

UFW, o Uncomplicated Firewall, es una interfaz de gestión de firewall diseñada para ser increíblemente fácil de usar. Actúa como un "front-end" para las complejas y potentes herramientas de `iptables`, simplificando drásticamente el proceso de configuración de reglas de red. Su objetivo es proporcionar una forma accesible para que los usuarios y administradores aseguren sus sistemas sin necesidad de tener un conocimiento profundo sobre la sintaxis de `iptables`. Cuando se configura correctamente, UFW es una herramienta poderosa que puede mejorar significativamente la seguridad de sus servidores, permitiendo únicamente el tráfico que usted explícitamente autoriza y bloqueando todo lo demás.

La filosofía detrás de UFW es simple: por defecto, denegar todas las conexiones entrantes y permitir todas las salientes. Esto significa que, de entrada, su servidor no aceptará ninguna conexión desde el exterior, a menos que usted cree una regla específica para permitirla. Este enfoque de "denegar por defecto" es una de las mejores prácticas en seguridad informática, ya que minimiza la superficie de ataque de su sistema.

Pasos para Habilitar y Configurar UFW en Ubuntu

Configurar UFW es un proceso sencillo y directo. A continuación, se detallan los pasos más comunes para poner en marcha un firewall básico y seguro en un servidor Ubuntu.

  1. Verificar la instalación: UFW suele venir preinstalado en Ubuntu. Puede verificarlo con `sudo ufw status`. Si no está instalado, puede hacerlo con `sudo apt-get install ufw`.
  2. Configurar las reglas por defecto: Antes de habilitarlo, es fundamental establecer las políticas predeterminadas. Lo más seguro es denegar todo el tráfico entrante y permitir todo el saliente.
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
  3. Permitir conexiones esenciales: ¡Cuidado! Antes de activar el firewall, debe asegurarse de permitir las conexiones que necesita para no quedarse fuera de su propio servidor. La más importante es SSH (Secure Shell), que le permite conectarse remotamente.
    sudo ufw allow ssh
    Alternativamente, si su puerto SSH no es el estándar (22), puede especificarlo: `sudo ufw allow 2222/tcp`. También puede permitir otros servicios por su nombre, como `http` o `https`.
  4. Habilitar UFW: Una vez que ha configurado sus reglas básicas, es hora de activar el firewall. El sistema le advertirá que esto puede interrumpir las conexiones existentes.
    sudo ufw enable
  5. Comprobar el estado: Para ver las reglas que ha configurado y el estado del firewall, utilice el siguiente comando:
    sudo ufw status verbose
    Esto le mostrará una lista detallada de todas las reglas activas.

Recuerde siempre permitir cualquier otra conexión entrante que su servidor necesite (por ejemplo, para un servidor web o una base de datos), mientras limita cualquier conexión innecesaria. Un servidor funcional y seguro es el objetivo.

Gestión de Usuarios y Permisos en Alpine Linux

Pasando de la seguridad de red a la seguridad del sistema, la gestión de usuarios es igualmente crítica. Alpine Linux, una distribución conocida por su ligereza y enfoque en la seguridad, promueve prácticas muy estrictas en este sentido. La regla de oro es nunca utilizar la cuenta `root` para las tareas diarias. La cuenta `root` tiene poder absoluto sobre el sistema, y un simple error tipográfico puede tener consecuencias catastróficas. Por ello, se recomienda crear usuarios sin privilegios para el trabajo cotidiano y otorgarles acceso administrativo solo cuando sea estrictamente necesario.

Creación y Administración de Usuarios con `adduser` y `deluser`

Alpine Linux proporciona herramientas sencillas para la gestión de usuarios. Para crear un nuevo usuario, se utiliza el comando `adduser`:

# adduser -g "Nombre Completo" nombredeusuario

Por defecto, este comando:

  • Le pedirá que establezca una contraseña para el nuevo usuario.
  • Creará un directorio personal en `/home/nombredeusuario`.
  • Asignará un ID de usuario y de grupo, comenzando desde 1000.
  • Establecerá el campo GECOS (información del usuario) con el nombre proporcionado.

Para eliminar un usuario, el comando es `deluser`. Si además desea eliminar su directorio personal, debe usar la opción `--remove-home`.

# deluser --remove-home nombredeusuario

El Poder Delegado: `sudo` vs. `doas`

Para ejecutar comandos que requieren privilegios de `root` sin iniciar sesión como tal, tradicionalmente se ha utilizado `sudo` (su “do”). Sin embargo, Alpine Linux ha marcado una tendencia interesante al depreciar `sudo` en favor de `doas` a partir de su versión 3.15.0.

How to enable UFW on Linux?
HOW TO INSTALL UFW FIREWALL , Step 1: SSH into the Linux system. To install UFW, you need to SSH into the system. Step 2: Update system check settings. ... , Step 3: Install UFW. $ sudo apt-get install ufw. ... , Step 4: Enable UFW, Activate UFW After Installation. To enable UFW and start enforcing the firewall rules, run:

Sudo: Permite a un administrador del sistema delegar autoridad, dando a ciertos usuarios la capacidad de ejecutar algunos (o todos) los comandos como `root` u otro usuario, manteniendo un registro de auditoría. Para configurar `sudo`, se suele añadir una configuración para el usuario en el directorio `/etc/sudoers.d/`.

# echo "nombredeusuario ALL=(ALL) ALL" > /etc/sudoers.d/nombredeusuario
# chmod 0440 /etc/sudoers.d/nombredeusuario

Doas: Es una utilidad mucho más simple y ligera que cumple una función similar. Su configuración es notablemente más sencilla. Para permitir que los miembros del grupo `wheel` (el grupo de administradores tradicional en sistemas BSD y Alpine) ejecuten comandos como `root`, solo se necesita crear un archivo de configuración:

# apk add doas
# echo "permit persist :wheel" > /etc/doas.d/20-wheel.conf

Una vez configurado, un usuario que pertenezca al grupo `wheel` puede ejecutar un comando con privilegios elevados simplemente anteponiendo `doas`, de forma similar a `sudo`.

Tabla Comparativa: `sudo` vs. `doas`

CaracterísticaSudoDoas
Simplicidad de ConfiguraciónCompleja, con un archivo de sintaxis propia (`/etc/sudoers`) y una herramienta (`visudo`) para editarlo.Extremadamente simple, con un archivo de configuración de sintaxis clara y legible.
Base de CódigoMuy grande y compleja, lo que históricamente ha llevado a vulnerabilidades.Pequeña y auditada, lo que reduce la superficie de ataque.
FlexibilidadExtremadamente flexible, con un gran número de opciones y plugins.Más simple, cubre el 99% de los casos de uso comunes con menos complejidad.
Adopción en AlpineDepreciado, se recomienda `doas`.La herramienta recomendada y preferida por la distribución.

Preguntas Frecuentes (FAQ)

¿Qué pasa si bloqueo el acceso SSH con UFW por error?

Si activas UFW sin una regla que permita SSH, perderás el acceso remoto a tu servidor. Si tienes acceso físico o a través de una consola de tu proveedor de hosting, puedes iniciar sesión localmente y deshabilitar el firewall con `ufw disable` o añadir la regla correcta con `ufw allow ssh`.

¿Es `doas` un reemplazo completo para `sudo`?

Para la gran mayoría de los usuarios y casos de uso, sí. `doas` maneja perfectamente la tarea de ejecutar comandos como otro usuario. `sudo` tiene algunas características avanzadas y un sistema de plugins que `doas` no tiene, pero esta complejidad es a menudo innecesaria y puede ser una fuente de vulnerabilidades.

¿Por qué no debería usar la cuenta `root` directamente?

Usar `root` para todo es peligroso. No hay advertencias ni segundas oportunidades; un comando erróneo puede destruir el sistema. Además, no deja un rastro de auditoría claro sobre quién realizó qué acción administrativa. Usar un usuario normal con `doas` o `sudo` obliga a una elevación de privilegios consciente para cada tarea administrativa y registra la acción.

¿Cómo hago mis cambios de usuario persistentes en una instalación "diskless" de Alpine?

En un modo de instalación "diskless" (sin disco), los cambios en el sistema de archivos no se guardan al reiniciar a menos que se confirmen explícitamente. Después de crear un nuevo usuario (cuyo directorio `/home` se crea), debe incluir ese directorio en la copia de seguridad local (`lbu`) y confirmar los cambios:
# lbu include /home
# lbu commit
Esto asegurará que el nuevo usuario y su directorio personal persistan tras un reinicio.

Si quieres conocer otros artículos parecidos a Guía Definitiva de UFW y Sudo en Linux puedes visitar la categoría Automovilismo.

Subir