Cortafuegos con software libre. Diez años de PF

Documentos relacionados
66.69 Criptografía y Seguridad Informática FIREWALL

Una ACL es una lista secuencial de sentencias de permiso o denegación que se aplican a direcciones IP o protocolos de capa superior.

Cortafuegos ( Firewall ) Arquitecturas de cortafuegos Juan Nieto González IES A Carballeira -

Iptables, herramienta para controlar el tráfico de un servidor

Concepto de Seguridad de Alto Nivel: A lo largo del curso hemos establecido protecciones en los equipos y en la información que almacenan e

Configuración del firewall en Linux con IPtables

FIREWALL EN ALTA DISPONIBILIDAD

Cortafuegos (Firewalls) en Linux con iptables

Una estructura de firewall en alta disponibilidad presenta las siguientes ventajas:

HOWTO: Cómo configurar SNAT

HOWTO: Cómo configurar el acceso web en varios interfaces de Integra

HOWTO: Cómo configurar DNAT para publicar los servicios internos hacia Internet

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Apartado: BrutaliXL Versión: 3 Título: Cortafuegos - Iptables Fecha:

Firewall Firestarter. Establece perímetros confiables.

Laboratorio de PCs. Práctica 3: Montaje de una red de Área local

INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES

Ing. Ma. Eugenia Macías Ríos. Administración de Redes

! " " & '( ) ( (( * (+,-.!(/0"" ) 8-*9:!#;9"<!""#

CONFIGURACIÓN DE UNA VPN TIPO INTRANET:

CONFIGURACIÓN DE FIREWALL EN CLOUD DATACENTER

UNIDAD DIDACTICA 12 CONFIGURACIÓN DE IPTABLES EN GNU/LINUX

Configurar un router-firewall utilizando los simuladores correspondientes:

Firewalls, IPtables y Netfilter

Coexistencia y Transición. Juan C. Alonso juancarlos@lacnic.net

DEPARTAMENTO ADMINISTRATIVO NACIONAL DE ESTADÍSTICA. Oficina de Sistemas

Tema 5. Topologías de red Seguras. Módulo I : Topologías de Red Seguras

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Lab 10. CortaFuegos (Firewall) Área de Telemática. Seguridad de la información Universidad de Antioquia

Mejores prácticas para la segmentación y fortificación de redes industriales

Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu

DHCP NAT. Redes WAN. DHCP y NAT. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 27 abr 2011

Cómo funciona? En la NAT existen varios tipos de funcionamiento: Estática

Firewall en Linux. Luis Eduardo Vivero Peña. Director Centro de Difusión del Software Libre Ingeniero de Proyectos Corporación Linux

WALC2011 Track 2: Despliegue de IPv6 Día -5 Guayaquil - Ecuador Octubre 2011

IPTABLES. Gonzalo Alvarez Flores

miércoles 7 de septiembre de 2011 Protección perimetral

Agenda, continuación

Configuración de un router doméstico

Filtrado de paquetes y NAT

PROYECTO. Solución Empresarial Ingeniería y Desarrollo de Software - info@solucionempresarial.com.

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

MECANISMOS DE TRANSICIÓN MECANISMOS DE TRANSICIÓN. Alberto Cabellos Aparicio

Introducción. Objetivo. Implementar un detector de malware con software libre empleando el protocolo Netflow.

3.INSTALACIÓN Y CONFIGURACIÓN DE LOS EQUIPOS DE RED

Howto: Cómo configurar el mapeo estático de puertos en el router/firewall corporativo para las redes VPN de Panda GateDefender Integra

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

CAPITULO 14 SEGURIDAD EN LA RED

Práctica de laboratorio Configuración de políticas de acceso y de valores de DMZ

Dispositivos de Red Hub Switch

P r á c t i c a 1 5. C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s

LINEAMIENTOS DE ESQUEMAS DE SEGURIDAD DE LA INFORMACIÓN

Análisis de aplicación: Cortafuegos de la distribución clearos

HOWTO: Cómo configurar la alta disponibilidad

SEGURIDAD INFORMATICA HERRAMIENTAS PARA LA SEGURIDAD EN REDES DE COMPUTADORES

PROYECTO INTEGRADO CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED. Antonio Madrena Lucenilla 21 de Diciembre de 2012 I.E.S.

Certified Offensive and Defensive Security Professional - Entrenamiento E-learning - 3-SCANNING.

Lista de Control de Acceso (ACL) LOGO

Ataque a servidores DNS

