0% encontró este documento útil (0 votos)
23 vistas31 páginas

Cortafuegos con Packet Filter (PF)

Este documento presenta Packet Filter (PF), un cortafuegos y filtro de paquetes de código abierto utilizado en sistemas BSD. PF ofrece funcionalidades como filtrado de paquetes, traducción de direcciones de red, balanceo de carga, antispoofing y más. El documento explica conceptos básicos de filtrado como reglas, macros, listas y tablas, y provee ejemplos de cómo configurar estas funciones en PF.

Cargado por

Mario Tapia
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas31 páginas

Cortafuegos con Packet Filter (PF)

Este documento presenta Packet Filter (PF), un cortafuegos y filtro de paquetes de código abierto utilizado en sistemas BSD. PF ofrece funcionalidades como filtrado de paquetes, traducción de direcciones de red, balanceo de carga, antispoofing y más. El documento explica conceptos básicos de filtrado como reglas, macros, listas y tablas, y provee ejemplos de cómo configurar estas funciones en PF.

Cargado por

Mario Tapia
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Cortafuegos con Packet Filter (PF)


Curso Arquitectura de Servidores

Miguel Vidal, Jos Castro e


{mvidal,jfcastro}@[Link]

29 de abril de 2011

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

c 2011 Miguel Vidal, Jose Castro.


Esta presentacin se distribuye bajo o licencia Creative Commons Reconocimiento 3.0 Espaa n

[Link]

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Cortafuegos y ltrado de paquetes

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Qu es un cortafuegos? (1) e

FW (Firewall): trmino usado para referirse a cosas muy e dispares en los ultimos aos. n Se llama lo mismo al FW casero que te colocan en tu l nea ADSL o al que le cuesta miles de dlares en una empresa. o Qu diferencias hay? e
Funcionalidades que ofrece. Hardware en el que corre. Robustez y abilidad de su software.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Qu es un cortafuegos? (2) e

Un equipo protegido y able que funciona como punto de regulacin entre un grupo de redes (normalmente una red o privada y una red pblica). u Todo el trco de red entre las redes involucradas se a encamina a travs del cortafuegos. e En grandes corporaciones incluso puede haber cortafuegos dentro de la red corporativa para aislar las zonas importantes de la organizacin. o Crear cortafuegos es un arte: exige comprender muy bien la tecnolog de red subyacente, pero tambin la losof de a e a diseo de cortafuegos. n

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Qu es un cortafuegos? (y 3) e

Un cortafuegos se congura mediante un conjunto de reglas que determina qu trco puede pasar y cul ser bloqueado e a a a (con respuesta) o desechado (sin respuesta). Los cortafuegos pueden situarse de formas distintas:
La forma ms simple (e insegura) es un solo equipo que a adems proporciona otros servicios. a La forma ms sosticada son las DMZ (o red perimetral), que a puede involucrar a varios equipos cortafuegos.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Diseo de cortafuegos con un solo rewall n

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Diseo de cortafuegos con 2 rewalls (DMZ) n

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Tipos de procesado de paquetes

Filtrado: decidir en distintos momentos del ujo si un paquete pasa o es bloqueado. Modicacin: modicacin mientras se mueve el ujo de o o paquetes Traduccin (NAT): permite redirigir el trco de forma o a transparente mediante la modicacin de la fuente, el destino o o los puertos.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Qu es el ltrado de IP? e

El ltrado IP consiste en decidir qu paquetes se procesarn y e a cules sern rechazados. Algunos criterios posibles para ltrar: a a Tipo de protocolo: TCP, UDP, ICMP, etc. Nmero de puerto (para TCP/UDP) u Tipo de paquete: SYN/ACK, datos, peticin de eco ICMP... o Origen del paquete Destino del paquete Los conjuntos de reglas (rulesets) se componen mediante combinacin de algunos de estos criterios. o

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Qu es el ltrado de IP? e

El ltrado IP es una utilidad de capa de red (layer-3). No conoce nada de las aplicaciones que usan las conexiones de red. Por ejemplo, si ltramos por puerto, ese mismo servicio podr a ejecutarse en otro puerto y el rewall no lo impedir a. Para solucionar esto, se usan servidores proxy, que gestionan la conexin y s comprenden el servicio. o

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Conceptos bsicos a
default accept versus default deny. Inspeccin de paquetes: Stateful vs stateless o En los FW de primera generacin no habia estado, lo que o facilitaba el spoong. La inspeccin de estado guarda registros de todas las o conexiones de red que pasan por el cortafuegos. Establecimiento de la comunicacin TCP en tres pasos o (Three-way handshake):
SYN packet: solicitud de sincronizacin o SYN+ACK packet: sincronizacin y acuse de recibo del o servidor ACK packet: acuse de recibo (acknowledgment) del cliente.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Filtrado de paquetes

Un rewall avanzado puede hacer ms cosas adems de a a bloquear. Realiza otras funcionalidades importantes: enmascaramiento, NAT, auditor gestin de ancho de banda, balanceo de as, o carga, ltrado por criterios espec cos, redundancia...

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Herramientas libres para ltrado de paquetes

iptables: Linux ipfilter: *Solaris, illumos, FreeBSD, NetBSD, Linux, HP-UX, IRIX PF (Packet Filter): OpenBSD (nativo), FreeBSD, NetBSD, DragonFly. Comparativa: [Link]

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Packet Filter (PF)

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Origen de PF

Nace en 2001 en el proyecto OpenBSD, a ra de un problema z de licencia con ipfilter (no permit la redistribucin de a o copias modicadas). Hoy d PF es uno de ltros de paquetes ms potentes y a a completos, comparable en funcionalidad a las soluciones privativas ms caras (Cisco, Juniper, etc.). a Busca la sencillez de las reglas, la consistencia y la legibilidad.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Funcionalidades de PF

