Cómo iniciar/detener y habilitar/deshabilitar FirewallD e Iptables Firewall en Linux


El cortafuegos es un software que actúa como un escudo entre el sistema del usuario y la red externa permitiendo que algunos paquetes pasen mientras descartan otros. El cortafuegos normalmente opera en la capa de red, es decir, en paquetes IP tanto Ipv4 como Ipv6.

Si un paquete pasará o será bloqueado, depende de las reglas contra ese tipo de paquetes en el firewall. Estas reglas pueden ser integradas o definidas por el usuario. Cada paquete que ingresa a la red debe atravesar este escudo que lo verifica con las reglas definidas en él para ese tipo de paquetes.

Cada regla tiene una acción de destino que se aplicará en caso de que el paquete no la satisfaga. En los sistemas Linux, el firewall como servicio es proporcionado por muchos softwares, los más comunes son: firewalld e iptables.

En Linux se utilizan muchos tipos diferentes de cortafuegos, pero la mayoría de los estándar son Iptables y Firewalld, que analizaremos en este artículo.

FirewallD es el administrador de firewall dinámico de los sistemas Linux. Este servicio se utiliza para configurar las conexiones de red, decidiendo así qué red externa o paquetes internos permitir atravesar la red y cuáles bloquear.

Permite dos tipos de configuraciones, permanente y en tiempo de ejecución. Las configuraciones de tiempo de ejecución se perderán cuando el servicio se reinicie, mientras que las permanentes se conservarán durante el inicio del sistema para que se sigan cada vez que el servicio se activa.

En correspondencia con estas configuraciones, firewallD tiene dos directorios, el predeterminado/fallback (/ usr/lib/firewall) que se pierde, el sistema se actualiza y la configuración del sistema (/ etc/firewall), que permanece permanente y anula la predeterminada si se proporciona. Este se encuentra como un servicio predeterminado en RHEL/CentOS 7 y Fedora 18.

Iptables es otro servicio que decide permitir, descartar o devolver paquetes IP. El servicio Iptables gestiona los paquetes Ipv4 mientras que Ip6tables gestiona los paquetes Ipv6. Este servicio administra una lista de tablas donde cada tabla se mantiene para diferentes propósitos, como: la tabla "filtro" es para reglas de firewall, la tabla "nat" se consulta en caso de una nueva conexión, "mangle" en caso de alteraciones de paquetes, etc.

Además, cada tabla tiene cadenas que pueden estar integradas o definidas por el usuario, donde una cadena significa un conjunto de reglas que se aplican a un paquete, decidiendo así cuál debe ser la acción objetivo para ese paquete, es decir, debe ser PERMITIDA, BLOQUEADA o DEVUELTA . Este servicio es un servicio predeterminado en sistemas como: RHEL/CentOS 6/5 y Fedora, ArchLinux, Ubuntu, etc.

Para obtener más información sobre los firewalls, siga los siguientes enlaces:

  1. Conceptos básicos y consejos sobre el cortafuegos de IPtables
  2. Configurar el cortafuegos de Iptables en Linux
  3. Configurar FirewallD en Linux
  4. Reglas útiles de FirewallD para administrar el firewall en Linux
  5. Cómo controlar el tráfico de red mediante FirewallD e Iptables

En este artículo explicaremos cómo iniciar, detener o reiniciar los servicios Iptables y FirewallD en Linux.

Cómo iniciar/detener y habilitar/deshabilitar el servicio FirewallD

Si está utilizando las versiones de CentOS/RHEL 7 o Fedora 18+, debe seguir las instrucciones a continuación para administrar el servicio FirewallD.

# systemctl start firewalld 
# systemctl stop firewalld
# systemctl status firewalld
# firewall-cmd --state

Como alternativa, puede deshabilitar el servicio firewalld para que no aplique reglas a los paquetes y habilitar las necesarias nuevamente.

# systemctl disable firewalld
# systemctl enable firewalld
# systemctl mask firewalld

Además, puede enmascarar el servicio de firewall que crea un enlace simbólico del firewall.service a /dev/null , deshabilitando así el servicio.

# systemctl unmask firewalld

Esto es inverso a enmascarar el servicio. Esto elimina el enlace simbólico del servicio creado durante el enmascaramiento, volviendo a habilitar el servicio.

Cómo iniciar/detener y habilitar/deshabilitar el servicio IPtables

En RHEL/CentOS 6/5/4 y Fedora 12-18, el firewall iptables viene como pre y posterior, el servicio iptables se puede instalar a través de:

# yum install iptables-services

Luego, el servicio se puede iniciar, detener o reiniciar mediante los siguientes comandos:

# systemctl start iptables
OR
# service iptables start
# systemctl stop iptables
OR
# service iptables stop
# systemctl disable iptables
Or
# service iptables save
# service iptables stop
# systemctl enable iptables
Or
# service iptables start
# systemctl status iptables
OR
# service iptables status

Sin embargo, en Ubuntu y algunas otras distribuciones de Linux, ufw es el comando que se usa para administrar el servicio de firewall de iptables. Ufw proporciona una interfaz fácil para que el usuario maneje el servicio de firewall de iptables.

$ sudo ufw enable
$ sudo ufw disable
# sudo ufw status 

Sin embargo, si desea enumerar cadenas en iptables que contienen todas las reglas, el siguiente comando puede ayudarlo a lograr lo mismo:

# iptables -L -n -v

Conclusión

Estas son las técnicas que pueden ayudarlo a iniciar, detener, deshabilitar y habilitar los servicios de administración de paquetes en sistemas basados en Linux. Diferentes distribuciones de Linux pueden tener diferentes servicios por defecto, como: Ubuntu puede tener iptables como servicio predeterminado y preinstalado, mientras que CentOS puede tener firewalld como servicio configurado por defecto para administrar paquetes IP entrantes y salientes.

En este artículo se presentan los trucos más comunes para administrar estos servicios en casi todas las distribuciones de Linux; sin embargo, si encuentra algo y desea agregar algo a este artículo, sus comentarios siempre son bienvenidos.