FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2...
Transcript of FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2...
1
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 1 Dr. Roberto Gómez
Firewalls next generationNAC y Port Knocking
Roberto Gómez Cá[email protected]
http://homepage.cem.itesm.mx/rogomex
Lámina 2 Dr. Roberto Gómez
La siguiente generación de firewalls
¿La cuarta generación?
2
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 3 Dr. Roberto Gómez
¿Por qué son necesarios?
• Los Firewalls no examinan el CONTENIDO de los Paquetes de datos
– Los Ataques a nivel de contenido los atraviesan
Colaboración / MediaSaaS Personal
• Las aplicaciones han cambiado• Puertos son diferentes a las
apliaciones• Las Ips son diferentes de los usuarios
Lámina 4 Dr. Roberto Gómez
Herramientas para darle la vuelta a la seguridad
• Usuarios pueden dar vuelta a la seguridad– Servicios públicos/privados de proxy– Túneles cifrados
3
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 5 Dr. Roberto Gómez
¿Porqué pasan?
Análisis a nivel encabezado
No se examina la cargadel paquete
OK
OK
OK
OK
Lámina 6 Dr. Roberto Gómez
Una primera solución: inspección profunda del paquete
• Inspeccionar los contenidos paquete a paquete.– Permiten pasar algunos ataques divididos en múltiples
paquetes.
4
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 7 Dr. Roberto Gómez
Nuevo enfoque: arquitectura de un solo paso en paralelo (SP3)
• Proceso de un paso para– Clasificación de tráfico
(identificación de la aplicación)
– Mapeo del usuario/grupo– Búsqueda de contenido –
amenazas, URLS, DLP, etc.
• Una política
• Motores de función específica en hardware
• Proceso Multi-core para seguridad
• Planos de datos/control separados
UN
PA
SO
PRO
CE
SO E
N P
AR
AL
EL
O
Lámina 8 Dr. Roberto Gómez
Requerimientos
Nuevos requerimientos para el Firewall1. Identificar aplicaciones sin importar
puerto, protocolo, táctica evasiva o SSL
2. Identificar los usuario independientemente de la dirección IP
3. Visibilidad granular y políticas de control sobre acceso a aplicaciones / funcionalidad
4. Protección en tiempo real contra amenazas incrustadas entre las aplicaciones
5. Multi-gigabit, implementación en-línea sin degradación del rendimiento
5
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 9 Dr. Roberto Gómez
Al final tendremos:
• Firewall– filtrado
• Antivirus gateway– Protección e-mail y archivos
virus
• IPS/IDS– Protección ataques maliciosos
• Anti SPAM• Correos no deseados
• Filtros Web• Eliminar acceso web
dudoso contenido• VPN
• Conexiones seguras
Lámina 10 Dr. Roberto Gómez
NAC
Network Access Control
6
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 11 Dr. Roberto Gómez
NAC
• Es una solución a nivel red que usa un conjunto de protocolos para definir e implementar una política que describe las características con las que debe contar un nodo para poder acceder a una red.
• El objetivo es controlar el acceso a la red con políticas de verificación de pre-admisión y controles de post-admisión sobre usuarios y dispositivos que controlo donde puede acceder estos dispositivos y que pueden hacer.
Lámina 12 Dr. Roberto Gómez
Pre-admisión y post-admisión
• Existen dos filosofías de diseño en NAC, basadas en si las políticas se aplican antes o después de que los nodos tengan acceso a la red.
• Pre-admisión– Los nodos son inspeccionados antes de ser admitidos en
la red.– Un ejemplo puede ser si las firmas del antivirus están
actualizadas.• Post-admisión
– NAC lleva a cabo decisiones basadas en las acciones de los usuarios.
– Después de dichas acciones se les proporciona acceso a la red.
7
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 13 Dr. Roberto Gómez
Agent vs Agentless
• La decisión de permitir que un nodo entre a la red o no, se basa en el conocimiento que tiene la red sobre este nodo.
• Dos opciones para obtener información sobre el nodo– Que el nodo cuente con un software tipo agente
que reporte las características de este.– Que se cuente con un servidor que lleva a cabo
un escaneo sobre los nodos para determinar las características del nodo.
Lámina 14 Dr. Roberto Gómez
Out-of-band vs inline
• En algunos sistemas fuera de línea, los agentes son distribuidos en los nodos y estos reportan información a una consola central.– Ventaja: uso de infraestructura existente.
• Soluciones en línea puede ser un software que puede actuar como firewall interno para acceso a redes y que esta aplique la política.– Más fáciles de implementar en las redes nuevas
y puede proporcionar capacidades de aplicación de políticas más avanzadas.
8
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 15 Dr. Roberto Gómez
Remediation, quarantine y captiveportals
• Posible que a algunos usuarios legítimos se les niegue el acceso a la red– Si lo usuarios tuvieran al día sus actualizaciones al día, no
sería necesario un NAC.• NAC proporciona mecanismos para estos casos.
– Cuarentena• Segmento de red que solo proporciona acceso a ciertos hosts y
aplicaciones.• Posible implementar con protocolos ARP o NDP (Neighbour
Discovery Protocol).– Portales cautivos
• Portal que intercepta accesos HTTP a páginas web, redirigiendo a los usuarios a una aplicación que proporciona instrucciones y herramientas para actualizar su computadora.
Lámina 16 Dr. Roberto Gómez
Arquitectura general
• Tres componentes básicos.– Access Requestor (AR).– Policy Decision Point (PDP).– Policy Enforcement Point (PEP).
• El AR es el nodo que intenta acceder a la red y puede tratarse de cualquier dispositivo administrado por el sistema MAC, incluyendo estaciones de trabajo, impresoras, cámaras, etc.
• Las funciones individuales del PDP y del PEP pueden estar contenidos en un servidor o distribuidos a través de múltiples servidores, dependiendo en la implementación del vendedor.
9
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 17 Dr. Roberto Gómez
Diagrama de la arquitectura
El AR solicita el acceso, el PDP asigna una política y el PEP aplica la política
Lámina 18 Dr. Roberto Gómez
Ciclo del NAC
• Una vez que el host se conecta a la red– El host es evaluado– De acuerdo a la política
una decisión se toma.– Una política se aplica.
• El ciclo se puede reiniciar periódicamente o si el sistema NAC percibe un cambio en el host.
10
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 19 Dr. Roberto Gómez
Implementaciones
• CISCO: – Network Admission Control Program– Se revisa que el dispositivo móvil a conectarse esté
actualizado y tenga instaladas todas las herramientas de seguridad solicitadas por la empresa.
• Microsoft: – Network Access Protection– Inclute componentes de servidor y cliente
• Trusted Computing Group– Trusted Network Control– Pretende consolidar una alternativa frente a las
tecnologías propietarias.
Lámina 20 Dr. Roberto Gómez
Comparativo
11
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 21 Dr. Roberto Gómez
Port Knocking
Knock, Knock knocking on heavens door…
Lámina 22 Dr. Roberto Gómez
Port Knocking
• Sistema de comunicación entre un cliente y servidor, en el que todos los puertos del servidor se encuentran cerrados y se habilita uno de ellos a través de un secuencia preestablecida de intentos de conexión a diferentes puertos.
• Existen diferentes variantes de esta metodología.– La información puede codificarse en una secuencia de
puertos o en la carga de un paquete.• Se transmiten datos a puertos cerrados y estos son
“recibidos” por un demonio de monitoreo que es el encargado
12
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 23 Dr. Roberto Gómez
Pasos port knocking
FirewallPuertosServidor
Servidor
Cliente
Paso 1Fase de tocado
80
22
• Ningún dato es enviado de regreso al cliente
• El cliente “a priori” no puede saber si el demonio de “toquido” se encuentra escuchando.
PuertosServidor
Servidor
Cliente
Paso 2Modificación regla firewall
80
22
Firewall
• El demonio abre el puerto ssh al cliente por un determinado tiempo.
• Respuesta al toquido completamente arbitraria (p.e. deshabilitar un segundo intento identico de port knock).
PuertosServidor
Servidor
Cliente
Paso 3Cliente inicia sesión
80
22
Firewall
• El cliente se conecta al demonio ssh y se autentica con sistema usuario/contraseña.
Lámina 24 Dr. Roberto Gómez
¿Y cuando termina la sesión?
• Una vez que el usuario termino la sesión, otra secuencia de puerto puede ser usada para manipular las reglas del firewall y cerrar el puerto.
• Implementando cifrado en la secuencia de tocado e involucrando la dirección IP del cliente en la secuencia el sistema puede ser resistente a intrusiones.
13
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 25 Dr. Roberto Gómez
Implementando en Linux con IPTables
• Se cierran todos los puertos usando iptables
• Cualquier conexión a los puertos 100-109 es silenciosamente ignorada, pero enviada a bitácora.– Cliente no recibirá ningún paquete ICMP de error.
• La bitácora del firewall contendrá entradas como las siguientes:
Feb 12 00:13:26 ... input DENY ... CLIENT:64137 FIREWALL:102 ...Feb 12 00:13:27 ... input DENY ... CLIENT:64138 FIREWALL:100 ...Feb 12 00:13:27 ... input DENY ... CLIENT:64139 FIREWALL:100 ...Feb 12 00:13:28 ... input DENY ... CLIENT:64140 FIREWALL:103 ...
Iptables –A INPUT -p tcp -s 0/0 -d FIREWALL/32 -p 0:1023 -j DROP -liptables –A INPUT -p tcp -s 0/0 -d FIREWALL/32 -p 1024:49151 -j DROP
Lámina 26 Dr. Roberto Gómez
Demonio bitácora
• Demonio monitorea bitácora puede detectar los intentos de conexión a los puertos 102, 100, 100 y 103 de la misma dirección IP
• Esto provoca que el demonio abra el puerto 22 a través del comando:
• Otra secuencia se puede usar para cerrar el puerto.– Por ejemplo 103,100,100,102 se puede usar para:
• Resumiendo – Usuario remoto abrió puerto ssh a la dirección IP de CLIENT
haciendo conexiones a los puertos 102, 100, 100, 103 y después cerro el puerto tocando en los puertos 103, 100, 100 y 102
iptables -I INPUT -p tcp -s CLIENT/32 -d FIREWALL/32 22 -j ACCEPT
Iptables -D INPUT -p tcp -s CLIENT/32 -d FIREWALL/32 22 -j ACCEPT
14
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 27 Dr. Roberto Gómez
Desventajas de este modelo
• Esquema anterior no es seguro ante un atacante con sniffer.
• El toquido es independiente de la dirección de conexión IP.
• Cualquier persona en la red puede ver la secuencia y reproducirla para acceder al puerto 22.
• Solución:– Incluir el número de puerto en la secuencia de toquido.– Cifrar la secuencia.
Lámina 28 Dr. Roberto Gómez
Asegurando el toquido
Selección parámetros del toquido<IP, puerto, timeout>
Cálculo del hash del toquidoH = ()
Cifrado parámetros del toquido y hash de este
Codificación del resultado de cifrado a puertos
Intento conexión a los puertos obtenidos en el paso anterior
15
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 29 Dr. Roberto Gómez
Construyendo el toquido
• El tocado involucra la dirección IP, el puerto, el tiempo que permanecerá abierto y un checksum
• Por ejemplo, si se desea abrir el puerto 22 a la dirección 142.103.205.1, el toquido tendrá los siguientes elementos:
• El checksum proporciona una validación de la secuencia y esta definido como
• En el ejemplo anterior:
IP1, IP2, IP3, IP4, PUERTO, TIEMPO, CHECKSUM
142, 103, 205, 1, 22. 15. 233
CHECKSUM = (142 + 103 + 205 + 1 + 22 +15) mod 255 = 488 mod 255 = 233.
CHECKSUM = (IP1 + IP2 + IP3 + IP4 + PUERTO +TIEMPO) mod 255
Lámina 30 Dr. Roberto Gómez
Cifrando y codificando el toquido
• Los siete dígitos en el rango de 0-255 se pueden representar como bytes o caracteres, en base a esto el toquido se puede cifrar eligiendo el algoritmo apropiado.
• Una vez cifrada, la secuencia se codifica en un rango de puertos (p.e. 255 puertos en el rango de 745 a 1000).
– Si la secuencia de toquido se compone solo de valores entre 0-255 y la condificación se hace con enteros sin signo (0-255) la longitud de la secuencia simpre será la misma.
cidrado(toquido) = toquido_cifrado
codificar(toquido_cifrado) = toquido_cifrado_codificado
16
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 31 Dr. Roberto Gómez
Interpretación del toquido
• El demonio que monitera el archivo de bitacorallevara a cabo las siguientes acciones– Decodificar la secuencia – Descifrar la secuencia– Verificar el checksum
• Si la secuencia esta mal formada el paso de descifrado fallará.
• Si la secuencia fue descifrada exitosamente, el checksum, tendra que corresponder para que la secuencia sea tomada en cuenta.
Lámina 32 Dr. Roberto Gómez
Implementaciones plataforma *NIX
Nombre Autor Fecha Lenguaje
Advanced port knocking suite Renaud Bidou Sep/2004 PerlBarricade Francesco Vannini May/2004 C
cd00r FX Jun/2000 C
cerberus Dana Epp 1999 ?COK David Worth 2004 Javacombo Jon Snell 2002 C
cryptknock Joe Walko Jun/2004 C
Doorman JB Ward Jun/2003 C
fwknop Michel Rash Jun/2004 C, Perl
temprules Shachar Shemesh Dic/2004 Bash
17
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 33 Dr. Roberto Gómez
Implementaciones plataforma Windows
Nombre Autor Fecha Lenguaje
It’s Me (IM) Richard Prinz Jul/2004 ?Windows Port KnockingDaemon
Ferruh Mavituna 2008 VB.NET
winKnocks Ivano Malavolta Jun/2009 Java
Winportknocking Mike Aiello Oct/2004 C++
Lámina 34 Dr. Roberto Gómez
Implementaciones plataforma Unix/Windows
Nombre Autor Fecha Lenguaje
Knockd (cliente Windows) Judd Vinet Mar/2004 Cp0f Michal Zalewski Ago/2003 C
sig2knock Capella and Tan Chew Keong
2044 C
18
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 35 Dr. Roberto Gómez
Implementaciones plataforma iPhone/iPod Touch
Nombre Autor Fecha
KnockOnD Oleksandr Tymoshenko
Oct/2009
Port Knock Lite Danny Sung 2009
Lámina 36 Dr. Roberto Gómez
Otras implementaciones
Nombre Autor Fecha Lenguaje Plataforma
ipt_pkd, ipt_recent Eric Estabrooks 2008 C/Phyton Ubuntu, Debian. Sidux
jPortKnock Paul Gregoire Feb/2004 Java Java VM
Knockd.py Marilen Corciovei Ene/2004 Phyton Linux/ipfw
SA Claes M Nyberg Ago/2008 C *BSD, Linux, Windows NT/2k/XP
wknock Laurent Oudot Mar/2005 C Linux, OpenWRT, routers
ostiary Ray Ingles Oct/2003 C *NIX, Windows, Palm OS
19
Seguridad Informática Dr. Roberto Gómez Cárdenas
Firewalls nueva generación, NAC y Port Knocking
Lámina 37 Dr. Roberto Gómez
Firewalls next generationNAC y Port Knocking
Roberto Gómez Cá[email protected]
http://homepage.cem.itesm.mx/rogomex