Iptables

Solo disponible en BuenasTareas
  • Páginas : 8 (1882 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de octubre de 2010
Leer documento completo
Vista previa del texto
IV Jornadas Sistema Operativo Linux

Cortafuegos en Linux con iptables
Andrés J. Díaz

¿Para qué un cortafuegos doméstico?

Lo que puede hacer
Evitar en la medida de lo posible ataques DoS Controlar el acceso a la máquina Detectar posibles usos fraudulentos Monitorizar el tráfico de nuestro equipo Controlar el acceso a servicios privilegiados

Lo que no hace
No evitavirus/gusanos/troyanos/*anos No detecta intrusos (para eso IDS) No monitoriza el tráfico de la red (salvo promiscuos)

Los peligros en la Red (I)

En el mundo de Fresita todo era felicidad:
Los clientes enviaban peticiones a los servidores Los servidores contestaban a los clientes Los SO no tenían fallos explotables La comunicaciones eran seguras

Pero...

Los peligros en la red (II)

Apareció eltemible ¡Capitán Piratilla!:
El piratilla se introduce en la comunicación Falsea direcciones Aprovecha vulnerabilidades Quiere hundir nuestra máquina :-(

¿Dónde actúa el firewall?

Firewall:

Entre la capa de transporte y la capa de red

Historia

Kernel 1.1 Kernel 2.0 Kernel 2.2 Kernel 2.4 Kernel 2.6

ipfw de BSD adaptado - Alan Cox (1994) Trabajaba en el espacio de kernel (ring0)ipfwadm - Jos Vos (1996) Ya en el espacio de usuario

ipchains - Paul "Rusty" Russel et al (1998)

iptables - Paul "Rusty" Russel (1999)

iptables mejorado - Paul "Rusty" Russel (2003)

Los dos iptables

OJO: Dos iptables
En genérico:
iptables = cortafuegos y filtrado para Linux iptables = herramienta (ejecutable)

iptables es:
el sistema de filtrado para kernel 2.4 y 2.6 dentrodel proyecto netfilter se maneja con la herramienta iptables

Netfilter e iptables (I)

Proyecto Netfilter:
creado por Paul "Rusty" Russel soporte firewall para Linux aparece en el kernel 2.4 iptables es parte de netfilter es ¡LIBRE! (GPL)

Futuro:

REJECT en IPv6 HOPLIMIT en IPv6 ...

Netfilter e iptables (y II)

Netfilter Framework
QoS, IPv6 ...

Nos centraremos en la parteiptables Se están añadiendo nuevos elementos

¿Cómo funciona?

Decisión de entrada Proceso local

Si el destino es esta máquina: INPUT Si el destino es otra máquina: FORWARD (NAT)

El servidor, cliente, demonio, aplicación...

Reglas de cortafuegos (I)

Una regla es:
una cadena de entrada una cadena de salida una cadena de reenvio (sólo NAT) una cadena definida por el usuarioEvaluación

Si un paquete concuerda con la regla se manda a la "cadena de salida" Si un paquete no concuerda, se examina la siguiente regla

Reglas de cortafuegos (II)

Reglas internas (o listas de reglas):
INPUT: Todo lo que quiera entrar en nuestra máquina OUTPUT: Todo lo que quiera salir de nuestra máquina FORWARD: Todo lo que se quiera redirigir a otra máquina PREROUTING: Lo que se hará antesde encaminar el paquete POSTROUTING: Lo que se hará inmediatamente después de encaminar el paquete

Pero:

Podemos crear nuestras listas de reglas Podemos combinarlas con las reglas internas Podemos añadir y borrar cadenas de las reglas

Reglas de cortafuegos (III)

Objetivos (cadenas de salida)
ACCEPT: El paquete es "legal" y sale de INPUT DROP: El paquete se descarta (nos locomememos) LOG: El paquete será registrado (NO TIENE PORQUE DESCARTARSE) REJECT: Se envía un ICMP de rechazo

Obviamente:

Podemos usar nuestras propias reglas como objetivos

Reglas de cortafuegos (y IV)

En general:
iptables -A regla opciones -j objetivo

Ejemplo tonto:
iptables --append INPUT --jump DROP iptables -A INPUT -j DROP

¿Qué hace?
Añade una nueva regla a la lista INPUT Lo quequiera entrar en la máquina se manda "DROP" (al carajo)

Configurando el kernel (I)
make menuconfig
Device Drivers / Networking Support / Networking options

Configurando el kernel (II)

IPv4 IPv6

IP Netfilter configuration IP6 Netfilter configuration

Configurando el kernel (y III)

¿Que debemos activar?
IP tables support (SIEMPRE) limit match support Multiple port match...
tracking img