/
/

Cómo configurar un firewall en Linux: la guía definitiva

por Team Ninja
Configuring Firewalls for Linux blog image

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

Para configurar un firewall en Linux, establece una política de denegación predeterminada y luego usa iptables o un front end como UFW o firewalld para permitir únicamente el tráfico que necesitan tus servicios. Todas las distribuciones de Linux filtran paquetes a nivel de kernel, así que las herramientas que verás a continuación solo te ofrecen distintas formas de controlar esa capacidad integrada.

El propio kernel de Linux funciona de facto como un firewall de conmutación de paquetes, ya que está diseñado en torno a los principios del filtrado de paquetes en el nivel más básico del sistema operativo, lo que demuestra el papel central de los firewalls en la seguridad del sistema. Si trabajas en TI y te interesa la seguridad en Linux, esta combinación es clave para dominar la defensa digital.
Una configuración correcta del firewall garantiza que solo se procese el tráfico legítimo, lo que reduce la exposición del sistema a posibles amenazas. Al definir reglas específicas, los firewalls pueden proteger de forma eficaz los servicios y datos críticos. En cambio, un firewall mal configurado puede dejar puertos abiertos sin que te des cuenta, exponer servicios sensibles o incluso bloquear operaciones legítimas. Estos errores de configuración son una invitación abierta para los atacantes y pueden derivar en filtraciones de datos o ataques de denegación de servicio (DoS).
Cuando termines de configurar un firewall en Linux, este empezará a analizar los paquetes de datos que entran y salen del sistema. Al comprobar atributos como el puerto de destino, la IP de origen y el protocolo, decide si permite o deniega el tráfico según las reglas predefinidas. Si prefieres seguir la explicación en vídeo, puedes verla aquí: Cómo configurar un firewall en Linux.

Refuerza la seguridad de tus dispositivos Linux con NinjaOne.

Descarga nuestra guía de seguridad de TI para conocer más consejos.

Buenas prácticas para configurar un firewall en Linux

En el punto donde se cruzan la administración de sistemas Linux y la ciberseguridad, la configuración del firewall se convierte en la piedra angular de la arquitectura de defensa. Moverse por este laberinto exige algo más que conocimientos técnicos: hace falta un enfoque estratégico alineado con los objetivos de seguridad más amplios. Estas son las prácticas fundamentales que conviene adoptar:

Entiende tu política de seguridad

Antes de ponerte a configurar, parte de una política de seguridad bien definida. Determina qué datos y servicios necesitan protección, y frente a qué amenazas, para que tu firewall sea una primera línea de defensa eficaz. Esto no se limita a decidir qué bloquear y a quién: también entran en juego consideraciones de seguridad de la información, como los métodos de bloqueo.

Define las políticas predeterminadas

Para lograr la máxima seguridad en Linux, adopta una postura de exposición mínima. La buena práctica consiste en denegar todo por defecto y abrir vías de acceso solo cuando sea necesario, lo que en esencia es una arquitectura zero trust. Así se reduce al mínimo la superficie de ataque y la exposición involuntaria. Un caso habitual es la diferencia entre las reglas «deny» y «drop» del firewall: la primera envía activamente una respuesta REQUEST DENIED a quien originó los paquetes, mientras que la segunda los descarta en silencio, sin responder. Cualquiera que haya administrado un servidor de producción expuesto a internet te hablará de lo sensato que es no anunciar tu dirección IP a los escaneos de puertos aleatorios, por ejemplo.

Gestiona el tráfico entrante y saliente

Se insiste mucho en frenar el tráfico entrante no solicitado, pero supervisar y controlar el tráfico saliente es igual de importante. Así te aseguras de que los sistemas comprometidos dentro de la red no se conviertan en vías de exfiltración de datos u otras actividades maliciosas. Las infecciones en los portátiles de tus usuarios pueden contagiar a otros equipos de tu red, como el almacenamiento en red o los servidores de la empresa, con más facilidad que un atacante externo, en parte por el nivel de confianza que ya existe. Por eso, gestionar el parque de dispositivos móviles de tu empresa con productos como NinjaOne Endpoint Management ayuda a proteger tu red principal, al blindar los dispositivos frente a virus, spyware y ciberataques como el ransomware, cada vez más frecuente.

Configura reglas específicas para cada servicio

Cada servicio presenta vulnerabilidades distintas. Ajusta las reglas del firewall a esos matices para que cada servicio, sea SSH, HTTP o FTP, cuente con su propio escudo de protección. Servicios de vigilancia como fail2ban también pueden revisar los logs de los servicios en busca de señales de ataque y actuar en consecuencia, normalmente ajustando las reglas del firewall y las listas negras.

Revisa y actualiza el firewall de forma periódica

