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: Dificultad en el seteo de reglas de filtrado Falta de Autenticación JIG 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 hostbastió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. Programa Arch Data Programa Monitor Arch Data Referencia Monitor Referencia Programa Arch Back Pocket Programa Arch Back Pocket JIG 29 Bibliografía Fuentes: 1. Network Security Essentials- W. STALLINGS- Prentice Hall- Cap.10. 2. Security Strategy- Christopher BENSON. http://www.microsoft.com/technet/security/bestprac/secstrat.asp 3. Building Internet Firewalls - CHAPMAN & ZWICKY- O Reilly. 4. Web Security Basics- S.BASHIN- Premier Press-2003- Chap.8. JIG 30 15