¿Cómo un software de firewall intercepta la comunicación de red?

5

Tengo una idea básica de lo que hace un filtro de paquetes basado en software, y no estoy seguro de que sea completamente exacto. Básicamente, un filtro de paquetes es un módulo de kernel cargable que se inserta en la pila de red entre la capa de red y la capa de transporte y le dice al kernel " En lugar de enviar paquetes entrantes a la capa de transporte, envíelos primero a mí, y Decidiré si los reenviaré o no. Además, haga lo mismo con los paquetes salientes. "

Mis dos preguntas son:

  1. Es mi idea precisa,
  2. ¿Cómo hace el filtro de paquetes para que el kernel lo escuche y omita su comportamiento normal de reenvío de paquetes, enviando todos los paquetes al filtro?

Tengo curiosidad acerca de cómo se implementaría un servidor de seguridad de este tipo (en un nivel abstracto; soy consciente de que solo podría mirar el código fuente de un servidor de seguridad, pero eso sería bastante tedioso).

    
pregunta Zen Hacker 27.12.2015 - 15:14
fuente

2 respuestas

2

No es el filtro de paquetes el que hace que el kernel lo escuche, es el kernel el que confía los datos de red al filtro de paquetes.

El filtro de paquetes y el kernel deben ser compatibles; técnicamente, el kernel debe ofrecer enlaces específicos utilizados por el filtro de paquetes para hacer su trabajo.

Por ejemplo, en Linux, detrás del front-end de iptable, encontrará que el kernel de Linux ofrece enlaces que permiten el marco Netfilter para registrar funciones de devolución de llamada:

  • Si el firewall no está habilitado, no se registrará devolución de llamada, por lo que el kernel manejará todo de forma predeterminada,
  • Si el firewall está habilitado, Netfilter habrá registrado sus funciones de devolución de llamada para que el kernel pueda llamarlos cuando sea apropiado.
respondido por el WhiteWinterWolf 28.12.2015 - 14:30
fuente
0

Las señales eléctricas transmitidas a lo largo de los cables RX / TX son leídas por la tarjeta de red y traducidas / transmutadas hacia arriba de la pila en el espacio del kernel donde es interpretado por netfilter. Si está lsmod, puede encontrar los módulos del kernel que hacen esto. Los ganchos de Netfilter proporcionan una forma de cruzar desde el espacio del kernel a los programas del espacio del usuario.

Ya está bastante gastado, por lo que el concepto de firewall es un conjunto de reglas basado en filtros que puede interactuar con el dispositivo de paquetes.

    
respondido por el m2kin2 28.12.2015 - 16:03
fuente

Lea otras preguntas en las etiquetas