teoría de las comunicaciones 1 leandro meiners 9 de noviembre de 2011 aplicaciones seguras

34
Teoría de las Comunicaciones Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Upload: laura-serrano-rojas

Post on 02-Feb-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 1

Leandro Meiners

9 de Noviembre de 2011

Aplicaciones Seguras

Page 2: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Preparativos…

• Ejecutar VirtualBox

• Importar la VM (File Import Appliance o Ctrl+I)

– Path de la imagen: /opt/BT5R1.ova

– Directorio para el disco rígido virtual de la imagen: /media/libre/

2Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 3: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

3

Temario

• Algunas definiciones sobre seguridad• Seguridad en las distintas capas del modelo OSI• Capa Transporte: SSL/TLS• Capa Aplicación: SSH, PGP, S/MIME• Firewalls

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 4: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

4

Seguridad de la información

La seguridad de la información se entiende como la preservación de las siguientes características:

– Confidencialidad: Se garantiza que la información sea accesible sólo a aquellas personas autorizadas a tener acceso a la misma.

– Integridad: Se salvaguarda la exactitud y totalidad de la información y los métodos de procesamiento. La integridad incluye la integridad de los datos (el contenido) y el origen de los mismos.

– Disponibilidad: Se garantiza que los usuarios autorizados tengan acceso a la información y a los recursos relacionados con la misma, toda vez que lo requieran.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 5: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

5Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 6: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

6

Protocolos: Capas

Teoría de las ComunicacionesTeoría de las Comunicaciones

Aplicación

Transporte

Red

Enlace WEP, WPA, WPA2

IPSEC

SSL/TLS

SSH, PGP

Page 7: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 7

Capa de Transporte: TLS / SSL

Page 8: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

8

Transport Layer Security (TLS)

• Versión actualizada de SSL (Secure Sockets Layer)– La última versión de SSL (Netscape) fue 3.0– TLS se identifica como SSL v 3.1– Similar, pero no compatible directamente.– Especificado en RFC 2246 (1999). Extendido

posteriormente en RFC 3546 (2003)

• Protege una sesión entre cliente y servidor.– Típicamente, HTTP (navegador y web server).

• Requiere protocolo de transporte confiable.– Por ejemplo TCP.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 9: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

9

Servicios de Seguridad

• Autenticación– del servidor frente al cliente;– opcionalmente, del cliente frente al servidor.→Mediante certificados de clave pública.

• Integridad→Mediante MAC y números de secuencia.

• Confidencialidad– opcional→Mediante cifrado con algoritmo simétrico.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 10: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

10

Una comunicación a través de SSL implica tres fases:

• Establecimiento de la conexión y negociación de los algoritmos criptográficos que van a usarse en la comunicación, a partir del conjunto de algoritmos soportados por cada uno de los interlocutores.

• Intercambio de claves, empleando algún mecanismo de clave pública y autentificación de los interlocutores a partir de sus certificados digitales.

• Cifrado simétrico del tráfico.

Fases de SSL

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 11: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

11

Fases de SSL

• Handshake:– Negociación de algoritmos y parámetros.– Autenticación (del servidor o mutua).– Canal seguro para compartir un secreto inicial.– Derivación de claves en cada extremo.– Integridad de todo el intercambio.

• Transferencia de datos:– Usa las claves anteriormente derivadas.– Provee integridad.– Opcionalmente, provee confidencialidad.– Autentica el cierre de cada conexión.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 12: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

12

Verificación Certificado Servidor

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 13: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

13

Autenticación del cliente

Con el propósito de controlar el acceso, el servidor puede requerir la autenticación del cliente, solicitándole su certificado de clave pública y verificando que posea la clave privada.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 14: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

14

Paréntesis: BackTrack y Wireshark

Teoría de las ComunicacionesTeoría de las Comunicaciones

• Iniciar la sesión con usuario root y contraseña toor• Iniciar la interfaz gráfica, ejecutando el comando: startx• Ejecutar Wireshark: “Applications BackTrack

Information Gathering Network Analysis Network Traffic Analysis Wireshark”.

• Configurar la captura: “Capture Options”• Seleccionar la interface• Configurar el filtro (de requerirlo)• Seguir un flujo: con un paquete perteneciendo a la

conexión TCP elegir del menú: “Analyze Follow TCP Stream”

Page 15: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

HTTPS en BackTrack (1)

• Configurar el servidor web:– Habilitar módulo de SSL: a2enmod ssl– Habilitar sitio web con SSL: a2ensite default-ssl

• Con un navegador conectarse e analizar el certificado• Generar un certificado nuevo y configurarlo en el servidor:

– Generar la clave privada: openssl genrsa -des3 -out server.key 1024– Generar el CSR: openssl req -new -key server.key -out server.csr– Sacarle la contraseña a la clave: cp server.key server.key.org && openssl

rsa -in server.key.org -out server.key

– Generar el certificado autofirmado: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

– Configurar el certificado : cp server.crt /etc/ssl/certs/ssl-cert-snakeoil.pem

– Configurar la clave: cp server.key /etc/ssl/private/ssl-cert-snakeoil.key

– Reiniciar el servicio: /etc/init.d/apache2 restart

15Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 16: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

HTTPS en BackTrack (2)

• Con un navegador conectarse y visualizar el certificado.• Configurar Wireshark para que monitoree en la interfaz de loopback por conexiones al puerto 443/tcp (HTTPS).

• Conectarse al servidor con un navegador (la URL es https://localhost)

• Analizar el tráfico…. • Sugerencia: ¿Qué datos se ven de nivel de aplicación si

realizamos el “Follow TCP Stream”?• Repetir el proceso monitoreando el tráfico HTTP (80/tcp),

y conectándose a la URL http://localhost.

16Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 17: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 17

Capa de Aplicación: SSH

Page 18: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

SSH

SSH es un protocolo para acceder a máquinas remotas a través de la red de forma segura.

• Diseñado para ofrecer una alternativa segura a Telnet y FTP.• Provee las siguientes garantías de seguridad:

• Autenticación: El cliente puede verificar que se está conectando al servidor al que indicó.

• Confidencialidad: Los datos intercambiados se transmiten usando un cifrado robusto de 128 bits.

• Integridad: Se verifica la integridad de los datos intercambiados mediante funciones criptográficas de hash.

• Permite redirigir la salida de una aplicación gráfica (X11) a través del canal seguro.

• Permite construir “túneles” seguros.

18Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 19: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

19

Una comunicación a través de SSH implica tres fases:

• Establecimiento de la conexión y negociación de los algoritmos criptográficos que van a usarse en la comunicación, a partir del conjunto de algoritmos soportados por cada uno de los interlocutores.

• Intercambio de claves, empleando algún mecanismo de clave pública y autentificación de los interlocutores a partir de sus certificados digitales.

• Cifrado simétrico del tráfico.

Fases de SSH

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 20: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Mecanismos de autenticación

20Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 21: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

• Proteger mi clave plana de FTP Telnet, POP3, IMAP, authSMTP, NNTP......

• Atravesar un firewall dónde sólo el servicio de SSH está permitido

• Acceder a servicios TCP internos de una LAN con direcciones privadas

Los túneles SSH no permiten reenviar

paquetes UDP o protocolos no IP

Túneles SSH – Port forwarding

21Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 22: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

$ ssh –D7070 <user>@server

• Para emular un SOCKS server en el puerto 7070:

• SOCKS es un protocolo de Internet que permite a las aplicaciones Cliente-servidor usar de manera transparente los servicios de un proxy de red.

• La aplicación a ser “reenviada” debe ser SOCKS-aware, o hay que usar un “proxifier”.

Túneles con SSH – SOCKS (dynamic forwarding)

22Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 23: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

SSH en BackTrack

• Generar la claves del servicio: sshd-generate• Iniciar el servicio: /etc/init.d/ssh start• Configurar Wireshark para que monitoree en la interfaz

de loopback por conexiones al puerto 22/tcp (SSH).• Conectarse al servidor: ssh root@localhost• Analizar el tráfico…. • Sugerencia: ¿Qué datos se ven de nivel de aplicación si

realizamos el “Follow TCP Stream”?

23Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 24: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 24

Más Capa de Aplicación: PGP y S/MIME

Page 25: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Seguridad en los correos electrónicos

Existen dos esquemas para proveedor seguridad en los correos electrónicos:

• PGP (Pretty Good Privacy):• Desarrollado por Phil Zimmerman en 1991.• Provee confidencialidad (cifra los correos) y autenticación (firma

los correos).• La gestión de claves en PGP se basa en la confianza mutua.

• S/MIME (Secure/Multipurpose Internet Mail Extension):• Utiliza certificados X509 y la infraestructura PKI.• Provee confidencialidad (cifra los correos) y autenticación (firma

los correos).

25Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 26: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 26

FIREWALLS

Page 27: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

• Es una analogía con “Pared Cortafuego”

• Es un “separador”: permite controlar el tráfico que entra/sale de la red.

¿Qué es un firewall?

Page 28: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Tipos de Firewalls

28

• Filtrado de Paquetes: Cada paquete que entra o sale de la red es verificado y permitido o denegado dependiendo de un conjunto de reglas definidas por el usuario.

• Stateful Packet Inspection: Stateful se refiere a que pueden permitir o denegar sesiones entrantes o salientes tomando en cuenta el estado de las conexiones que el firewall maneja.

• Gateways de Circuito: Proxy no-inteligente que reenvía la conexión.

• Gateways de Aplicación: Proxy inteligente que “entiende” el protocolo en cuestión. Permite aplicar filtros de “capa 7”.

Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 29: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Ejercicio Práctico sobre Firewalls

El siguiente diagrama de red pertenece a una compañía que tiene su propia página web, y desea recibir correos electrónicos destinados a su dominio. Por motivos de seguridad no desean que los usuarios de la red interna puedan navegar en Internet mediante un NAT sino mediante un proxy. Se pide:

Escribir las reglas básicas y la política de filtrado por defecto que se deben implementar en el “stateful” firewall. Documente todo lo que asume.

29

Page 30: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Resolución Ejercicio sobre Firewalls

Política de filtrado por defecto: DROP

Asunciones:– Asumo que el servidor de mail utiliza POP3 y IMAP– Asumo que el servidor web no utiliza HTTPS– Asumo que el servidor web no necesita salir a Internet ni tampoco resolución de nombres.– Asumo que el servidor de base de datos sólo se comunica con el servidor web.

30

DESDEHACIA INTERNET DMZ RED INTERNA

INTERNET Servidor Web: HTTPServidor Mail: SMTP

DROP

DMZ Servidor Mail: DNSServidor Mail: SMTPServidor Proxy: DNSServidor Proxy: HTTPServidor Proxy: HTTPS

DROP

RED INTERNA DROP Servidor Web: HTTPServidor Proxy: PROXYServidor Mail: SMTPServidor Mail: POP3Servidor Mail: IMAP

Page 31: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

FW (a.k.a. IPTABLES) en BackTrack

• Listar las reglas del firewall: iptables –vnL• Permitir conexiones relacionadas y establecidas: iptables -A INPUT

-m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

• Pemitir tráfico al servicio de SSH: iptables -A INPUT -p tcp --dport ssh -j ACCEPT

• Bloqueo todo el tráfico: iptables -P INPUT DROP• Monitorear una conexión al servidor SSH: ¿qué pasa?• Monitorear una conexión al servidor web: ¿qué pasa?• Rechazar todo el tráfico: iptables -A INPUT -j REJECT• Monitorear una conexión al servidor web: ¿qué pasa? ¿hay alguna

diferencia?

• TIP: Si nos equivocamos, para borrar todo: iptables -F

31Teoría de las ComunicacionesTeoría de las Comunicaciones

Page 32: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Teoría de las ComunicacionesTeoría de las Comunicaciones 32

Sobre las Herramientas…

Page 33: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

BackTrack

• “BackTrack is a Linux-based penetration testing arsenal that aids security professionals in the ability to perform assessments in a purely native environment dedicated to hacking.”

-- http://www.backtrack-linux.org/

• Download: – http://www.backtrack-linux.org/downloads/– http://www-2.dc.uba.ar/materias/tc/vbox/BT5R1.ova

33

Page 34: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras

Wireshark

• “Wireshark is the world's foremost network protocol analyzer. It lets you capture and interactively browse the traffic running on a computer network. It is the de facto (and often de jure) standard across many industries and educational institutions.”

-- http://www.wireshark.org/about.html

• Download: http://www.wireshark.org/download.html

34