El panorama de amenazas cambia constantemente, y tus defensas deben hacerlo también. Revisar y actualizar con regularidad la configuración del firewall garantiza que siga siendo sólida, pertinente y capaz de responder al entorno de amenazas actual. En definitiva, configurar un firewall en Linux no consiste solo en establecer reglas: se trata de tejer una red de protección integral alineada con el estándar de seguridad de la organización.

Cómo configurar tu firewall en Linux

Introducción a iptables y a su configuración

iptables es una potente utilidad de espacio de usuario que sirve para configurar reglas de filtrado de paquetes IPv4 en el kernel de Linux. Forma parte del proyecto netfilter y es la herramienta de referencia para interactuar directamente con el framework de filtrado de paquetes del kernel. Con iptables, los administradores de sistemas pueden definir conjuntos de reglas para gestionar el tráfico entrante y saliente, y proteger así el sistema frente a comunicaciones de red potencialmente maliciosas.

El funcionamiento de iptables gira en torno a tres componentes principales

  1. Tablas: cada tabla define un conjunto de cadenas y está asociada a un tipo concreto de tratamiento de paquetes.
  2. Cadenas: son conjuntos de reglas que determinan cómo deben procesarse los paquetes. Las tres cadenas predeterminadas son INPUT (paquetes entrantes), OUTPUT (paquetes salientes) y FORWARD (paquetes enrutados).

Reglas: las reglas de una cadena deciden el destino de un paquete: aceptarlo, descartarlo, denegarlo o aplicar otra acción.

Algunos comandos básicos de iptables y sus configuraciones

  1. Listar las reglas actuales

sudo iptables -L -v -n
Este comando muestra todas las reglas activas en el firewall `iptables`.

  1. Definir políticas predeterminadas

– Para descartar por defecto todo el tráfico entrante:
sudo iptables -P INPUT DROP
– Para permitir por defecto todo el tráfico saliente:
sudo iptables -P OUTPUT ACCEPT

  1. Permitir tráfico concreto

– Para permitir el tráfico SSH entrante en el puerto 22:
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT

  1. Bloquear tráfico concreto

– Para bloquear el tráfico entrante de una dirección IP concreta (por ejemplo, `192.168.1.10`):
sudo iptables -A INPUT -s 192.168.1.10 -j DROP

  1. Configuración de NAT (redirección de puertos)

– Para redirigir el tráfico entrante del puerto 8080 a una máquina interna 192.168.1.10 en el puerto 80:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 8080 -j DNAT –to-destination 192.168.1.10:80

  1. Guardar las reglas

Las reglas de `iptables` son volátiles: desaparecen al reiniciar si no las guardas. La adopción de systemd y firewalld en muchas distribuciones ha introducido un nuevo paradigma para guardar y gestionar las reglas de iptables. Así puedes guardarlas con el método de systemd y, después, con otro método muy habitual:

Con el método de systemd

Muchas distribuciones de Linux actuales usan systemd para gestionar el sistema y los servicios. Si usas iptables con systemd, puedes aplicar este método:
Primero, comprueba que el servicio iptables esté habilitado para arrancar con el sistema:
sudo systemctl enable iptables
Después de configurar tus reglas de iptables, guárdalas:
sudo sh -c ‘iptables-save > /etc/iptables/iptables.rules’
Para restaurar las reglas en el arranque, systemd utilizará el servicio iptables-restore, que por defecto lee el archivo /etc/iptables/iptables.rules.

Con el plugin netfilter-persistent

Otro método, especialmente popular en sistemas basados en Debian sin systemd, es usar netfilter-persistent:
Primero tendrás que instalar los plugins necesarios:
sudo apt-get install iptables-persistent
Durante la instalación, lo normal es que te pregunte si quieres guardar tus reglas actuales de iptables. Si prefieres guardarlas más adelante, puedes hacerlo así:
sudo netfilter-persistent save
Este comando guarda las reglas activas de iptables para que se mantengan tras cada reinicio.
Elijas el método que elijas, es fundamental hacer copias de seguridad periódicas de tus reglas de iptables, sobre todo antes de cualquier cambio importante. Así tendrás siempre una configuración funcional a la que volver si surgen errores o problemas.
Incorporar `iptables` a tu estrategia de seguridad en Linux exige conocer bien la estructura y las necesidades de tu red. Prueba siempre las configuraciones nuevas en un entorno controlado y guarda copias de los conjuntos de reglas anteriores. La potencia y el nivel de detalle de iptables lo convierten en un arma de doble filo: usado con cuidado, es una barrera formidable; usado a la ligera, puede dejar sin servicio funciones de red esenciales.

Otras herramientas front end para iptables

Entre las herramientas más habituales para configurar iptables están ufw (Uncomplicated Firewall), de origen Ubuntu; firewalld, basada en systemd; y ConfigServer Firewall (CSF).

