Seguridad y Alta Disponibilidad



Documentos relacionados
Seguridad y Alta Disponibilidad

Contenidos. Introducción. Seguridad y Alta Disponibilidad Instalación y configuración de cortafuegos. Introducción Tipos de cortafuegos.

IPTABLES. Gonzalo Alvarez Flores

Cortafuegos (Firewalls) en Linux con iptables

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

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

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

Gestión de Recursos y Seguridad en Redes Seguridad en la red con Open Source. Derman Zepeda Vega. dzepeda@unan.edu.ni

66.69 Criptografía y Seguridad Informática FIREWALL

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

EJERCICIOS DE REDES. 1. Configurar por completo la red mostrada en el siguiente diagrama:

Cortafuegos (Firewalls) en Linux con iptables

Firewall en GNU/Linux netfilter/iptables

Filtrado de paquetes y NAT

Charla de redes. Carlos Hernando ACM Facultad de Informática Universidad Politécnica de Madrid

Firewalls, IPtables y Netfilter

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

Introducción al concepto y puesta en marcha de una pared de fuego utilizando IPTables

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

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

Cortafuegos y Linux. Iptables

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

Seguridad Informática

Redes de área local Aplicaciones y Servicios Linux Enrutamiento

Julio Gómez López Universidad de Almería

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

Examen Parcial II de Sistemas Telemáticos para Medios Audiovisuales

Seguridad Perimetral. Juan Manuel Espinoza Marquez CFT San Agustín Linares -2012

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

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

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

CORTAFUEGOS HARDWARE. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 4 SAD

Informe Final Experiencia 2 Configuración de Firewall, Router y Gateway

Firewalls: iptables. Pablo Suau Pérez (aka Siew) Marzo 2002

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

Tema 6. Funciones y protocolos del nivel de red. Ejercicios propuestos (II).

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

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

Prácticas de laboratorio de Telemática II

SEGURIDAD EN SISTEMAS INFORMÁTICOS

Capa de red de OSI. Semestre 1 Capítulo 5 Universidad Cesar Vallejo Edwin Mendoza emendozatorres@gmail.com

Agenda, continuación

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

SEGURIDAD INFORMATICA HERRAMIENTAS PARA LA SEGURIDAD EN REDES DE COMPUTADORES

Firewall Firestarter. Establece perímetros confiables.

LINEAMIENTOS DE ESQUEMAS DE SEGURIDAD DE LA INFORMACIÓN

IPSEC. dit. Objetivo: proporcionar a IP (IPv4( IPv4, IPv6) ) mecanismos de seguridad. Servicios de Seguridad

Conferencias Abiertas de GNU/Linux MTLUG La Matanza GNU/Linux Users Group Firewalls con IPTABLES (y sus amigos)

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

Práctica 2. Montaje de Redes Locales. Parte III

Configuración del firewall en Linux con IPtables

PRÁCTICA 5: USO DE CORTAFUEGOS

Endian Firewall UTM Software Appliance

Servidor Firewall. Patrick Hernández Cuamatzi. Maestría en Ingeniería de Software Redes Avanzadas

Servidor FTP. Ing. Camilo Zapata Universidad de Antioquia

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

HOWTO: Cómo configurar SNAT

TELECOMUNICACIONES Y REDES

Existe una solicitud disponible a tal efecto en la url:

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 8: El nivel de transporte en Internet

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

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

Examen Cisco Online CCNA4 V4.0 - Capitulo 5. By Alen.-

Firewalls de Internet. Ricardo D. Pantazis

8. Cortafuegos (Firewall).

SEGURIDAD EN SISTEMAS GNU LINUX

GATEWAYS COMO FIREWALLS

En el anterior post había explicado que es necesario en un firewall primero denegar todo tráfico entrante, para ello:

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Redes de Datos Práctica 10 Capa 5 Modelo OSI

1 of 6. Visualizador del examen - ENetwork Chapter 5 - CCNA Exploration: Network Fundamentals (Versión 4.0)

Diseño de redes VPN seguras bajo Windows server 2008

UD4 Actividad 6 Cortafuegos Hardware

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

Redes Locales: El protocolo TCP/IP

We Care For Your Business Security

Protocolo PPP PPP Protocolo de Internet de línea serie (SLIP)

OBJETIVOS DE APRENDIZAJE

