Búsqueda de sitios web

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


Firewalld proporciona una forma de configurar reglas de firewall dinámicas en Linux que se pueden aplicar instantáneamente, sin necesidad de reiniciar el firewall y también admite conceptos de zona y D-BUS, lo que facilita 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 principales motivos para introducir 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 utilizando 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 mantenerlos juntos como se explica en este artículo.

En nuestro artículo anterior, donde vimos 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 del firewall en RHEL/CentOS 7

Todos los ejemplos cubiertos en este artículo se prueban prácticamente 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 firewalld está habilitado y en ejecución.

systemctl status firewalld

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

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

Si no está familiarizado con la línea de comandos, también puede administrar firewalld desde la GUI; para ello, debe tener el paquete GUI instalado en el sistema; de lo contrario, instálelo usando el siguiente comando.

yum install firewalld firewall-config

Como se dijo anteriormente, este artículo está escrito especialmente 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 GUI... 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 la zona pública, utilice 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 usando 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 también puede definir o eliminar cada servicio manualmente ejecutando lo siguiente comandos.

Por ejemplo, los siguientes comandos le ayudarán a agregar o eliminar servicios específicos, como hicimos con 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 pánico)

Si desea bloquear cualquier conexión entrante o saliente, debe utilizar el modo "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 '–query-panic >' opción como se enumera a continuación.

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

¿Ves en la imagen de arriba que la consulta de pánico dice “Host desconocido google.com“. Ahora intente desactivar el modo de pánico y luego haga ping nuevamente 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.