UFW (Uncomplicated Firewall)

UFW, o Uncomplicated Firewall, está pensado para que configurar el firewall iptables resulte más sencillo. Nació en Ubuntu y muchas otras distribuciones lo han adoptado por su simplicidad y facilidad de uso.

Ejemplos

Activar UFW

  • sudo ufw enable

Permitir el tráfico SSH

  • sudo ufw allow ssh

Denegar el tráfico de una IP concreta

  • sudo ufw deny from 192.168.1.10

Consultar el estado y las reglas de UFW

  • sudo ufw status verbose

Firewalld (componente de firewall de systemd)

firewalld es un gestor de firewall dinámico compatible con zonas de red/firewall para definir el nivel de confianza de las conexiones o interfaces de red. Cuenta con un cliente de línea de comandos, firewall-cmd, y una interfaz gráfica, firewall-config, lo que lo hace versátil para distintas preferencias de uso.

Ejemplos

Iniciar y habilitar firewalld

  • sudo systemctl start firewalld
  • sudo systemctl enable firewalld

Permitir los servicios HTTP y HTTPS

  • sudo firewall-cmd –add-service=http –permanent
  • sudo firewall-cmd –add-service=https –permanent

Bloquear una dirección IP

  • sudo firewall-cmd –permanent –add-rich-rule=’rule family=»ipv4″ source address=»192.168.1.10″ reject’

Recargar la configuración

  • sudo firewall-cmd –reload

CSF (ConfigServer Firewall)

CSF es una solución de firewall con muchas funciones, creada para servidores Linux. Además de gestionar `iptables` como las demás, ofrece funciones avanzadas como la detección de inicios de sesión e intrusiones y el seguimiento de procesos de seguridad.

Ejemplos

Instalar CSF (por ejemplo, en un servidor cPanel)

  • cd /usr/src
  • wget https://download.configserver.com/csf.tgz
  • tar -xzf csf.tgz
  • cd csf
  • sh install.cpanel.sh

Permitir una dirección IP

  • sudo csf -a 192.168.1.20

Bloquear una dirección IP

  • sudo csf -d 192.168.1.10

Recargar las reglas de CSF

  • sudo csf -r

Ver la configuración

  • sudo nano /etc/csf/csf.conf

Estas herramientas ofrecen muchas más funciones que los ejemplos anteriores, pero con ellos ya tienes una base para empezar. Cada gestor de firewall cuenta con documentación completa, muy útil para profundizar y abordar configuraciones avanzadas.

ClearOS

ClearOS es una distribución de Linux diseñada para gestionar funciones de servidor, red y gateway. Es fácil de usar e incluye una consola de administración web. Aunque ClearOS se puede manejar desde su interfaz gráfica, veremos algunos ejemplos de línea de comandos para dar una idea de sus posibilidades.

Ejemplos

Instalar el módulo de firewall

(Suponiendo ClearOS 7, desde la interfaz web)
Ve a ClearCenter → Software → Firewall y haz clic en «Install».
Iniciar y habilitar el firewall

  • sudo systemctl start clearos-firewall
  • sudo systemctl enable clearos-firewall

Permitir un servicio (por ejemplo, SSH)

  • sudo firewall-cmd –zone=external –add-service=ssh –permanent
  • sudo firewall-cmd –reload

Bloquear una dirección IP

  • sudo firewall-cmd –add-rich-rule=’rule family=»ipv4″ source address=»192.168.1.10″ reject’ –permanent
  • sudo firewall-cmd –reload

OPNsense

OPNsense es una plataforma gratuita y de código abierto de firewall y enrutamiento basada en FreeBSD. Concebida como sustituto directo de pfSense, está repleta de funciones y se gestiona principalmente desde una interfaz web.

Pasos de configuración (interfaz web)

Acceder a la interfaz web

Normalmente, tras la configuración inicial, puedes acceder a OPNsense desde un navegador web escribiendo la dirección IP del dispositivo, que suele ser https://192.168.1.1 (por defecto).
Crear reglas de firewall

  1. Ve a Firewall → Rules → LAN (o la interfaz para la que quieras crear la regla).
  2. Haz clic en el signo + para añadir una regla nueva.
  3. Rellena los datos: origen, destino, puertos y acción (Allow/Deny).
  4. Haz clic en Save y después en Apply Changes.

NAT/redirección de puertos

  1. Ve a Firewall → NAT → Port Forward.
  2. Haz clic en el signo + para añadir una regla nueva.
  3. Rellena los campos necesarios, como la interfaz, el protocolo, las IP de origen y destino y los puertos.
  4. Haz clic en Save y después en Apply Changes.