Tema 6. Seguridad Perimetral Parte 1. Cortafuegos

2. Diferencias respecto a IPCHAINS

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

Capítulo 8, Sección 8.6: IPsec

2. Qué dispositivo se debe utilizar para enrutar un paquete a una red remota? A switch de acceso B servidor de DHCP C hub D router

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

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

Dispositivos de Red Hub Switch

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

HOWTO: Cómo configurar el firewall para redes VPN

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Alta Disponibilidad de Cortafuegos en Linux. Pablo Neira Ayuso Proyecto Netfilter Universidad de Sevilla

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

Experiencia 5 : Firewall

Internet Firewalls Linux ipchains.

Criptografía y Seguridad de Datos Protección de redes: Cortafuegos

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

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

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

Servidores corporativos Linux

Infraestructura Tecnológica. Sesión 10: Sistemas cortafuego

Guía de Inicio Rápido de NetGenie

Seguridad de la información: ARP Spoofing

Transcripción:

Seguridad y Alta Disponibilidad Instalación y configuración de cortafuegos David Villa Alises Escuela Superior de Informática Universidad de Castilla-La Mancha Contenidos Introducción Tipos de cortafuegos. Características. Funciones principales. Introducción Diseño del sistema cortafuegos. netfilter /. Distribuciones libres para cortafuegos dedicados. Cortafuegos hardware. 2 Cortafuegos 3 Cortafuegos RAE: 2. m. Arq. Pared toda de fábrica, sin madera alguna, y de un grueso competente, que se eleva desde la parte inferior del edificio hasta más arriba del caballete, con el fin de que, si hay fuego en un lado, no se pueda este comunicar al otro. Wikipedia: es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas. Se trata de un dispositivo o conjunto de dispositivos configurados para permitir/limitar, cifrar/descifrar el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios. 4 Un cortafuegos es un dispositivo o sistema que controla el flujo de tráfico entre diferentes áreas de una red. [R.A. Deal, Cisco Router Firewall Security] 5

Para qué sirve? Para qué sirve? El objetivo de todo cortafuegos es proporcionar un medio para implementar la política de control de acceso. Control Ej: Los usuarios de mi red solo podrán acceder a ciertos sitios web, y no podrán usar IRC. Seguridad/Protección Ej: Solo los usuarios de cierta red pueden acceder a mi servidor SSH. red protegida red exterior Vigilancia Ej: Determinar qué máquina está haciendo constantemente intentos de acceso a mi servidor. router cortafuegos 6 7 Características habituales Ligados a un encaminador. Controla el tráfico. Protege los recursos sensibles. Oculta la estructura interna. Establece áreas con restricciones diferentes. Registra e informa de incidencias. Tipos de cortafuegos 8 Cortafuegos de filtrado de paquetes Tipos de cortafuegos De filtrado de paquetes (packet-filtering ó stateless) Con estado (stateful) Pasarela de aplicación (application gateway) Cortafuegos NAT (address-translation) Local o personal (host-based) Híbridos Sin estado (no tienen en cuenta el tráfico anterior). Dado un paquete y un conjunto de reglas decide: Reenviar: ACCEPT Descartar: DROP Rechazar: REJECT. Como DROP pero informando al remitente (con ICMP). 9 Dos políticas: Restrictiva: Todo lo que no esté explícitamente permitido, está prohibido. Permisiva: Todo lo que no esté explícitamente prohibido, está permitido. 10 11 Cortafuegos de filtrado de paquetes Inspección Inspección de paquetes Formato del paquete IP 20 65536 bytes Dirección de capa 3 (IP) origen o destino. Dirección de capa 4 (puerto) origen o destino. Carga útil de paquete (campo protocol). Flags de la cabecera: SYN, RST,... Paquete IP versión Interfaz de red, de entrada o salida El propietario del proceso que creó el paquete. etc... encabezado carga (payload) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 20 bytes 20 60 bytes IHL tiempo de vida longitud total tipo de servicio D M F F identificación protocolo offset del fragmento checksum dirección del origen 0 40 B dirección del destino 12 opciones 13