Network Address Translation (NAT) Gestin de ancho de banda (QoS), priorizacin de colas (v o o a ALTQ) Balanceo de carga ftp-proxy Logging y estad sticas pfsync y CARP para Alta Disponibilidad

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Un conjunto m nimo de reglas

Un conjunto m nimo de reglas block in all pass out all keep state En OpenBSD 4.1 y superiores: keep state por defecto (se deja por legibilidad) Cargar las reglas $ sudo pfctl -ef /etc/[Link]

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Macros

Se pueden denir variables (macros) para que las reglas sean ms a legibles y manejables: Ejemplos de Macros webserver = [Link] webport = 80 Macros dentro de una regla pass in proto tcp from any to $webserver port $webport

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Listas

Las listas son dos o ms objetos del mismo tipo agrupables en una a regla: Ejemplo de Lista pass proto tcp to port { 22 80 443 } { 22 80 443 } es una lista. Macros y listas pueden combinarse web servers={ [Link],[Link],[Link] } web ports={ 80 443 }

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Tablas

Las tablas (entre < >) sirven para agrupar direcciones IPv4 o IPv6: Ejemplo de Tabla table <goodguys> [Link]/24, ![Link] table <spammers> persist file /etc/spammers pass in on fxp0 from <goodguys> to any block in on fxp0 from <spammers> to any

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Traduccin de Direcciones de Red (NAT) o


Permite mapear redes enteras Necesario cuando tenemos IPs pblicas limitadas por ISP u Nos permite aprovechar las direcciones RFC 1918 (rangos privados):
[Link]/8 ([Link] - [Link]) [Link]/12 ([Link] - [Link]) [Link]/16 ([Link] - [Link])

Ejemplo de NAT pass out on em0 from [Link]/24 to any nat-to [Link]
Hace NAT en la interfaz em0 para cualquier paquete que venga de [Link]/24, y sustituye la direccin IP de origen con [Link]. o

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Redireccionamiento de trco a

Permite acceder desde el exterior a servicios de la red interna. Ejemplo de redireccionamiento pass in on em0 proto tcp from any to any port 80 \ rdr-to [Link]
Se redirecciona el trco TCP del puerto 80 (un servidor web) a una mquina a a dentro de la red interna ([Link]).

El redireccionamiento tiene implicaciones de seguridad. El sistema expuesto al exterior se suele aislar en una DMZ.

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Antispoong

Previene la falsicacin de la direccin IP de origen (con el o o propsito de esconder la direccin real o de suplantar otro nodo en o o la red): Filtrado de paquetes falsicados por interfaz antispoof for em0

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Balanceo de carga
Tipos de balanceo de carga mediante reserva de IPs (address pooling ): round-robin: rotacin secuencial. Modo por defecto. o random: env cada conexin a una IP aleatoria. a o source-hash: usa un hash de la IP para asignar una conexin o del pool de IPs. bitmask: un modo de hacer NAT entre dos bloques de direcciones IPs de igual tamao. n Ejemplo de balanceo de carga entrante
web servers = { [Link], [Link], [Link] } match in on $ext if proto tcp to port 80 rdr-to \ $web servers round-robin
Miguel Vidal, Jos Castro e Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Comandos bsicos a

Control de PF con pfctl pfctl -e #activa PF pfctl -f /etc/[Link] #carga las reglas pfctl -nf /etc/[Link] #chequea sintaxis de las reglas sin cargarlas pfctl -vf /etc/[Link] #modo verboso, vemos expansin de reglas o pfctl -s rules #ver reglas actuales pfctl -s all #ver todos los parmetros a pfctl -d #desactiva PF sysctl [Link]=1 #Gateway. En /etc/[Link]

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

/etc/[Link]
Todo se congura y controla desde /etc/[Link]. Este debe ser el orden de procesamiento de las reglas: Macros Tablas Opciones Normalizacin de trco (scrubbing) o a Gestin de ancho de banda o Traduccin (NAT) o Redireccin o Filtrado de paquetes

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Registros de bitcora a

Demonio pogd, por defecto /var/log/pog. Logs en formato binario, legibles por tcpdump -r. Activar log de estad sticas en iface externa set loginterface em0 Leer los logs $ sudo tcpdump -n -ttt -r /var/log/pog $ sudo tcpdump -nettti pog0 # trco en vivo a

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Un ejemplo de conjunto de reglas


# Macros y listas pueden combinarse int if=em1 tcp services={ 22, 113 } udp services={ domain } icmp types=echoreq # Opciones set block-policy return set loginterface em0 set skip on lo # NAT match out on egress inet from !(egress) to any nat-to (egress:0) # Filtrado - lo primero bloqueamos trafico en todas direcciones block in log pass out quick antispoof quick for { lo $int if } #Antispoofing # Permitimos paso a protocolos y puertos autorizados pass in on egress inet proto tcp from any to port $tcp services pass proto udp to port $udp services pass in inet proto icmp all icmp-type $icmp types #ping pass in on $int if # confiamos en trfico de interfaz interno a
Miguel Vidal, Jos Castro e Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Referencias

Peter N.M. Hansteen, The Book of PF, 2nd Edition, No Starch, 2011. Tony Bautts, Terry Dawson y Gregor N. Purdy. Linux Network Administrators Guide, OReilly (existe edicin en espaol). o n

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

Cortafuegos y ltrado TCP/IP Packet Filter (PF)

Cortafuegos con Packet Filter (PF)


Curso Arquitectura de Servidores

Miguel Vidal, Jos Castro e


{mvidal,jfcastro}@[Link]

29 de abril de 2011

Miguel Vidal, Jos Castro e

Cortafuegos con Packet Filter (PF)

También podría gustarte