SEGURIDAD EN REDES _________________________________________________ FIREWALLS Ing. José I. Gallardo Univ.Nac.Patagonia "S.J.Bosco" 1 SEGURIDAD- FIREWALLS TEMAS 1. Principios diseño de firewalls 1.1. Características de firewalls 1.2. Tipos de firewalls 1.3. Configuraciones de firewalls 2. Sistemas Confiables (trusted) 2.1. Control de acceso a datos 2.2. El concepto de sistemas confiables 2.3. Defensa de troyanos. JIG © 2 1 Introducción a Firewalls (Muros Cortafuegos) ________________________________________________ • FIREWALL: Es un sistema ó grupo de sistemas que refuerza la política de control de acceso entre dos redes. • En principio provee dos servicios básicos: Ø Bloquea tráfico indeseado Ø Permite tráfico deseable • Los Sistemas de Información tuvieron una sostenida evolución de pequeñas LANs a la conectividad de Internet, pero no se establecieron medidas acordes de seguridad para todas la WS y servidores. Presiones operativas:1ºConectividad y 2º Seguridad. • Dentro de las Estrategias de Seguridad de una organización, un Firewall pertenece al grupo de Proactivas, para minimizar vulnerabilidades. ( Fig.1) JIG © 3 Introducción a Firewalls ________________________________________________ Fig.1: Estrategia de Seguridad (Benson) [Ref.2] ← Firewalls JIG © 4 2 1. Principios de Diseño de Firewalls ________________________________________________ • Los Firewalls están insertados entre la red local y la Internet (red no confiable ) → Objetivos: Ø Establecer un enlace controlado Ø Proteger la red local de ataques basados en la Internet Ø Proveer un único punto de choque. Router+ Firewall JIG © 5 1.1. Características de Firewalls ________________________________________________ Objetivos de Diseño: Ø Todo el tráfico interno hacia el exterior debe pasar a través del FW. Ø Sólo el tráfico autorizado (definido por política de seguridad local) será permitido pasar, a través de filtros y gateways. Ø El FW en sí mismo es inmune a penetraciones (usando sistema confiable con sistema operativo seguro). 4 Técnicas generales para Control Accesos: a. Control de Servicios: determina tipo servicios de Internet que pueden ser accedidos. b. Control de Dirección: determina la dirección en que se permiten fluir requerimientos de servicios particulares. c. Control de Usuarios: controla acceso a servicio acorde a permisos de usuarios d. Control de Comportamiento: controla cómo se usan servicios particulares (Ejplo: filtros de email). JIG © 6 3 1.2. Tipos de Firewalls ________________________________________________ • Tres tipos comunes de Firewalls : 1) Router con Filtrado de Paquetes 2) Gateway a Nivel de Aplicación 3) Gateway a Nivel de Circuitos + (Host Bastión) Router con Filtrado de Paquetes JIG © 7 1.2.1. Router con Filtrado Paquetes ________________________________________________ • Aplica un set de reglas para cada paquete entrante y luego lo reenvía ó descarta. Filtra paquetes en ambas direcciones. • El filtrado de paquetes se setea típicamente como una lista de reglas (ACL: Access Control List) basadas en “matches” de campos de cabeceras IP ó TCP/UDP. • Dos políticas por default: discard/deny ó forward/allow • Mejor habilitar explícitamente (default= deny) • Se implementa con notación específica de cada router. Ventajas: Ø Ø Ø Simplicidad Transparencia hacia usuarios Alta velocidad Desventajas: Ø Ø JIG © Dificultad en el seteo de reglas de filtrado Falta de Autenticación 8 4 1.2.1. Router con Filtrado Paquetes ________________________________________________ Posibles ataques y Contramedidas apropiadas: Ø IP Address Spoofing (mentir dirección IP) ⇒ Descartar paquetes con dir IP interna que arribe del exterior. Ø Ataques Source Routing (paquete IP con opción ruteo fuente) ⇒ Descartar todos los paquetes que usen esta opció n. Ø Ataques por Tiny Fragments (fragmentos muy pequeños) ⇒ Descartar todos paquetes donde tipo protocolo sea TCP y Offset de Fragmento=1 en Header_IP. JIG © 9 1.2.2. Sistema de FW con GW a Nivel Aplicación ____________________________________________________ • Gateway a Nivel Aplicación (ó Proxy Server) • • • • Son hosts corriendo Proxy servers, que evitan tráfico directo entre redes. Actúa como un relay (conmutador) de tráfico a nivel de aplicación. Más eficiente y posible control de contenidos. Puede ponerse un AV en el gateway. JIG © 10 5 1.2.2. Sistema de FW con GW a Nivel Aplicación ____________________________________________________ Proxy de Aplicación: programa que representa a toda la red interna, ocultando la LAN de la red pública. Toma decisiones de forwarding en los 2 sentidos. Ø Hará el forward de clientes autorizados a servers del exterior y traerá las respuestas a dichos clientes. Ø Proxy HTTP puede mantener páginas web en caché. • Ventajas: Ø Más seguros que filtros de paquetes. Ø Sólo necesita discriminar una pocas aplicaciones permitidas (Telnet, HTTP, etc), no a nivel de IP ó TCP. Ø Fácil control de log y auditar todo el tráfico entrante • Desventajas: Ø Overhead de procesamiento adicional en cada conexión, ya que hay dos conexiones divididas y el Gateway que actúa como splice, debe examinar y reenviar todo el tráfico. JIG © 11 1.2.3. Sistema de FW con GW a Nivel Circuitos __________________________________________________ • Gateway a Nivel de Circuitos : • Puede ser un sistema stand-alone ó una función especializada realizada por un GW de nivel aplicación. • No permite conexiones TCP end-to-end, sino que GW setea 2 conexiones TCP entre usuarios TCP externo e interno con él. • GW hace conmutación de segmentos TCP de una conexión a otra sin examinar contenido. JIG © 12 6 1.2.3. Sistema de FW con GW a Nivel Circuitos __________________________________________________ • La funció n de seguridad consiste en determinar qué conexiones serán permitidas. Usado típicamente en situaciones donde el administrador del sistema confía en los usuarios internos. Un ejemplo de implementación es el paquete SOCKS (v.5 en RFC 1928) • • ü ü Capa entre niveles de Transporte y Aplicación No provee servicios de GW a capa de red, como el forwarding de mensajes ICMP. ü Consiste de Server Socks, Librerías de clientes socks y Programas clientes sock-ificados de las aplicaciones estándares. JIG © 13 1.2.4. Bastion Host __________________________________________________ ü Es un sistema identificado por el administrador del firewall como un punto crítico en la seguridad de la red. ü Host bastión sirve como una plataforma para un gateway a nivel de aplicación ó de circuito. ü Su plataforma de hardware corre versión segura de S.O. ⇒ Sistema Confiable . ü Administrador de red instala sólo servicios esenciales en él, como aplicaciones proxies como Telnet, DNS, FTP, SMTP y Autenticación usuarios. Ø Cada proxy se configura para requerir autenticación adicional, antes de permitir a usuario acceder a servicios. C/u mantiene info auditoría por logging de todo el tráfico de c/conexión. Ø Cada módulo proxy es un pequeño paquete SW diseñado para seguridad en red, e independiente de los otros proxies. Ø Proxy gralmente no realiza accesos a disco, salvo leer configuración inicial, tal de dificultar instalación de troyanos ó sniffers. JIG © 14 7 1.3. Configuraciones de Firewalls ________________________________________________ • Además del uso de configuraciones simples de un sistema único , como router con filtrado de paquetes ó gateway único, son posibles configuraciones más complejas, siendo las tres más comunes: 1) Sistema FW con screened host (single-homed bastion host) (FW con host apantallado y conectado a una sola red) 2) Sistema FW con screened host (dual-homed bastion host) (FW con host apantallado y conectado con 2 placas red) 3) Sistema FW con screened subnet (con DMZ) (FW con subred apantallada ó De-Militarized Zone) JIG © 15 1.3.1. Sistema FW con screened host (single-homed bastion host) _____________________________________________ • El firewall consiste de dos sistemas: Un router con filtrado de paquetes y un host bastión. • Configuración para el router con filtrado paquetes: – Router sólo permite pasar paquetes desde ó hacia el host bastión. • El Host Bastión realiza funciones de proxy y autenticación. JIG © 16 8 1.3.1. Sistema FW con screened host (single-homed bastion host) _____________________________________________ • Mejor seguridad que configuraciones simples por dos motivos: – Esta configuración implementa ambos filtrados, a nivel de paquetes y de aplicación, permitiendo flexibilidad en la definición de política de seguridad. – Un intruso debería atravesar ambas barreras (dos sistemas separados) • Esta configuració n también permite la posibilidad de proveer acceso directo a Internet, con servidores de informació n pública como web servers. JIG © 17 1.3.2. Sistema FW con screened host (dual-homed bastion host) _____________________________________________ • Con 2 placas de red, evita que si el router con filtrado de paquetes está comprometido, el tráfico pase directamente a la red interna. • El tráfico entre Internet y los hosts de la red interna privada tiene que pasar através del host bastión. • Mantiene las dos capas de seguridad, y pueden conectarse servers con el router, según la política de seguridad. JIG © 18 9 1.3.3. Sistema FW con Screened-Subnet (DMZ) _________________________________________________ • Configuración más segura de las tres, con 2 Routers interno y externo con filtrado de paquetes. • Crea una subred aislada, DMZ (De Militarized Zone) que puede consistir de un simple host bastión, ó de más servers públicos. • Los routers sólo permiten tráfico hacia ó desde la subred DMZ. JIG © 19 1.3.3. Sistema FW con Screened-Subnet (DMZ) _________________________________________________ • Ventajas: Ø Tres niveles de defensa ante intrusos. Ø El Router Externo sólo declara hacia la Internet la existencia de la subred protegida →La red interna es invisible para la Internet. Ø El Router Interno sólo declara hacia la red interna la existencia de la subred protegida → Los sistemas de la red interna no pueden construir rutas directas hacia Internet. ⇒ Los routers sólo permiten tráfico a/desde la red DMZ. • Zona DMZ: se tiene cierto control, deja que algunas aplicaciones puedan ser accedidas como servicios externos de servers Web ó DNS y GW de aplicación para clientes internos. • Normalmente se implementa NAT (Network Address Translation), que oculta las direcciones reales y dificulta ó impide accesos. • • NAT útil si no se poseen suficientes dir IP válidas. Solamente se necesitan dir IP reales si queremos salir de nuestra red interna, para acceder a servers externos. Mapeo muchos-a-1 ó 1-a-1; Los proxies proveen muchos-a-1. JIG © 20 10 2. Sistemas Confiables ________________________________________________ • Una forma de mejorar la habilidad de un sistema de defensa contra intrusos y programas maliciosos, es implementar tecnología de Sistemas Confiables. (Trusted Systems) 2.1. Control de Acceso a Datos • A través de procedimientos de control de accesos de usuarios (log on), un usuario puede ser identificado por el sistema. • Asociado a cada usuario puede existir un Perfil que especifica sus operaciones y accesos a archivos permitidos. • El sistema operativo puede aplicar reglas basadas en el perfil de usuario. • Los Modelos generales de control de Acceso pueden ser: – Matriz de Accesos – Lista de Control de Accesos – Lista de Capacidades JIG © 21 2.1. Control de Acceso a Datos ________________________________________________ • Matriz de Accesos • Los Elementos básicos del modelo son: – Sujeto (ó Subject): una entidad capaz acceder objetos. Concepto equivalente al de proceso. – Objeto: algo al que su acceso se controla (Ejplo: archivos, programas y segmentos de memoria). – Derechos de Acceso: el modo en que un objeto es accedido por un sujeto (Ejplo: read, write, execute). JIG © 22 11 2.1. Control de Acceso a Datos ________________________________________________ – Un eje de la Matriz (Y) consiste de los sujetos identificados que pueden intentar acceder a los datos. – El otro eje (X) lista los objetos que pueden ser accedidos. – Cada entrada en la matriz indica los derechos de acceso de cada sujeto para cada objeto. • Lista de Control de Accesos: descomposición de la matriz por columnas. Lista los usuarios y sus derechos de accesos permitidos. La lista puede contener una entrada pública ó por default. Lista Ctrl Accesos Programa1 Proceso1 (Read, Execute) JIG © 23 2.1. Control de Acceso a Datos ________________________________________________ • Lista de Capacidades: descomposición de la matriz por filas. • Un ticket de capacidad especifica objetos autorizados y operaciones para un usuario. Cada usuario tiene un número de tickets. Lista Capacidades p´Proceso1 Programa1 (Read, Execute) SegmentoA (Read, Write) JIG © 24 12 2.2. El concepto de Sistemas Confiables ________________________________________________ Sistemas Confiables (Trusted): • Protección de datos y recursos en base a niveles de seguridad, como en lo militar, donde la informació n se categoriza como U (unclassified), C (confidential), S (secret) y TS (top secret). • Los usuarios pueden obtener permisos para acceder a ciertas categorías de datos. • Seguridad Multinivel: definición cuando hay múltiples categorías ó niveles de datos. • Un sistema de seguridad multinivel debe aplicar las siguientes reglas: Ø No Read Up: un sujeto sólo puede leer un objeto de nivel de seguridad igual ó menor (Simple Security Property) Ø No Write Down: un sujeto sólo puede escribir en un objeto de nivel de seguridad igual ó mayor (*.Property) JIG © 25 2.2. El concepto de Sistemas Confiables ________________________________________________ • Concepto de Monitor de Referencia: aproximación de seguridad multinivel para un sistema de procesamiento de datos. JIG © 26 13 2.2. El concepto de Sistemas Confiables ________________________________________________ • Monitor de Referencia: ü Elemento de control en el hardware y sistema operativo de una computadora que regula el acceso de sujetos a objetos en base a parámetros de seguridad. ü El Monitor tiene acceso a un archivo (Security Kernel Database) ü Aplica las reglas de seguridad (no read up, no write down). • Propiedades del Monitor : ü Mediació n Completa: reglas seguridad se aplican en todo acceso. ü Aislación: el monitor de referencia y la DB están protegidos de modificaciones no autorizadas. ü Correctitud: la exactitud del monitor de referencia debe ser comprobable (matemáticamente). • Un sistema que pueda proveer tales verificaciones (ó propiedades), se puede referir como un Sistema Confiable. JIG © 27 2.3. Defensa de Troyanos ________________________________________________ • Troyanos: programa malicioso que aparentando hacer algo normal, hará algo inesperado, a través de trapdoor ó un ataque (acceder a una cuenta ó ejecutar comandos con privilegios de otro usuario). • Secuencia a y b muestra ataque de troyano de usuario A, que consigue acceso legítimo al sistema e instala un troyano y un arch.privado a ser usado en el ataque como un “back pocket”. Arch Back Pocket JIG © 28 14 2.3. Defensa de Troyanos ________________________________________________ • Sistemas Operativos confiables y seguros, constituyen un modo de defensa contra ataques de troyanos (Trojan Horse Attacks). • Secuencias c y d con S.O.Seguro, donde Monitor no permite a B escribir (no W down) el string en un arch público (back pocket). Si B tiene nivel seguridad sensitivo, y A nivel público, cuando B invoca al troyano, este programa adquiere nivel seg de B. Arch Data Programa Programa Arch Data Monitor Referencia Monitor Referencia Programa Arch Back Pocket Programa JIG © Arch Back Pocket 29 Bibliografía Fuentes: 1. 2. 3. 4. Network Security Essentials - W. STALLINGS- Prentice Hall- Cap.10. Security Strategy- Christopher BENSON. http://www.microsoft.com/technet/security/bestprac/secstrat.asp Building Internet Firewalls - CHAPMAN & ZWICKY- O´Reilly. Web Security Basics- S.BASHIN- Premier Press-2003- Chap.8. JIG © 30 15