Bloquear una dirección IP

  1. Ve a Firewall → Aliases y añade un alias nuevo para la IP o el rango de IP que quieras bloquear.
  2. Una vez creado el alias, ve a Firewall → Rules → LAN (o la interfaz correspondiente).
  3. Crea una regla nueva con Action en «Block» y usa el alias como origen o destino.

Actualizaciones y mantenimiento

Las actualizaciones periódicas son esenciales para la seguridad. Ve a System → Firmware → Updates para comprobar y aplicar las actualizaciones disponibles.

Aunque ClearOS y OPNsense también se pueden manejar por línea de comandos, su punto fuerte y su diseño se centran en sus respectivas interfaces web, con configuraciones intuitivas para usuarios de cualquier nivel. Recuerda probar siempre las configuraciones en un entorno controlado antes de aplicarlas a un sistema en producción. Y haz copias de seguridad antes de cualquier cambio. La función de copia de seguridad de NinjaOne admite copias de archivos y carpetas en dispositivos Windows, macOS y Linux, así que las copias de Linux quedan en la misma consola que el resto de tu parque de endpoints.

Resolución de problemas en la configuración del firewall

Problemas habituales

  • Servicios bloqueados: servicios o aplicaciones legítimos que se bloquean sin querer
  • Vulnerabilidades expuestas: puertos o servicios abiertos sin intención.
  • Conflictos entre reglas: reglas solapadas o contradictorias que provocan comportamientos inesperados
  • Pérdida de rendimiento: un exceso de reglas que reduce el rendimiento del sistema o de la red

Diagnóstico y solución

  • Logs y alertas: revisa con regularidad los logs del firewall en busca de anomalías o actividades bloqueadas
  • Prueba la configuración: después de crear las reglas, pruébalas en escenarios controlados para confirmar que se comportan como esperas
  • Prioridad de las reglas: coloca las reglas más específicas por encima de las genéricas para evitar conflictos
  • Usa herramientas de monitorización: herramientas como nmap o netstat ayudan a ver qué puertos están abiertos y qué servicios están activos

Mantenimiento y rendimiento

  • Revisiones periódicas: revisa y elimina cada cierto tiempo las reglas obsoletas o innecesarias
  • Actualizaciones: mantén actualizado el software o el firmware del firewall para corregir vulnerabilidades
  • Copias de seguridad: haz siempre una copia de seguridad de las configuraciones antes de cambiarlas.
  • Segmentación: aplica la segmentación de red para reducir la carga del firewall y mejorar la seguridad

→ Protege y da soporte a tus dispositivos Linux sin complicaciones con NinjaOne Linux Endpoint Management.

Mejora la protección de tus endpoints con ¿qué es la configuración de un firewall? Cómo configurar tu firewall.

Configurar bien el firewall es clave para la seguridad en Linux

Si entiendes las políticas de seguridad, defines reglas predeterminadas, gestionas el flujo de tráfico, configuras reglas específicas para cada servicio y revisas la configuración con regularidad, conseguirás una protección sólida del sistema frente a amenazas externas. Un firewall bien configurado no es solo un portero: es un bastión esencial dentro de la estrategia de seguridad global de los sistemas Linux. Más allá de bloquear el tráfico no deseado, refleja un enfoque de defensa proactivo que refuerza Linux y los dispositivos frente a los retos de ciberseguridad en constante evolución.

Además de configurar firewalls y seguir las buenas prácticas de ciberseguridad, una de las formas más eficaces de proteger tus dispositivos es usar una solución de gestión de endpoints como NinjaOne. Con NinjaOne puedes supervisar, gestionar y proteger todos tus dispositivos Linux en remoto desde un único panel de control. Aprovecha las múltiples funciones de automatización de NinjaOne para ahorrar tiempo y ganar eficiencia sin descuidar la seguridad de tu entorno de TI.

Regístrate hoy en una prueba gratuita de NinjaOne y comprueba lo fácil y eficiente que puede ser la gestión de TI.

FAQs

Un firewall en Linux controla el tráfico de red entrante y saliente según reglas de seguridad predefinidas. Ayuda a impedir accesos no autorizados y, al mismo tiempo, permite que el tráfico legítimo llegue a los servicios necesarios.

Puedes configurar un firewall en Linux con herramientas como iptables, UFW o firewalld. Lo habitual es definir primero las políticas predeterminadas y después crear reglas que permitan o bloqueen el tráfico según puertos, direcciones IP y protocolos.

iptables es una utilidad para configurar reglas de filtrado de paquetes en el kernel de Linux. Organiza las reglas del firewall en tablas y cadenas que determinan cómo se gestiona el tráfico entrante, saliente y enrutado.

iptables ofrece un control directo y detallado de las reglas del firewall, mientras que UFW simplifica la configuración con comandos más sencillos. Firewalld usa zonas para gestionar distintos niveles de confianza en las conexiones e interfaces de red.

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?