Introducción al Mundo GNU/Linux

nos interesa, analizaremos la solución de la empresa

General Parallel File System

Existe una solicitud disponible a tal efecto en la url:

Práctica 4 - Network Address Translation (NAT)

La vida en un mundo centrado en la red

DISEÑO E IMPLEMENTACION DE UN SISTEMA DE SEGURIDAD PERIMETRAL PARA UNA EMPRESA USANDO LA HERRAMIENTA PFSENSE PABLO BARRERA

Redes Locales: El protocolo TCP/IP

Cortafuegos software y hardware. Gabriel Montañés León

& '( ) ( (( * (+,-.!(/0"" ) 8-*9:!#;9"<!""#

INSTITUTO TECNOLÓGICO DE CUAUTLA INGENIERIA EN SISTEMAS COMPUTACIONALES SEGURIDAD EN SISTEMAS DE INFORMACIÓN PRÁCITCA I:

Cortafuegos (Firewalls) en Linux con iptables

Seguridad de la información: ARP Spoofing

Aspectos Básicos de Networking

Firewall en GNU/Linux netfilter/iptables

1) Proxy, Cortafuegos, que son? Pág.2. 2) Funcionamiento de un proxy Pág.3. 3) Proxy NAT / Enmascaramiento Pág.3

Capas del Modelo ISO/OSI

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN DOCUMENTO FINAL

PRÁCTICA 5: USO DE CORTAFUEGOS

Acronis License Server. Guía del usuario

VPN RED PRIVADA VIRTUAL INTEGRANTES: ALEXANDER BERNAL RAMIREZ CARLOS TRANCA JOSUE FLORES MIGUEL ANGEL VILLANUEVA

Módulo Nº 7. Aspectos de Seguridad en Redes de Área Extendida

Universidad de Antioquia Juan D. Mendoza V.

Análisis de aplicación: Cortafuegos de la distribución Zentyal

CFGM. Servicios en red. Unidad 2. El servicio DHCP. 2º SMR Servicios en Red

Práctica 7 Network Address Translation en routers Cisco

INTERNET 4º ESO INFORMATICA / DEP. TECNOLOGIA

CONFIGURACIÓN ROUTER-FIREWALL. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 4 SAD

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Elabora un breve informe sobre los cortafuegos hardware Cisco PIX (Private Internet Exchange) y la tecnología ASA de Cisco.

MIGRAR LA SEGURIDAD DEL A LA NUBE. pandasecurity.com

Curso avanzado de GNU/Linux

Administración y Gestión de Redes (Julio 2012).

Experiencia 5 : Firewall

Tema 4 Cortafuegos. Se van a configurar infomres sobre cortafuegos hardware y se configurará el cortafuegos ASA de la clase.

DIRECCIONAMIENTO DE RED. Direcciones IPv4

(decimal) (hexadecimal) 80.0A.02.1E (binario)

NAT y DHCP Server en los Speedlan

Tema: NAT. Contenidos. Objetivos Específicos. Materiales y Equipo. Procedimiento. Bibliografía. Guía 1

Transcripción:

Cortafuegos con software libre. Diez años de PF Master oficial en Software Libre Miguel Vidal http://gsyc.urjc.es/~mvidal Twitter: @mvidallopez 17 de noviembre de 2011 1 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

