Reglas útiles de FirewallD para configurar y administrar el firewall en Linux


Firewalld proporciona una forma de configurar reglas dinámicas de firewall en Linux que se pueden aplicar instantáneamente, sin la necesidad de reiniciar el firewall y también es compatible con D-BUS y conceptos de zona que facilitan la configuración.

Firewalld reemplazó el antiguo mecanismo de firewall de Fedora (Fedora 18 en adelante), RHEL/CentOS 7 y otras distribuciones más recientes se basan en este nuevo mecanismo. Uno de los motivos más importantes de la introducción de un nuevo sistema de firewall es que el antiguo firewall necesita reiniciarse después de realizar cada cambio, rompiendo así todas las conexiones activas. Como se dijo anteriormente, el último firewalld admite zonas dinámicas, lo cual es útil para configurar diferentes conjuntos de zonas y reglas para su oficina o red doméstica a través de una línea de comando o usando un método GUI.

Inicialmente, el concepto de firewalld parece muy difícil de configurar, pero los servicios y las zonas lo hacen más fácil al mantener ambos juntos como se describe en este artículo.

En nuestro artículo anterior, donde hemos visto cómo jugar con firewalld y sus zonas, ahora aquí, en este artículo, veremos algunas reglas de firewalld útiles para configurar sus sistemas Linux actuales usando la línea de comandos.

  1. Configuración de Firewalld en RHEL/CentOS 7

Todos los ejemplos cubiertos en este artículo están prácticamente probados en la distribución CentOS 7 y también funcionan en distribuciones RHEL y Fedora.

Antes de implementar las reglas de firewalld, asegúrese de verificar primero si el servicio de firewalld está habilitado y en ejecución.

# systemctl status firewalld

La imagen de arriba muestra que firewalld está activo y funcionando. Ahora es el momento de comprobar todas las zonas activas y los servicios activos.

# firewall-cmd --get-active-zones
# firewall-cmd --get-services

Si en el caso, no está familiarizado con la línea de comandos, también puede administrar firewalld desde la GUI, para esto necesita tener el paquete GUI instalado en el sistema, si no, instalarlo usando el siguiente comando.

# yum install firewalld firewall-config

Como se dijo anteriormente, este artículo está especialmente escrito para los amantes de la línea de comandos y todos los ejemplos, que vamos a cubrir, se basan únicamente en la línea de comandos, sin interfaz gráfica de usuario ... lo siento ...

Antes de continuar, primero asegúrese de confirmar en qué zona pública va a configurar el firewall de Linux y enumere todos los servicios activos, puertos y reglas enriquecidas para la zona pública usando el siguiente comando.

# firewall-cmd --zone=public --list-all

En la imagen de arriba, todavía no se han agregado reglas activas, veamos cómo agregar, eliminar y modificar reglas en la parte restante de este artículo ...

1. Agregar y eliminar puertos en Firewalld

Para abrir cualquier puerto para zona pública, use el siguiente comando. Por ejemplo, el siguiente comando abrirá el puerto 80 para la zona pública.

# firewall-cmd --permanent --zone=public --add-port=80/tcp

De manera similar, para eliminar el puerto agregado, simplemente use la opción "–remove" con el comando firewalld como se muestra a continuación.

# firewall-cmd --zone=public --remove-port=80/tcp

Después de agregar o eliminar puertos específicos, asegúrese de confirmar si el puerto se agrega o elimina mediante la opción "–list-ports".

# firewall-cmd --zone=public --list-ports

2. Agregar y eliminar servicios en Firewalld

De forma predeterminada, firewalld viene con servicios predefinidos, si desea agregar una lista de servicios específicos, debe crear un nuevo archivo xml con todos los servicios incluidos en el archivo o, de lo contrario, también puede definir o eliminar cada servicio manualmente ejecutando lo siguiente comandos.

Por ejemplo, los siguientes comandos lo ayudarán a agregar o eliminar servicios específicos, como hicimos para FTP aquí en este ejemplo.

# firewall-cmd --zone=public --add-service=ftp
# firewall-cmd --zone=public --remove-service=ftp
# firewall-cmd --zone=public --list-services

3. Bloquear paquetes entrantes y salientes (modo de pánico)

Si desea bloquear cualquier conexión entrante o saliente, debe usar un modo de "pánico" para bloquear dichas solicitudes. Por ejemplo, la siguiente regla eliminará cualquier conexión establecida existente en el sistema.

# firewall-cmd --panic-on

Después de habilitar el modo de pánico, intente hacer ping a cualquier dominio (por ejemplo, google.com) y verifique si el modo de pánico está ACTIVADO usando la opción "–query-panic" como se indica a continuación.

# ping google.com -c 1
# firewall-cmd --query-panic

¿Ves en la imagen de arriba, la consulta de pánico dice "host desconocido google.com". Ahora intente deshabilitar el modo de pánico y luego una vez más haga ping y verifique.

# firewall-cmd --query-panic
# firewall-cmd --panic-off
# ping google.com -c 1

Ahora, esta vez, habrá una solicitud de ping de google.com ..