Download - 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
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
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
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
5Teoría de las ComunicacionesTeoría de las Comunicaciones
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
Teoría de las ComunicacionesTeoría de las Comunicaciones 7
Capa de Transporte: TLS / SSL
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
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
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
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
12
Verificación Certificado Servidor
Teoría de las ComunicacionesTeoría de las Comunicaciones
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
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”
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
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
Teoría de las ComunicacionesTeoría de las Comunicaciones 17
Capa de Aplicación: SSH
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
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
Mecanismos de autenticación
20Teoría de las ComunicacionesTeoría de las Comunicaciones
• 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
$ 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
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
Teoría de las ComunicacionesTeoría de las Comunicaciones 24
Más Capa de Aplicación: PGP y S/MIME
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
Teoría de las ComunicacionesTeoría de las Comunicaciones 26
FIREWALLS
• 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?
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
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
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
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
Teoría de las ComunicacionesTeoría de las Comunicaciones 32
Sobre las Herramientas…
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
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