c 2011 Miguel Vidal This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 2 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Cortafuegos y filtrado de paquetes TCP/IP 3 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 4 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Un equipo protegido y fiable que funciona como punto de regulación entre un grupo de redes (normalmente una red privada y una red pública). Todo el tráfico de red entre las redes involucradas se encamina a través del cortafuegos. En grandes corporaciones incluso puede haber cortafuegos dentro de la red corporativa para aislar las zonas importantes de la organización. Crear cortafuegos es un arte: exige comprender muy bien la tecnología de red subyacente, pero también la filosofía de diseño de cortafuegos. 5 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Firewall (FW): término usado para referirse a cosas muy dispares en los últimos años. Se llama igual al FW casero que ponen en tu ĺınea ADSL o al que le cuesta miles de dólares a una empresa. Qué diferencias hay? Funcionalidades que ofrece. Hardware en el que corre. Robustez y fiabilidad de su software. 6 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Un cortafuegos se configura mediante un conjunto de reglas que determina qué tráfico puede pasar y cuál será bloqueado (con respuesta) o desechado (sin respuesta). Los cortafuegos pueden situarse de formas distintas: La forma más simple (e insegura) es un solo equipo que además proporciona otros servicios. La forma más sofisticada son las DMZ (o red perimetral), que puede involucrar a varios equipos cortafuegos. 7 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 8 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Diseño de cortafuegos con un solo firewall 9 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Diseño de cortafuegos con 2 firewalls (DMZ) 10 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 11 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tipos de procesado de paquetes Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Filtrado: decidir en distintos momentos del flujo si un paquete pasa o es bloqueado. Modificación: modificación mientras se mueve el flujo de paquetes Traducción (NAT): permite redirigir el tráfico de forma transparente mediante la modificación de la fuente, el destino o los puertos. 12 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es el filtrado IP? Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes El filtrado IP consiste en decidir qué paquetes se procesarán y cuáles serán rechazados. Algunos criterios posibles para filtrar: Tipo de protocolo: TCP, UDP, ICMP, etc. Número de puerto (para TCP/UDP) Tipo de paquete: SYN/ACK, datos, petición de eco ICMP... Origen del paquete Destino del paquete Los conjuntos de reglas (rulesets) se componen mediante combinación de algunos de estos criterios. 13 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es el filtrado de IP? Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes El filtrado 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 filtramos por puerto, ese mismo servicio podría ejecutarse en otro puerto y el firewall no lo impediría. Para solucionar esto, se usan servidores proxy, que gestionan la conexión y sí comprenden el servicio. 14 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conceptos básicos Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes default accept versus default deny. Inspección de paquetes: Stateful vs stateless En los FW de primera generación no habia estado, lo que facilitaba el spoofing. La inspección de estado guarda registros de todas las conexiones de red que pasan por el cortafuegos. Establecimiento de la comunicación TCP en tres pasos (Three-way handshake): SYN packet: solicitud de sincronización SYN+ACK packet: sincronización y acuse de recibo del servidor ACK packet: acuse de recibo (acknowledgment) del cliente. 15 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Filtrado de paquetes Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Un firewall avanzado puede hacer más cosas además de bloquear. Realiza otras funcionalidades importantes: enmascaramiento, NAT, auditorías, gestión de ancho de banda, balanceo de carga, filtrado por criterios específicos, redundancia... 16 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes Herramientas libres para filtrado de paquetes iptables: Linux ipfilter: *Solaris, illumos, FreeBSD, NetBSD, Linux, HP-UX, IRIX PF (Packet Filter): OpenBSD (nativo), FreeBSD, NetBSD, DragonFly. Comparativa: http://en.wikipedia.org/wiki/comparison_of_firewalls 17 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

18 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Cortafuegos y filtrado de paquetes TCP/IP Es un filtro de paquetes (o firewall) de tráfico TCP/IP basado en configuración dinámica (stateful rules). Considerado el mejor software libre para cortafuegos, balanceo de carga y gestión de tráfico de red. Comparable en funcionalidad a las soluciones privativas más caras (Cisco, Juniper, etc., > 50K dólares). Desarrollado y mantenido por el equipo de desarrollo de OpenBSD (portado también a otros BSD). Equivalente (aunque mucho más funcional) a iptables en Linux. 19 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 20 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Cortafuegos y filtrado de paquetes TCP/IP PF es parte de la pila de red del kernel. No solo protege de ataques, sino que permite redundancia (HA) y escalabilidad (combinado con CARP y pfsync). También NAT y control de ancho de banda: calidad del servicio (QoS) y ALTQ (priorización de colas). Busca la sencillez de las reglas, la consistencia y la legibilidad. Filtra basándose en cualquier paquete o conexión: dirección de origen o destino, protocolo, puerto, etc. A partir de estos criterios, PF ejecuta la acción que especifiquemos. 21 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 22 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

: Sobre BSD BSD es el acrónimo de Berkeley Software Distribution. Originalmente se refiere a un conjunto de software para Unix desarrollado en la Universidad de Berkeley (1975-1990). Por ejemplo, FFS o la implementación más popular de TCP/IP (llamada Net/2). Con el tiempo se convirtió en Unix libre completo: 4.4BSD. Dio lugar a una familia de sistemas Unix: FreeBSD, NetBSD, OpenBSD, DragonFly BSD, y, para algunas definiciones, Mac OS X de Apple. PF nace en el ámbito del proyecto OpenBSD. 23 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

