FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2...

19
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 generation NAC y Port Knocking Roberto Gómez Cárdenas [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?

Transcript of FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2...

Page 1: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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?

Page 2: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 3: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 4: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 5: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 6: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 7: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 8: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 9: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 10: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 11: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 12: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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.

Page 13: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 14: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 15: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 16: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 17: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 18: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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

Page 19: FireNextGen y NAC - cryptomex.orgcryptomex.org/SlidesSeguridad/FirewallNACPortKnock.pdf · 2 Seguridad Informática Dr. Roberto Gómez Cárdenas Firewalls nueva generación, NAC y

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