Profundidad de análisis de los firewall de Linux



La investigación sobre el análisis de seguridad de red, cortafuegos (Firewall) son a menudo el énfasis, la función básica es que el filtro y puede bloquear la red local o una parte específica de la red y los datos de Internet de transferencia entre los paquetes de datos (). ¿Es en realidad una sección de los datos del paquete, que incluye también utilizado para enviarlos a su destino de la información necesaria.

Usted puede pensar en un paquete de los paquetes de datos: paquetes de datos propia parcela en los datos, mientras que los sobres se usan para enviar esta información a los procedimientos adecuados y correctos para la máquina e ir a la subida cartas, que también contiene también un información sobre la dirección de retorno. El trabajo en su proceso de filtrado específico, el servidor de seguridad se hará cargo antes de acceso interno desde el acceso a la red Internet y la red interna de Internet de enrutamiento ajustes.

Nuestra impresión es que el servidor de seguridad previa diseñada para filtrar los paquetes ilegales, o por qué la de un tipo conocido como firewall de filtrado de paquetes tipo hacer? Desarrollo hasta la actualidad, su función es creciente, no sólo para filtrar los paquetes de datos, traducción de direcciones de red se pueden hacer para los agentes, etc. kernel de Linux 2.4 firewall aplicación NetFilter es así.

Echemos un vistazo a la ubicación del servidor de seguridad, mi entendimiento es que o bien se trata de una máquina instalada en un servidor de seguridad personal o instalado en una máquina a una red de área local para proporcionar funciones de puerta de enlace y, a continuación tipo de situación se muestra a continuación :






diagrama resume la par NetFilter instalado en la puerta de enlace de la estructura del bastidor, puede verse en la figura un paquete puede pasar por el camino, que utilice [] extenderse hasta el Oriente, conocido como el punto de control, cuando los paquetes de datos llegan a la punto, debemos detenernos y algunos controles. Aquí el nombre del puesto de control se utiliza en el nombre del iptables, específicos para el NetFilter pueden venir con el gancho de llamada (Hook) en función de.

NetFilter resumen, las siguientes tres funciones básicas:

1, filtrado de datos (tabla filter)

2, traducción de direcciones de red (tabla nat)

3, de procesamiento de datos por paquetes (tabla mangle)

De acuerdo con estas tres funciones, la de mayores de cinco puntos de control fueron clasificados según su función. Dado que cada función corresponde a una tabla en NetFilter en, y otro número para cada punto de control de normas de congruencia, estas normas forman una cadena, tendrá la siguiente declaración: "NetFilter es una tabla del envase, la tabla es un contenedor, la cadena la regla del contenedor "

Una cadena (cadena) es de hecho una serie de normas (reglas) en una lista de comprobación (checklist). Cada cadena puede tener una o más reglas, cada uno definido por una regla como esta: "Si la línea de cabecera con estas condiciones, por lo que el procesamiento del paquete." Cuando llega un paquete con una cadena, el sistema se iniciará desde la primera regla de controles para ver si cumple con las condiciones definidas por las reglas: si el sistema se basará en los métodos definidos por el proceso de gobernar el paquete de datos, si no está satisfecho continuación para comprobar la siguiente regla. Por último, si el paquete no cumple ninguna de las regla de la cadena, el sistema será pre-definidos de acuerdo a la estrategia de la cadena (política) para manejar el paquete.

Y un comando iptables, que básicamente consiste en los siguientes cinco partes: quieren trabajar en la forma, que espera utilizar la cadena de mesa, llevó a cabo la operación (insertar, agregar, borrar, modificar), los objetivos de la normativa específica que coincida con el movimiento de paquetes y condiciones .

Veamos la sintaxis básica: iptables-t tabla-operación con la cadena de destino-j (es) (la tabla por defecto del sistema para el "filtro")

La operación básica es la siguiente:

-Una cola para agregar una regla en la cadena

-Yo insertar la regla

-D suprimir el artículo

-R regla de sustitución

-L lista las reglas

Objetivo básico de acción, que se aplica a todos los enlaces:

ACEPTAR el paquete recibido

Deseche el paquete DROP

COLA cola el paquete al espacio de usuario

RETURN para volver a la llamada anterior de la cadena

foobar cadena definida por el usuario

Básico juego condición, que se aplica a todos los enlaces:

Especificar el protocolo-p (tcp / ICMP / UDP /...)

-S, la dirección de origen (dirección IP / masklen)

-D dirección de destino (dirección IP / masklen)

-Yo interfaz de entrada de paquetes

paquete de interfaz de salida S-

Extendido condiciones coincidentes:

----- Puerto TCP de origen coincidente, puerto de destino, y tcp cualquier combinación de etiquetas, opciones TCP.

UPD ----- coincidir con el puerto de origen y puerto de destino

Tipo de concordancia ICMP ICMP ----

MAC ----- recibir datos a la coincidencia de direcciones MAC

MARK ---- Match nfmark

Proprio ---- (sólo se aplica a los paquetes generados localmente) para que coincida con el ID de usuario, ID de grupo, identificador de proceso y el identificador de sesión

LÍMITE --- paquetes que coincidan con un período específico de las limitaciones de tiempo. Esta expansión coincide con el flujo de datos de la restricción es muy útil contra ataque de DoS.

ESTADO --- coincidir con el particular estado de paquetes (subsistema de seguimiento de conexiones determinado por el estado), los estados posibles son:

NO VÁLIDO (no hemos encontrado ningún conexión)

ESTABLECIDO (que pertenece a un enlace se ha creado paquetes)

NUEVO (la conexión de paquetes de datos)

CONEXOS (y una conexión ya establecida con ciertos paquetes de datos relacionadas, como un mensaje de error ICMP o conexión ftp de datos)

TOS - partido de la cabecera IP TOS valor del campo.