Inspección Inspección Formato del segmento UDP Formato del segmento TCP 1 2 3 0 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 puerto TCP origen 2 3 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 puerto UDP destino (opcional) longitud del mensaje UDP número de acuse de recibo checksum (opcional) (completo) puerto TCP destino número de secuencia offset reservado URG ACK PSH RST SYN FIN puerto UDP origen checksum cuerpo del mensaje ventana puntero urgente opciones relleno cuerpo del mensaje 14 Cortafuegos de filtrado de paquetes Cortafuegos de filtrado de paquetes Un ejemplo Ventajas y limitaciones 200.1.1.10 15 Ventajas: 200.1.1.11 Rápido, como requisitos de CPU y memoria. Flexibles y muchos extensibles mediante módulos. Internet Limitaciones: Web:200.1.1.2 DNS:200.1.1.3 Pueden ser difíciles de configurar. No pueden manejar información de sesión o aplicación. No proporcionan soporte para autenticación. Las capacidades de registro de sucesos son limitadas. e-mail:200.1.1.4 Regla Origen Protocolo Puerto 1 Destino 200.1.1.2 TCP 80 ALLOW 2 200.1.1.3 UDP 53 ALLOW 3 200.1.1.4 TCP 25 ALLOW 4 Other Acción DROP [Cisco Router Firewall Security, Fig 2.6] 16 Filtrado asimétrico 200.1.1.10 Cortafuegos con estado 200.1.1.11 B Hacen seguimiento de las conexiones. Internet Web server 200.1.1.2 17 170.1.1.1 Impedir que tráfico externo llegue a B. Permitir a B abrir conexiones al exterior. Inicio, transferencia y terminación. Permite distinguir si la conexión fue iniciada desde la red interna o desde la externa. Crea reglas de filtrado dinámicamente cuando detecta una conexión y las elimina al terminar. Esa información se almacena en la tabla de estado. [Cisco Router Firewall Security, Fig 2.11] 18 Establecimiento de conexión de TCP Cortafuegos con estado Ventajas y limitaciones Cada extremo debe sincronizarse con el otro antes de transmitir datos. Hay un rol activo (cliente) y el otro pasivo (servidor). Ventajas: Triple apretón de manos : Conocen el estado de las conexiones. cliente Pueden detectar y prevenir ataques DoS. servidor SYN seq: 1200, ac ACK SYN + k: - 00, ack: seq: 48 1201 ACK seq: 1201, ac k: 4801 1. El cliente indica su ISN (Initial Sequence Number) y otros parámetros de conexión como el MSS Limitaciones: 2. El servidor confirma, indica su ISN y otros datos de conexión 3. El cliente confirma y puede enviar datos en ese segmento 19 20 Pueden ser difíciles de configurar. No pueden manejar información de aplicación. No proporcionan soporte para autenticación. Existen protocolos sin estado: UDP, ICMP, etc. Aplicaciones con conexiones adicionales: FTP. La tabla de estado puede suponer un problema. 21

Pasarela de conexión También llamados «Cortafuegos de Pasarela de Aplicación». 1.El cliente externo intenta una conexión hacia un servidor interno. Permiten tratamiento específico por aplicación: DNS, FTP, LDAP, SMTP, etc. Soporte específico para autenticación. 2.El cortafuegos intercepta la conexión y solicita al usuario una autenticación. El cortafuegos abre una conexión hacía el servidor interno. Autentican usuarios en lugar de máquinas o conexiones. 3.El tráfico del cliente externo es procesado por el cortafuegos y redirigido al servidor interno. Tipos: de conexión (Connection Gateway Firewall) cut-throught 4.Cualquier nueva conexión es rechazada si no se proporciona la autenticación correspondiente. 22 Pasarela de conexión Cut-through 23 Realiza un proceso de autenticación como el cortafuegos de pasarela de conexión. Después añade temporalmente reglas de filtrado para permitir al usuario utilizar el recurso. Sólo la autenticación ocurre en la capa de aplicación. Es mucho más eficiente. [Cisco Router Firewall Security, Fig 2.17] 24 Cut-through Ventajas y limitaciones 25 Ventajas: Proporcionan una buena defensa ante ataques DoS y «spoofing». Total control a nivel de aplicación. Registros muy detallados. Mucha flexibilidad. Inconvenientes: Todo el procesamiento es software. Limitado a un conjunto de aplicaciones. [Cisco Router Firewall Security, Fig 2.18] 26 Cortafuegos NAT Cuando no es web, requiere software especial en el PC de los usuarios. 27 Cortafuegos NAT NAT permite exponer servicios de la red interna sin que los usuarios conozcan la estructura y esquema de direccionamiento. El administrador puede modificar completamente la organización de los servicios y la estructura de la red sin que sea percibido desde el exterior. [Cisco Router Firewall Security, Fig 2.20] 28 29