: ipfilter OpenBSD era ya en los 90 el BSD más orientado a seguridad. OpenBSD usaba un subsistema llamado IPFilter, escrito por Darren Reed. Su código usaba una extraña variante de la licencia BSD. 24 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Licencia de ipfilter (2000) /* * Copyright (C) 1993-2000 by Darren Reed. * * The author accepts no responsibility for the use of this software * and provides it on an as is basis without express or implied * warranty. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and due credit is given * to the original author and the contributors. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * I hate legaleese, don t you? */ 25 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

: ipfilter Se le pide a su autor, Darren Reed, que clarifique la licencia. 26 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Aclaración a la licencia de ipfilter (2001) /* /* Copyright (C) 1993-2001 by Darren Reed. * * The author accepts no responsibility for the use of this software * and provides it on an as is basis without express or implied * warranty. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and due credit is given * to the original author and the contributors. * * Yes, this means that derivitive or modified works are not * permitted without the author s prior consent. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * / 27 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

: ipfilter En 2001, aclara que esta variante no permitía modificar el código sin permiso de Darren. No era software libre! El 30 de mayo de 2001 ipfilter se borra del árbol principal de OpenBSD. 28 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Theo de Raadt anuncia que IPFilter será reemplazado Date: Tue, 29 May 2001 19:13:11-0600 From: Theo de Raadt <deraadt@cvs.openbsd.org> Subject: ipf sometime in the next 20 hours, i will be removing ipf from the source tree since it does not meet our freedom requirements, as have been outlined in policy.html and goals.html since the start of our project. we will have to work on an alternative. 29 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Auditoría de licencias OpenBSD decidió auditar las licencias del árbol de código al completo. Se encontraron un buen número de licencias problemáticas. La mayoría se resolvieron hablando con el autor. Unas cuantas se resolvieron reescribiendo el código o eliminándolo. El drama de la licencia de IPFilter se resolvió con un nuevo firewall y con fiabilidad de la licencias en el sistema base! 30 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 31 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Origen de PF Cortafuegos y filtrado de paquetes TCP/IP En paralelo al problema con la licencia de ipfilter (2001), Daniel Hartmeier inició un proyecto de filtrado de paquetes. En junio de 2001 ya tenía un prototipo (24 de junio, primer commit). Durante varias semanas, OpenBSD-current no dispuso de software para firewall. 1 de diciembre: primera versión de PF (OpenBSD 3.0) Inicialmente era casi un clon de ipf. La compatibilidad con ipfilter dejó de ser una prioridad una vez que los usuarios de OpenBSD habían migrado. Hoy no debe asumirse compatibilidad con ipfilter (requiere trabajo de conversión). 32 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Origen de PF Cortafuegos y filtrado de paquetes TCP/IP PF fue escrito desde cero por desarrolladores expertos en seguridad. Paper de Harmeier en USENIX con comparativas de rendimiento (2002). PF 3.1 se comportaba igual o mejor bajo estrés que IPFilter, ambos en OpenBSD. También superaba a iptables de Linux. 33 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Adopción de PF Despertó la curiosidad de otros BSD y Unix. FreeBSD lo adoptó gradualmente: primero como paquete y luego (>5.3) en sus sistema base junto a ipfilter. También fue incorporado por NetBSD y DragonFly BSD. pfsense: distro de FreeBSD con PF, y con una GUI muy sofisticada que permite gestionar los conjuntos de reglas gráficamente. 34 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

GUIs: pfsense Cortafuegos y filtrado de paquetes TCP/IP 35 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Adopción de PF: Y Linux? Intentos de portarlo sin éxito. Desarrollo profundamente integrado con la pila de red de OpenBSD. Exigiría reescribir grandes partes de PF. Otros BSD conservan un origen común con OpenBSD, lo que permitió portarlo. Hay software libre más allá de Linux! 36 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 37 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Network Address Translation (NAT) Gestión de ancho de banda (QoS), priorización de colas (vía ALTQ) Balanceo de carga ftp-proxy Logging y estadísticas pfsync y CARP para Alta Disponibilidad 38 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) 39 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Tabla de contenidos Conjuntos de reglas (rulesets) 1 Cortafuegos y filtrado de paquetes TCP/IP Qué es un cortafuegos? Diseños de cortafuegos Procesado y filtrado de paquetes 2 3 Conjuntos de reglas (rulesets) 40 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) 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/pf.conf 41 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) Macros Se pueden definir variables (macros) para que las reglas sean más legibles y manejables: Ejemplos de Macros webserver = 192.0.2.12 webport = 80 Macros dentro de una regla pass in proto tcp from any to $webserver port $webport 42 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Listas Cortafuegos y filtrado de paquetes TCP/IP Conjuntos de reglas (rulesets) Las listas son dos o más objetos del mismo tipo agrupables en una 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= { 192.0.2.12,192.0.2.13,192.0.2.14 } web ports= { 80 443 } 43 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) Tablas Las tablas (entre < >) sirven para agrupar direcciones IPv4 o IPv6: Ejemplo de Tabla table <goodguys> 192.0.2.0/24,!192.0.2.5 table <spammers> persist file /etc/spammers pass in on fxp0 from <goodguys> to any block in on fxp0 from <spammers> to any 44 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) Traducción de Direcciones de Red (NAT) Permite mapear redes enteras Necesario cuando tenemos IPs públicas limitadas por ISP Nos permite aprovechar las direcciones RFC 1918 (rangos privados): 10.0.0.0/8 (10.0.0.0-10.255.255.255) 172.16.0.0/12 (172.16.0.0-172.31.255.255) 192.168.0.0/16 (192.168.0.0-192.168.255.255) Ejemplo de NAT pass out on em0 from 192.168.1.0/24 to any nat-to 24.5.0.5 Hace NAT en la interfaz em0 para cualquier paquete que venga de 192.168.1.0/24, y sustituye la dirección IP de origen con 24.5.0.5. 45 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Redireccionamiento de tráfico Conjuntos de reglas (rulesets) 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 192.168.1.10 Se redirecciona el tráfico TCP del puerto 80 (un servidor web) a una máquina dentro de la red interna (192.168.1.10). El redireccionamiento tiene implicaciones de seguridad. El sistema expuesto al exterior se suele aislar en una DMZ. 46 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Antispoofing Cortafuegos y filtrado de paquetes TCP/IP Conjuntos de reglas (rulesets) Previene la falsificación de la dirección IP de origen (con el propósito de esconder la dirección real o de suplantar otro nodo en la red): Filtrado de paquetes falsificados por interfaz antispoof for em0 47 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Balanceo de carga Conjuntos de reglas (rulesets) Tipos de balanceo de carga mediante reserva de IPs (address pooling): round-robin: rotación secuencial. Modo por defecto. random: envía cada conexión a una IP aleatoria. source-hash: usa un hash de la IP para asignar una conexión del pool de IPs. bitmask: un modo de hacer NAT entre dos bloques de direcciones IPs de igual tamaño. Ejemplo de balanceo de carga entrante web servers = { 10.0.0.10, 10.0.0.11, 10.0.0.13 } match in on $ext if proto tcp to port 80 rdr-to \ $web servers round-robin 48 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Comandos básicos Conjuntos de reglas (rulesets) Control de PF con pfctl pfctl -e #activa PF pfctl -f /etc/pf.conf #carga las reglas pfctl -nf /etc/pf.conf #chequea sintaxis de las reglas sin cargarlas pfctl -vf /etc/pf.conf #modo verboso, vemos expansión de reglas pfctl -s rules #ver reglas actuales pfctl -s all #ver todos los parámetros pfctl -d #desactiva PF sysctl net.inet.ip.forwarding=1 #Gateway. En /etc/sysctl.conf 49 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

/etc/pf.conf Cortafuegos y filtrado de paquetes TCP/IP Conjuntos de reglas (rulesets) Todo se configura y controla desde /etc/pf.conf. Este debe ser el orden de procesamiento de las reglas: Macros Tablas Opciones Normalización de tráfico (scrubbing) Gestión de ancho de banda Traducción (NAT) Redirección Filtrado de paquetes 50 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) Registros de bitácora Demonio pflogd, por defecto /var/log/pflog. 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/pflog $ sudo tcpdump -nettti pflog0 # tráfico en vivo 51 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Un ejemplo completo de conjunto de reglas Conjuntos de reglas (rulesets) # 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 tráfico de interfaz interno 52 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Referencias Cortafuegos y filtrado de paquetes TCP/IP Conjuntos de reglas (rulesets) Peter N.M. Hansteen, The Book of PF, 2nd Edition, No Starch, 2011. Daniel Hartmeier, Design and Performance of the OpenBSD Stateful Packet Filter (pf) (Usenix paper, 2002) http://www.benzedrine.cx/pf-paper.html 53 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF

Conjuntos de reglas (rulesets) Cortafuegos con software libre. Diez años de PF Master oficial en Software Libre Miguel Vidal http://gsyc.urjc.es/~mvidal Twitter: @mvidallopez 17 de noviembre de 2011 54 / 54 Miguel Vidal Cortafuegos con software libre. Diez años de PF