Búsqueda de sitios web

Cómo configurar iptables en CentOS


En sistemas basados en Linux como CentOS, iptables es una utilidad de línea de comandos que permite al administrador del sistema configurar las reglas de filtrado de paquetes IP del cortafuegos del kernel de Linux, que se ejecutan como módulos adicionales de Netfilter. Estos filtros están estructurados en tablas separadas, cada una de las cuales tiene un conjunto de reglas sobre cómo deben manejarse los paquetes de tráfico de red. Actualmente, existen diferentes programas y módulos de kernel para los protocolos, como ebtables para paquetes Ethernet, arptables para ARP, ip6tables para IPv6 y IPv4, iptables. La herramienta de seguridad iptables también se utiliza para habilitar el tráfico aceptable, bloquear el tráfico no deseado, redirigir paquetes a otros puertos TCP/UDP, proteger el sistema contra ataques de denegación de servicio y mucho más.

Tipos de tablas en iptables

Una tabla es una colección de cadenas que realiza una tarea específica. Las tablas NAT, Filter y Mangle son las tres tablas principales de iptables:

La tabla NAT se utiliza para redirigir conexiones a otras interfaces de red.

La tabla Filtro es el filtro predeterminado que se usa en iptables, que administra el flujo de paquetes desde y hacia un sistema. También se encarga de permitir y bloquear las conexiones.

La tabla Mangle se usa para cambiar los encabezados de los paquetes.

Tipos de cadenas en iptables

Cada una de las iptables contiene cadenas específicas que comprenden un conjunto de reglas que se ejecutan en un orden específico. En iptables, tenemos cinco cadenas primarias:

  • Entrada: esta cadena maneja las conexiones entrantes y los paquetes a un protocolo o servicio.

  • Salida: Después de que un paquete haya sido procesado o procesado, se agrega a la cadena de salida.

  • Enrutamiento previo: cuando el paquete ingresa a la interfaz de su red, se enruta previamente a través de la cadena de enrutamiento previo.

  • Reenviar: Esta cadena de reenvíos se encarga del enrutamiento, o podemos decir que reenvía los paquetes entrantes desde su origen hasta su destino.

  • Enrutamiento posterior: la decisión de enrutamiento se toma antes de que un paquete abandone la interfaz de red y se agregue a la cadena posterior al enrutamiento.

Iptables se usa ampliamente para referirse a componentes a nivel de kernel. El módulo del núcleo que comprende la sección de código compartido se conoce como x_tables. Los cuatro módulos (eb, arp, v6 y v4) utilizan este módulo de kernel. También se utiliza para referirse a la arquitectura de firewall completa.

Las iptables se instalan en los archivos “usr/sbin/iptables” en la mayoría de los sistemas basados en Linux. También se puede ubicar en “/sbin/iptables ”. Sin embargo, iptables también funciona como un servicio. Es por eso que “/usr/sbin” es la ubicación preferida para ello.

Ahora, demostraremos cómo puede configurar iptables en CentOS. Antes de eso, instale iptables si aún no lo tiene en su sistema.

Cómo instalar iptables en CentOS

En su terminal CentOS, puede instalar fácilmente iptables ejecutando el comando que se indica a continuación:

$ sudo yum install iptables-services

La salida sin errores significa que la utilidad iptables se instaló correctamente.

Cómo habilitar iptables en CentOS

Para dar seguimiento al procedimiento de habilitar el servicio de iptables, el primer paso a realizar es iniciar su servicio:

$ sudo systemctl start iptables

$ sudo systemctl start ip6tables

Para permitir que este servicio se inicie automáticamente en el arranque de CentOS, escriba estos comandos en la terminal de su sistema:

$ sudo systemctl enable iptables

$ sudo systemctl enable ip6tables

Ejecute el siguiente comando systemctl para verificar el estado del servicio iptables:

$ sudo systemctl status iptables

Cómo configurar iptables en CentOS

Puede utilizar el comando "iptables" para revisar las reglas actuales de iptables ejecutando los comandos que se indican a continuación:

$ sudo iptables -nvL

Aquí:
Se agrega -n para salida numérica. Por ejemplo, los números de puerto y las direcciones IP se imprimen en formato numérico.

-v es para salida detallada. Esta opción se agrega para enumerar la información, como las opciones de reglas y los nombres de las interfaces.

-L se utiliza para listar reglas de iptables.

$ sudo ip6tables -nvL

El puerto SSH 22 solo está abierto de forma predeterminada. Obtendrá la salida como esta:

Para bloquear todos los paquetes nulos en la red, ejecute el siguiente comando de iptables:

$ sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Si desea agregar su host local al filtro de firewall, ejecute este comando:

$ sudo iptables -A INPUT -i lo -j ACCEPT

Para enumerar las reglas de la cadena de iptables con sus números de índice, escriba el siguiente comando en su terminal CentOS:

$ sudo iptables -L --line-numbers

Aquí, la opción "-L" se agrega para enumerar las reglas de la cadena y "–lines-numbers" para mostrar sus números de índice:

¿Qué es FirewallD en CentOS?

FirewallD es un servicio de firewall que se administra a través de "firewall-cmd", una utilidad de línea de comandos. Si prefiere la sintaxis de la línea de comandos de iptables, puede deshabilitar FirewallD y volver a la configuración estándar de iptables. En la siguiente sección, demostraremos el procedimiento para deshabilitar FirewallD en un sistema CentOS.

Cómo deshabilitar FirewallD en CentOS

Si desea detener FirewallD en su CentOS, abra su terminal presionando "CTRL+ALT+T" y luego ejecute el siguiente comando en él:

$ sudo systemctl stop firewalld

Este comando evitará que FirewallD realice su funcionalidad:

Debe saber que en el arranque del sistema, el servicio FirewallD se inicia automáticamente. Para deshabilitar el servicio FirewallD, escriba este comando:

$ sudo systemctl disable firewalld

Para restringir que otros servicios inicien el servicio FirewallD, enmascare el servicio FirewallD:

$ sudo systemctl mask --now firewalld

Conclusión