Como configurar en linux Firewall
Configurar un Firewall en Linux
Configurar un firewall en Linux es crucial para proteger tu sistema contra accesos no autorizados y amenazas externas. Los dos principales frameworks de firewall en Linux son netfilter (el núcleo) y sus front-ends de línea de comandos, como iptables y nftables. Hoy en día, nftables es el sucesor moderno y preferido, pero iptables sigue siendo muy utilizado. Para la mayoría de los usuarios, una herramienta de gestión más sencilla como ufw (Uncomplicated Firewall) o firewalld es la mejor opción.
Opción 1: UFW (Uncomplicated Firewall)
UFW es una interfaz de línea de comandos para iptables que simplifica la gestión del firewall. Es la opción predeterminada y recomendada para principiantes.
Instalación y Uso Básico
Instalar UFW:
En sistemas basados en Debian/Ubuntu:
sudo apt update && sudo apt install ufw
En sistemas basados en Red Hat/CentOS (generalmente no viene por defecto):
sudo dnf install ufw
(osudo yum install ufw
)
Habilitar UFW:
sudo ufw enable
Esto activará el firewall con las reglas predeterminadas (negar todas las conexiones entrantes, permitir todas las salientes).
Configurar Reglas Básicas:
Permitir conexiones entrantes:
Puerto específico:
sudo ufw allow 80/tcp
(para tráfico web HTTP)Servicio por nombre:
sudo ufw allow ssh
(para el puerto 22)
Denegar conexiones entrantes:
sudo ufw deny 25/tcp
(para bloquear SMTP)
Limitar conexiones (protección contra ataques de fuerza bruta):
sudo ufw limit ssh
(limita las conexiones a un puerto específico después de cierto número de intentos fallidos)
Verificar el estado:
sudo ufw status
(muestra las reglas activas)sudo ufw status verbose
(muestra más detalles)
Deshabilitar y restablecer:
sudo ufw disable
(desactiva el firewall)sudo ufw reset
(elimina todas las reglas y lo restablece a los valores predeterminados)
Opción 2: Firewalld
Firewalld es una herramienta de gestión de firewall dinámica, ideal para sistemas con servicios que se inician y detienen frecuentemente. Es el predeterminado en distribuciones como Red Hat, CentOS y Fedora.
Instalación y Zonas
Instalar Firewalld:
sudo dnf install firewalld
(Red Hat/CentOS/Fedora)sudo apt install firewalld
(Debian/Ubuntu)
Habilitar Firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Concepto de Zonas: Firewalld usa zonas para clasificar las interfaces de red (ej.
public
,home
,work
). Cada zona tiene su propio conjunto de reglas. La zona pública es la más restrictiva.Comandos Principales:
Verificar el estado:
sudo firewall-cmd --state
Verificar la zona activa y sus reglas:
sudo firewall-cmd --get-active-zones
ysudo firewall-cmd --list-all --zone=public
Añadir un servicio o puerto de forma temporal:
sudo firewall-cmd --add-service=http
(permite tráfico HTTP temporalmente)sudo firewall-cmd --add-port=8080/tcp
(permite el puerto 8080 temporalmente)
Añadir un servicio o puerto de forma permanente:
Añade el flag
--permanent
al final del comando.sudo firewall-cmd --add-port=443/tcp --permanent
(para HTTPS)Recargar Firewalld para aplicar los cambios permanentes:
sudo firewall-cmd --reload
Eliminar un servicio o puerto:
sudo firewall-cmd --remove-service=http --permanent
No olvides recargar:
sudo firewall-cmd --reload