Cortafuegos «personal» Cortafuegos híbridos Es habitual que los cortafuegos comerciales (hardware) proporcionen otras funcionalidades: Se utiliza para proteger un solo computador (servidor o PC). Normalmente son cortafuegos de filtrado de paquetes. Servidor DHCP Ventajas: Concentrador VPN Detección de intrusos (IDS) Proxy/Caché Web Caché DNS etc. Sencillo y barato Seguridad y autenticación adicional. Inconvenientes: Poca escalabilidad Basados en software Pocas opciones de filtrado 30 31 Guía de diseño Definir una política de seguridad Diseño del sistema cortafuegos El sistema es débil si solo hay una línea de defensa. Considerar las amenazas internas Cada equipo o programa está diseñada para un fin. Implementar varias líneas de defensa Como siempre, principio KISS. Usar los dispositivos adecuados Qué necesita ser protegido? A qué «precio»? Diseñar una solución sencilla ~70% de las violaciones de seguridad proceden de la red interna 32 Estructura de la red Diferentes partes de la red requieren niveles de seguridad diferente: La red externa (sobre la que no tenemos control). La red de servicios públicos () La red interna (no accesible desde el exterior). 33 (demilitarized zone) es la subred que contiene los servicios accesibles desde el exterior. red interna 34 Internet 35 Reglas y niveles de seguridad Reglas y niveles de seguridad Se asignan niveles de seguridad desde más bajo al más alto. Por defecto, el tráfico puede ir de los niveles altos a los bajo, pero no al revés. Las excepciones a esta regla deben se implementan como reglas de filtrado (lo más específicas posible). A nivel menor: ALLOW A nivel mayor o igual: DROP. [Cisco Router Firewall Security, Fig 2.28] 36 37

Tipos Sencillo Sencillo Segmento único Service leg múltiple interno Segmento único Service leg [Cisco Router Firewall Security, Fig 2.24-25] [Cisco Router Firewall Security, Fig 2.24-25] 38 Múltiple Interno 39 Medium Medium [Cisco Router Firewall Security, Fig 2.26] [Cisco Router Firewall Security, Fig 2.27] 40 Componentes del sistema cortafuegos 41 Componentes del sistema cortafuegos Encaminador perimetral Encaminamiento con la red externa Filtrado de paquetes y conexiones Traducción de direcciones Cortafuegos Separación entre subredes internas (s) Autenticación IDS (Intrusion Detection System) Vigilancia, detección e incluso medidas de contención. 42 43 Sistema Cortafuegos Consideraciones Filtrado de paquetes en la periferia. Todos los servidores públicos en una. Caso de estudio Linux netfilter / Servidores críticos deben tener su propio cortafuegos. Colocar el servidor BD en un nivel de seguridad mayor que el servidor web. Utilizar VPN para conectar con sitios remotos, y asumir que podrían estar comprometidos. Utilizar sistemas IDS en las redes sensibles. 44 45

netfilter / netfilter / Cortafuegos software de filtrado de paquetes Seguimiento de conexiones: stateful NAT (masquerading) Packet mangling Control de tasa Registro de sucesos configurable 46 cadenas (chains) tablas prerouting (antes de saber dónde debe ir) red input (hacia el host) PREROUTING (DNAT) output (generados por el host, no encaminado aún) forward (reenviar a otro host) rutado postrouting (cuando se sabe el destino) POSTROUTING (SNAT) filter nat mangle FORWARD (filter) INPUT (filter) 47 Manipulación / etiquetado OUTPUT (filter, DNAT) aplicaciones en el host Filtrado de paquetes («filter») NAT (tabla «nat») IP: direcciones origen y destino, fragmentos ICMP: tipo y código UDP: puertos origen y destino 48 TCP: puertos origen y destino, flags, opciones, propietario del proceso. input y output son cadena para filtrado local. forward es para filtrado de tráfico remoto. Traducción de dirección origen (SNAT) Se hace en postrouting. También conocido como «masquerading». Traducción de dirección destino (DNAT) Se hace en prerouting o output. También conocido como «redirección». 50 Seguimiento de conexiones Control de tasa Cadenas prerouting y ouput. Previene ataques DoS. La tabla de estado contiene: Permite limitar: 49 Campo protocol de la cabecera IP Ráfaga máxima (IP,puerto) origen y destino Número máximo de coincidencias por segundo. Estado de la conexión (TCP) Temporizadores (TCP) Números de secuencia (TCP) 51 Estados: NEW, ESTABLISHED, RELATED, INVALID. 52 53

