14
Packet Filtering (Filtrado de Paquetes) 06/03/2013 1 Como regla general, un dispositivo de enrutamiento, sin filtrado de paquetes, mira la dirección de destino de un paquete y decide si este paquete tiene que ser enviado a través del router o debe permanecer en esa interfaz. Este es el principio básico bajo el cual el enrutamiento trabaja. Cuando se agrega el filtrado de paquetes, puede añadir otro nivel de análisis para cada paquete. El primer paso es todavía el examen de la dirección de destino. Entonces, si el router ha determinado que tiene que procesar el paquete, se aplica el filtro "reglas". Seguridad en Linux - Profesor Julio Gonzales Villegas

Packet Filtering (Filtrado de Paquetes)

Embed Size (px)

DESCRIPTION

PacketFiltering

Citation preview

Page 1: Packet Filtering (Filtrado de Paquetes)

Packet Filtering (Filtrado de Paquetes)

06/03/2013

1

Como regla general, un dispositivo de enrutamiento, sin filtrado de paquetes, mira la dirección de destino de un paquete y decide si este paquete tiene que ser enviado a través del router o debe permanecer en esa interfaz. Este es el principio básico bajo el cual el enrutamiento trabaja.

Cuando se agrega el filtrado de paquetes, puede añadir otro nivel de análisis para cada paquete. El primer paso es todavía el examen de la dirección de destino. Entonces, si el router ha determinado que tiene que procesar el paquete, se aplica el filtro "reglas".

Seguridad en Linux - Profesor Julio Gonzales Villegas

Page 2: Packet Filtering (Filtrado de Paquetes)

Packet Filtering (Filtrado de Paquetes)

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

2

Las reglas de filtrado son las políticas de seguridad implementadas

como “servicios aprobados y rechazados”. Por ejemplo, puede

restringir los paquetes destinados a máquinas en particular, ciertos

tipos de paquetes, o incluso los paquetes que salen de su LAN

destinados para el mundo exterior. El filtrado de paquetes puede

ser muy amplio o específico hacia máquinas individuales y puertos.

Por ejemplo, digamos que usted está ejecutando un servidor web en

la máquina X. Desea que los usuarios de la Internet puedan tener

acceso a sus páginas web, pero no quiere que ellos intenten una

conexión telnet en las máquinas de la LAN, incluyendo el servidor

web X. Usted puede utilizar el filtrado de paquetes para este tipo

de acceso selectivo.

Page 3: Packet Filtering (Filtrado de Paquetes)

¿Por que usar Packet Filtering?

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

3

El filtrado de paquetes es más comúnmente utilizado como “primera línea de defensa contra los ataques desde máquinas ubicadas fuera de su LAN”. Dado que la mayoría de los dispositivos de encaminamiento han incorporado capacidades de filtrado, el filtrado de paquetes se ha convertido en un método común y barato de seguridad. Aunque el filtrado de paquetes es muy flexible y potente, de ninguna manera se garantiza la seguridad de su LAN y de los datos internos.

Page 4: Packet Filtering (Filtrado de Paquetes)

¿Qué tan poderoso es?

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

4

El filtrado de paquetes le permite explícitamente restringir o permitir a los paquetes por máquina, por puerto, o por máquina y puerto. Por ejemplo, usted puede restringir todos los paquetes destinados al puerto 80 (www) en todas las máquinas de la LAN, excepto las máquina X e Y.

La característica menos atractiva del filtrado de paquetes es la falta de flexibilidad. El filtrado de paquetes estándar permite o restringe los paquetes a un lugar o desde un lugar. No hay "a veces" o "sólo de esta persona". Si usted no permite telnet desde el mundo exterior hacia una máquina especial, usted ha hecho justamente eso. Ninguna máquina en el otro lado del router hará telnet a la máquina especificada en el filtro. Este tipo de filtrado que se conoce como filtrado estático.

Page 5: Packet Filtering (Filtrado de Paquetes)

Packet Filtering: Criterios y Reglas

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

5

Packet Filtering es el acto de filtrar paquetes IP basados en diferentes criterios y/o “reglas”:

• NIC (Network Interface Card – Tarjeta de Interface de Red)

• Protocolo (UDP, TCP, ICMP)

• IP origen y destino

• Puerto (port) origen y destino

• Dirección de la Conexión TCP

• Existencia de una conexión TCP

• Tipo de paquete ICMP

• MAC Address (Dirección Física de la Tarjeta de Red)

Una “REGLA” es una declaración que combina una serie de criterios de filtrado para llevar a cabo una “ACCION”

Page 6: Packet Filtering (Filtrado de Paquetes)

Packet Filtering: Acciones y/o Objetivos

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

6

Basados en los criterios y/o reglas de filtrado,

existen dos “ACCIONES Principales” que pueden

