Cómo comprobar si un filtro de paquetes de red está activo en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo verificar si un filtro de paquetes de red está activo en Linux. Explorará métodos tradicionales utilizando iptables para listar las reglas del firewall y examinará el más nuevo marco (framework) nftables listando su conjunto de reglas (ruleset). Finalmente, verificará la configuración del filtro inspeccionando los archivos relevantes dentro del directorio /proc/sys/net, obteniendo una comprensión integral de cómo determinar el estado del filtrado de paquetes de red en un sistema Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/cat -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} linux/cd -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} linux/sudo -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} linux/ifconfig -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} linux/netstat -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} linux/ip -.-> lab-558739{{"Cómo comprobar si un filtro de paquetes de red está activo en Linux"}} end

Listar reglas de iptables con iptables -L

En este paso, aprenderá cómo ver las reglas actuales del firewall utilizando el comando iptables. iptables es una utilidad de línea de comandos tradicional utilizada para configurar el firewall del núcleo (kernel) de Linux.

Los firewalls son esenciales para la seguridad de la red. Controlan el tráfico de red entrante y saliente basándose en un conjunto de reglas. Estas reglas determinan si se permite o bloquea una conexión específica.

Para listar las reglas actuales de iptables, utilizará la opción -L. Esta opción le indica a iptables que liste las reglas en las cadenas (chains) especificadas.

Abra la terminal si aún no lo ha hecho. Escriba el siguiente comando y presione Enter:

sudo iptables -L

Debe utilizar sudo porque ver las reglas del firewall requiere privilegios de administrador.

Verá una salida similar a esta:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Esta salida muestra las reglas para las tres cadenas predeterminadas: INPUT, FORWARD y OUTPUT.

  • INPUT: Controla el tráfico destinado a la máquina local.
  • FORWARD: Controla el tráfico que pasa a través de la máquina (se utiliza para enrutamiento).
  • OUTPUT: Controla el tráfico que se origina en la máquina local.

La política policy ACCEPT significa que, por defecto, el tráfico se permite en estas cadenas si no coincide con ninguna regla específica.

Si hubiera reglas específicas configuradas, se listarían debajo de cada cadena, mostrando detalles como el destino (por ejemplo, ACCEPT, DROP), el protocolo (por ejemplo, tcp, udp), las direcciones IP de origen y destino y los puertos.

Por ahora, la configuración predeterminada es simple, pero ha utilizado con éxito iptables para ver las reglas actuales.

Haga clic en Continuar para pasar al siguiente paso.

Verificar nftables con nft list ruleset

En este paso, explorará nftables, el sucesor de iptables. Si bien iptables todavía se utiliza ampliamente, nftables ofrece un marco (framework) más flexible y eficiente para el filtrado de paquetes y la traducción de direcciones de red (NAT, por sus siglas en inglés).

nftables utiliza la utilidad de línea de comandos nft para gestionar los conjuntos de reglas (rulesets). Un conjunto de reglas es una colección de tablas, cadenas (chains) y reglas que definen cómo se maneja el tráfico de red.

Para ver el conjunto de reglas actual de nftables, utilizará el comando list ruleset.

Escriba el siguiente comando en su terminal y presione Enter:

sudo nft list ruleset

Nuevamente, se requiere sudo porque ver las reglas del firewall requiere privilegios de administrador.

Puede ver una salida similar a esta, o puede estar vacía si no se han configurado reglas de nftables:

table ip filter {
	chain INPUT {
		type filter hook input priority 0; policy accept;
	}

	chain FORWARD {
		type filter hook forward priority 0; policy accept;
	}

	chain OUTPUT {
		type filter hook output priority 0; policy accept;
	}
}

Esta salida muestra un conjunto de reglas básico de nftables con una tabla llamada filter para la familia de direcciones ip. Dentro de esta tabla, hay tres cadenas: INPUT, FORWARD y OUTPUT, similares a iptables.

  • table ip filter: Define una tabla llamada filter para el tráfico IPv4.
  • chain INPUT { ... }: Define la cadena de entrada.
  • type filter hook input priority 0;: Especifica que esta es una cadena de filtrado enganchada (hooked) a la ruta de red de entrada con una prioridad de 0.
  • policy accept;: Establece la política predeterminada para esta cadena para aceptar el tráfico.

Si se hubieran definido reglas específicas, se listarían dentro de los bloques de cadena.

Comparar la salida de iptables -L y nft list ruleset puede darle una idea de qué sistema de firewall está gestionando activamente las reglas en el sistema, o si ambos están presentes. En los sistemas modernos, nftables se está convirtiendo en el predeterminado.

Ahora ha utilizado con éxito nft para ver el conjunto de reglas actual de nftables.

Haga clic en Continuar para continuar.

Verificar la configuración de filtrado en /proc/sys/net

En este paso, explorará algunas configuraciones de filtrado de red a nivel de núcleo (kernel) examinando archivos en el directorio /proc/sys/net. El sistema de archivos /proc es un sistema de archivos virtual que proporciona información sobre procesos y otra información del sistema. El directorio /proc/sys contiene archivos que le permiten ver y modificar parámetros del núcleo en tiempo de ejecución.

Específicamente, veremos configuraciones relacionadas con el filtrado y reenvío de red.

Navegue al directorio relevante utilizando el comando cd:

cd /proc/sys/net/ipv4/conf/all/

El directorio /proc/sys/net/ipv4/conf/all/ contiene archivos de configuración que se aplican a todas las interfaces de red.

Ahora, veamos el contenido de un archivo relacionado con el reenvío. Utilice el comando cat para mostrar el contenido del archivo forwarding:

cat forwarding

La salida probablemente será 0 o 1:

0
  • 0: Indica que el reenvío de IP está deshabilitado. Esto significa que el sistema no reenviará paquetes entre diferentes interfaces de red.
  • 1: Indica que el reenvío de IP está habilitado. Esto es necesario para routers o sistemas que actúen como puertas de enlace (gateways).

A continuación, veamos una configuración relacionada con el filtrado de paquetes entrantes con una opción de ruta de origen (source route option). Esta opción a veces se puede utilizar de manera maliciosa. Vea el contenido del archivo accept_source_route:

cat accept_source_route

La salida probablemente será 0:

0
  • 0: Indica que el sistema ignorará los paquetes con la opción de ruta de origen. Esta es una medida de seguridad común.
  • 1: Indica que el sistema aceptará los paquetes con la opción de ruta de origen.

Estos archivos en /proc/sys/net proporcionan una vista de bajo nivel de cómo está configurado el núcleo para manejar el tráfico de red. Si bien iptables y nftables gestionan las reglas de filtrado, estos parámetros del núcleo controlan el comportamiento fundamental de la red, como el reenvío y cómo se tratan ciertas opciones de paquetes.

Ahora ha examinado con éxito las configuraciones de filtrado de red del núcleo utilizando el sistema de archivos /proc.

Haga clic en Continuar para completar el laboratorio.

Resumen

En este laboratorio, aprendiste cómo verificar si un filtro de paquetes de red está activo en Linux examinando la configuración de las herramientas de firewall comunes. Comenzaste utilizando el comando iptables -L para listar las reglas actuales configuradas con la utilidad tradicional iptables, comprendiendo las cadenas predeterminadas (INPUT, FORWARD, OUTPUT) y sus políticas.

A continuación, exploraste nftables, el reemplazo moderno de iptables, utilizando el comando nft list ruleset para ver su configuración. Finalmente, aprendiste cómo verificar la configuración del filtro a un nivel más bajo, comprobando los parámetros relevantes dentro del directorio /proc/sys/net, que muestra la configuración de red del núcleo (kernel).