Firewall Dinámico Avanzado

Un firewall es un dispositivo, ya sea software o hardware, este filtra todo el trafico de red, funciona como intermediario. los sistemas operativos linux disponen de un firewall llamado iptable, este firewall esta incluido en linux desde la versión del kernel 2.4 en este post hablaremos del comando firewalld el cual posee facilidad en la configuración.

Empecemos con estas notas.

Al utilizar firewalld es recomendable deshabilitar iptables.

# systemctl mask iptables
# systemctl mask ip6tables

Comprobar el estado del firewalld.

# systemctl status firewalld

Activar e iniciar el firewalld.

# systemctl enable firewalld
# systemctl start firewalld

Al volver a verificar el estado, se observa que ya se esta ejecutando.

firewalld en comparación con iptables facilita la gestión del firewall, además nos permite trabajar con una utilidad grafica, la cual se ejecuta con el comando firewall-config.

A continuación algunas de las utilidades cuando trabajamos con zonas con el comando firewalld,

ACCIÓNEJEMPLO
Todo aceptado.trusted
Permite sólo ssh, samba, dns y dhcp.home
Permite sólo ssh, samba, dns y dhcp.internal
Sólo permite ssh y dhcp.work
Rechazara todo a excepción de ssh, es la configuración por default.public
Acepta sshexternal y dmz
Rechaza todo.block
Bloquea todo sin avisar al usuario.drop
firewalld

Obtener información de la zonas.

# firewall-cmd --get-zones

Añadir nueva zona y reiniciar para poder verla..

# firewall-cmd --new-zone=stacole --permanent
# systemctl restart firewalld

Ver la zona por defecto, la cual esta definida en /etc/firewall/firewall.conf

# firewall-cmd --get-default-zone

Ver zonas activas, asociadas a algún dispositivo.

# firewall-cmd --get-activezones

Ver la lista de servicios que podemos utilizar para añadir dentro de las zonas, ubicación de los servicios /usr/lib/firewalld/services/

# firewall-cmd --get-services

Obtener información de la zona por defautl con –list-all para alguna zona en especifico la segunda opción.

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

Ver las reglas de todas las zonas.

# firewall-cmd --list-all-zones
# firewall-cmd --list-all-zones | less

Añadir una red en una zona, si no agregamos —permanent al final cuando se reinicie la zona esta desaparecerá, reiniciar el firewall para ver los cambios.

# firewall-cmd --add-source=192.168.0.2/24 --zones=dmz --permanent
# firewall-cmd restart firewalld

Eliminar una red, si no existe un source todas las redes que esten en esa zona se le aplicara a esa regla

# firewall-cmd --remove-source=192.168.0.2/24 --zones=dmz --permanent

Añadir una interfaz a una zona, para tener diferentes interfaces dentro de una zona.

# firewall-cmd --add-interface=enp1s8 --zone=dmz --permanent

Remover una interfaz de una zona.

# firewall-cmd --remove-interface=enp1s8 --zone=dmz 

Añadir un servicio o un puerto, para que no sea rechazado por el firewall.

# ip a

cd /etc/postfix/

# ss -tunlep|grep 25

vi main.cf
Desactivar inet_interfaces = localhost y activar inet_interfaces = all

# systemctl restart postfix
# ss -tunlep|grep 25 (ahora escucha en todas las ips)
# firewall-cmd -add-servise=smtp --zone=dmz --permanent
# firewall-cmd -add-port=25/tcp --zone=dmz --permanent

# systemctl restart firewalld

Eliminar un servicio o un puerto.

# firewall-cmd  remove-service=smtp --zone=dmz --permanent
# firewall-cmd remove-port=25/tcp --zone=dmz --permanent

Para estar seguro que todas las reglas que esten en modo permanente se recarguen, utilizar el siguiente comando.

# firewall-cmd --reload

Eso es todo por ahora, gracias por leer.

Etiquetas: , , , , , , , , ,

One Comment

Deja una respuesta

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

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.