realizarse (“Objetivos del Filtrado”):

• ALLOW: permitir el paso del paquete

• DROP: rechazar el paso del paquete

Otras acciones (“objetivos”) pueden especificarse, pero

requieren ciertos módulos cargados en el kernel.

Page 7: Packet Filtering (Filtrado de Paquetes)

Network Address Translation - NAT

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

7

Cambia la IP y/o puerto origen/destino de un paquete en transito. Tipos de NAT:

Source NAT (SNAT): cambia la IP origen

Enmascaramiento IP (IP Masquerading)

Destination NAT (DNAT): cambia la IP destino

Encaminamiento de puertos (Port Forwarding)

Proxy Transparente (Transparent Proxy)

Packet Mangling (Alteración de paquetes): cambia opciones TCP/IP

Priority (Prioridad del paquete)

TTL (Tiempo de Vida)

Page 8: Packet Filtering (Filtrado de Paquetes)

Chains - Cadenas (1)

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

8

Una cadena es una serie de reglas que se comprueban para un determinado tipo de paquete

Cadenas predeterminadas:

INPUT: para paquetes enviados a esta maquina

OUTPUT: para paquetes enviados desde esta maquina

FORWARD: para paquetes que atraviesan esta maquina

POSTROUTING: usado para SNAT (después de decisión de enrutamiento)

PREROUTING: usado para DNAT (antes de decisión de enrutamiento)

Un usuario puede añadir sus reglas personales

Una regla en una cadena predeterminada se refiere a la misma cadena

Las reglas en una cadena se revisan en orden

• Cuando una regla no coincide, se revisa la siguiente

• Cuando una regla coincide, se ejecuta la acción

ACCEPT, DROP o ir a la cadena definida por el usuario

Cuando ninguna regla coincide, se ejecuta la acción predeterminada para dicha regla (POLICY)

Page 9: Packet Filtering (Filtrado de Paquetes)

Chains – Cadenas (2)

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

9

Observe el orden en que las cadenas son revisadas. Las cadenas INPUT,

OUTPUT y FORWARD son usadas principalmente para filtrado, mientras NAT se

ubica en las cadenas PREROUTING y POSTROUTING.

Page 10: Packet Filtering (Filtrado de Paquetes)

Packet Filtering en Linux

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

10

Packet Filtering se lleva a cabo en el kernel de Linux

Usualmente compilado como modulo del kernel el cual es cargado automáticamente

La configuración se realiza con herramientas de usuario:

Linux 2.0 kernel: ipfwadm

Linux 2.2 kernel: ipchains

Linux 2.4 kernel: iptables

La compatibilidad con herramientas anteriores esta asegurada

Caracteristicas adicionales:

Loggings

Statistics

Page 11: Packet Filtering (Filtrado de Paquetes)

La herramienta iptables

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

11

Herramienta a nivel de usuario para configurar reglas de filtrado en el kernel

Diferentes modos de operación: Elimina todas las reglas

Establece la acción predeterminada para una cadena

Añade, inserta, reemplaza, borra reglas

Muestra las reglas

Muestra y resetea las estadísticas

Chequea un paquete contrastándolo con las reglas

iptables-save e iptables-restore pueden usarse para grabar y/o restablecer las reglas desde un archivo

Page 12: Packet Filtering (Filtrado de Paquetes)

Sintaxis básica de iptables (1)

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

12

iptables [-t tabla] comando [cadena] [parámetros] [-j objetivo]

Tablas:

filter (default): para reglas de filtrado

nat: para reglas de NAT

mangle (alteración): para reglas de alteración

Comandos:

-L : lista todas las reglas

-F : elimina las reglas

-Z : pone a cero los contadores

-A : añade una reglas

-I : inserta una regla

-P : acción predeterminada para una cadena (POLICY)

-N : crea una cadena de usuario

-X : borra una cadena de usuario

Page 13: Packet Filtering (Filtrado de Paquetes)

Sintaxis básica de iptables (2)

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

13

iptables [-t tabla] comando [cadena] [parámetros] [-j objetivo]

Parámetros simples:

-i interface de entrada (eth0, eth1, etc.)

-o interface de salida (eth0, eth1, etc.)

-p protocolo (tcp, udp, icmp)

-s IP origen (origen de los datos)

--sport puerto origen (aplicación que genera los datos)

-d IP destino (destino de los datos)

--dport puerto destino (aplicación que recibe los datos)

--icmp-type tipo de mensaje ICMP

Use el símbolo ! para negar la opción

Objetivos:

Básicos: ACCEPT, DROP

Extendidos (requiere modulo del kernel): REJECT, LOG, …

Page 14: Packet Filtering (Filtrado de Paquetes)

Escenario de Trabajo

06/03/2013 Seguridad en Linux - Profesor Julio Gonzales Villegas

14