Gestionar el Firewall en Centos7 / RHEL 7 (firewalld)

El firewall por defecto en Centos 7 / Red Hat Enterprise Linux 7 es firewalld.

En esta entrada veremos cómo realizar las operaciones más comunes con este firewall.

Abre una consola como root para trabajar con el firewall.

Estado del servicio firewalld

Primero nos aseguramos del estado del demonio firewalld:


systemctl status firewalld

Después del estado del firewall:


firewall-cmd --state

Zonas

En firewalld se trabaja con «Zonas». Sobre estas zonas aplicamos las reglas y luego asociamos los dispositivos de red a dichas zonas.

Estado de las zonas y dispositivos

Zona por defecto


firewall-cmd --get-default-zone

Zonas activas y dispositivos asociados


firewall-cmd --get-active-zones

Todas las zonas


firewall-cmd --get-zones

Configuración de una zona

Con esto vemos qué configuraciones tiene la zona public.


firewall-cmd --zone=public --list-ports
firewall-cmd --zone=public --list-services
firewall-cmd --zone=public --list-all

Abrir puertos

Una de las actividades más típicas al trabajar con un firewall, si no la más típica, es abrir puertos.

Especificando el puerto

En este ejemplo abrimos puertos típicos para servidores web (80, 443) y servidores de correo (25, 465, 587, 110, 143, 993, 995).


firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=25/tcp --permanent
firewall-cmd --zone=public --add-port=465/tcp --permanent
firewall-cmd --zone=public --add-port=587/tcp --permanent
firewall-cmd --zone=public --add-port=110/tcp --permanent
firewall-cmd --zone=public --add-port=143/tcp --permanent
firewall-cmd --zone=public --add-port=993/tcp --permanent
firewall-cmd --zone=public --add-port=995/tcp --permanent

Muy importante recargar el firewall para que los cambios que acabamos de introducir tengan efecto.


firewall-cmd --reload

Especificando el servicio

Firewalld nos permite especificar el nombre de servicio para algunos casos, por ejemplo para abrir el servicio dns.


firewall-cmd --zone=public --add-service=dns

O el ejemplo para un servidor Web:


firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent

Hay que recordar recargar firewalld para que tengan efecto nuestros cambios.


firewall-cmd --reload

Cerrar puertos

Especificando el puerto

De manera análoga, lo hacemos para cerrar acceso a puertos.


firewall-cmd --zone=public --remove-port=10050/tcp --permanent
firewall-cmd --reload

Especificando el servicio

De igual modo usando el servicio.


firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --reload

Cambiar de zona un interface

Para cambiar de zona un interface lo hacemos de la siguiente manera:


firewall-cmd --zone=myspecialzone --change-interface=eth1
firewall-cmd --reload

Crea tu propia zona

Vamos a realizar un pequeño ejemplo personalizado, donde crearemos una zona nueva llamada «myspecialzone» y asociaremos esta zona con el dispositivo «eth1».

Esta nueva zona permitirá acceso http, https y al puerto 8080.


firewall-cmd --new-zone=myspecialzone --permanent
firewall-cmd --zone=myspecialzone --add-service=http --permanent
firewall-cmd --zone=myspecialzone --add-service=https --permanent
firewall-cmd --zone=myspecialzone --add-port=8080 --permanent
firewall-cmd --zone=myspecialzone --change-interface=eth1
firewall-cmd --reload
firewall-cmd --get-active-zones
firewall-cmd --zone=myspecialzone --list-all

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *