Download - Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras
![Page 1: Teoría de las Comunicaciones 1 Leandro Meiners 9 de Noviembre de 2011 Aplicaciones Seguras](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/14.jpg)
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://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/15.jpg)
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://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/21.jpg)
• 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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/22.jpg)
$ 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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/27.jpg)
• 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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022081520/5665b48f1a28abb57c922afa/html5/thumbnails/34.jpg)
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