Sintaxis de comandos Un router/firewall básico Iptables [-t tabla] comando cadena parámetros Comandos: web red interna -A: añadir (al final) -D: borrar (por regla o posición) -I: Insertar en la posición indicada -L: listar -F: borrar todas las reglas -Z: limpiar los contadores -P: definir la política Servidor SSH 192.168.1.2 54 Un router/firewall básico Un router/firewall básico Política restrictiva para FORWARD. Aceptar todo el tráfico ICMP (desde cualquier parte). Aceptar todo el tráfico TCP (desde la red interna). Aceptar TCP de la red externa para conexiones establecidas. # -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Permitir tráfico hacía y desde loopback. Permitir acceso al servidor web en el router. # -A INPUT -p tcp --dport http -j ACCEPT Aplicar SNAT para conexiones al exterior Redirigir un puerto (DNAT) hacia el servidor SSH. # -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --todestination 192.168.1.2:22 # -t nat -A POSTROUTING -o eth0 -j MASQUERADE 55 # -A INPUT -p tcp -i eth1 -j ACCEPT # -A INPUT -i lo -j ACCEPT # -A OUTPUT -o lo -j ACCEPT Activar el reenvío de paquetes # echo 1 > /proc/sys/net/ipv4/ip_forward # -A INPUT -p ICMP -j ACCEPT eth1 192.168.1.1 # -P FORWARD DROP ó -A INPUT -j DROP como última regla Internet eth0 192.168.1.0/24 56 57 Distribuciones para cortafuegos dedicados Distribuciones libres para implementar cortafuegos en máquinas dedicadas. Distribuciones de software libre para implementar cortafuegos en máquinas con pocas prestaciones. Basadas en: Basada en GNU/Linux Características: Cortafuegos con estado: IDS/IPS: SNORT VPN: PPTP, IPSec, OpenVPN Proxy Web: Squid Filtrado de contenido y antivirus: DansGuardian Informes y estadísticas: MRTG FreeBSD: m0n0wall, pfsense,... Suelen ofrecer una interfaz web para administración del router/cortafuegos 58 59 GNU/Linux:, Gibraltar, IPCop, Zentyal, SmoothWall,... Interfaz web 60 61

Interfaz web Interfaz web 62 Interfaz web Interfaz web 64 63 65 CISCO PIX (Private Internet exchange) Cortafuegos hardware CISCO PIX 66 CISCO PIX Gama de cortafuegos de alto rendimiento. SO específico: PIX OS Características NAT/PAT Filtrado de contenido (Java/ActiveX) IPsec VPN DHCP PPoE RADIUS 67 CISCO PIX Rendimiento: PIX 535: 1 Gbps, 95 Mbps 3DES VPN 2000 túneles Ipsec 500.000 conexiones simultáneas PIX 525: 360 Mbps, 70 Mbps 3DES VPN PIX 501: 10 Mbps, 3 Mbps 3DES VPN 280.000 conexiones http://www.netcraftsmen.net/resources/archived-articles/369-cisco-pix-firewall-basics.html 68 69

CISCO PIX Referencias ASA (Adaptive Security Appliance) es un módulo que aumenta las capacidades del PIX. Actualmente la serie ASA ha reemplazado a la gama PIX. Simulador PIX: http://networksims.com/pix.html Transmisión de datos y redes de comunicaciones, B.A. Forouzan. Mc Graw Hill. Router Firewall Security, R.A. Deal. CISCO Press. Firewall fundamentals, W.J. Noonan, CISCO Press. Prentice Hall. Guía Avanzada de Firewalls Linux, R.L. Ziegler. Firewalls and Internet Security, W.R. Cheswick. Linux 2.4 Packet Filtering HOWTO. Rusty Russell. 70 71