Introducción a la seguridad En redes de datos - 2 · transitar por la red pública, esto se conoce...
Transcript of Introducción a la seguridad En redes de datos - 2 · transitar por la red pública, esto se conoce...
Fernando [email protected]
Introducción a la seguridadEn redes de datos - 2
- 2015 -
Laboratorio de REDESRecuperación de Informacióny Estudios de la Web
Administración y Gestión de RedesLic. en Sistemas de Información
¿Cómo proteger los datos?
● Diferentes soluciones a diferentes niveles:● End-to-end – link-level – network-level● PGP, S/MIME, Secure Shell (ssh), Transport Layer Security (TLS),
IPSec, L2tp, user-space vpn's
Protección decomunicaciones
Pretty Good Privacy / OpenPGP
● Pretty Good Privacy (PGP) desarrollado por Phil Zimmermann in 1991● Año 2007: Estándar OpenPGP de IETF (RFC 4880).● Provee servicios de integridad de datos para mensajes y archivos
mediante:● Firmas digitales● Cifrado (simétrico y de clave pública)● Compresión● Conversión Radix64
● Además provee administración de claves y certificados.
Protección decomunicaciones
OpenPGP
Algoritmos soportados (gpg --version):
● Clave Pública: RSA, RSA-E, RSA-S, ELG-E, DSA
● Cifrado simétrico: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256.
● Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
● Compresión: Sin compresiónSin compresión, ZIP, ZLIB, BZIP2
● Para envío por SMTP: Radix64.
● Alternativa para correo: Secure/Multipurpose Internet Mail Extensions (S/MIME RFC 5751) - Mensaje PKCS#7
Protección decomunicaciones
Redes Privadas Virtuales (VPN)
“Una VPN es un conjunto de herramientas que permite a redes de diferentes lugares conectarse de forma segura,
utilizando una red pública como capa de transporte” [James Yonan:The User-Space VPN and OpenVPN”]
● Proveen un medio de establecer comunicaciones seguras sobre redes públicas o inseguras.
● Utilizan cifrado para proveer confidencialidad, autenticidad e integridad.
Protección decomunicaciones
Redes Privadas Virtuales (VPN)
Objetivos:
● Conectar usuarios de forma segura a sus redes empresariales (Acceso Remoto)
● Vincular sucursales con una red empresarial (Intranet).● Ampliar la existente infraestructura de red de una organización para
incluir socios, proveedores y clientes (Extranet)
Protección decomunicaciones
Redes Privadas Virtuales (VPN)
Servicios:● Autenticación de usuarios: Solamente usuarios autorizados pueden
tener acceso a la VPN.● Administración de claves: Se debe generar y actualizar las claves de
cifrado para los clientes VPN y el servidor VPN: La tecnología VPN debe encapsular los datos privados agregando una cabecera adicional que permita a estos transitar por la red pública, esto se conoce como túnel.
● Administración de direcciones: Se debe asignar a los clientes de la VPN las direcciones IP dentro de la intranet corporativa y asegurar que dichas direcciones se mantengan privadas.
Protección decomunicaciones
Redes Privadas Virtuales (VPN)
Servicios:● Cifrado de datos: Los datos transmitidos sobre la infraestructura de red
pública tienen que ser ilegibles para los clientes no autorizados de la VPN
● Encapsulamiento: La tecnología VPN debe encapsular los datos privados agregando una cabecera adicional que permita a estos transitar por la red pública, esto se conoce como túnel.
● Soporte a múltiples protocolos: Proveer soporte para los protocolos utilizados en la red pública.
Protección decomunicaciones
Redes Privadas Virtuales (VPN)
Tipos:
● De acceso remoto (Remote access): Conectan usuarios a redes a través de un Servidor de Acceso a la Red (NAS) (Interactúa con server de Autenticación, Autorización y Contabilidad).
● Sitio a sitio (site-to-site): Conectan redes con redes mediante gestores de tráfico. (conexiones iniciadas en 1 sentido o ambos)
Protección decomunicaciones
IPSec
● Desarrollado en los '90, originalmente obligatorio en ipv6, luego recomendado. Opcional en ipv4.
● Última actualización 2005 (RFC 4301)● 2 Modos de Operación:
● Transporte● Túnel
● Servicio de Autenticación● Authentication Header (RFC 4302)
● Servicio de Confidencialidad y/o integridad:● IP Encapsulating Security Payload (RFC 4303)
Protección decomunicaciones
IPSec
● AH Protocol:● Provee autenticación, integridad y protección frente a reenvíos. (no
confidencialidad)● Asegura la carga de un paquete IP, y porciones del header IP.
● ESP Protocol:● Puede proveer autenticación, integridad, protección frente a reenvíos
y confidencialidad.● Asegura todo la carga de un paquete IP. (no sus headers)
Protección decomunicaciones
IPSec
● Asociaciones de seguridad (Security Associations - SAs)● Describen exactamente como se alcanzará la protección deseada
para cada conexión.● Algunos parámetros típicos de una SA incluyen:
● Algoritmo de Cifrado, algoritmo de hash, clave de cifrado, clave de autenticación, tiempo de vida de claves, valores de inicialización.
● Seteo manual o automático (ISAKMP).● Identificada por:
● Security Parameter Index (SPI)● IP destino● Security protocol Identifier
Protección decomunicaciones
IPSec
● Base de datos de Asociaciones de Seguridad (Security Association Database, SAD)● Definen los parámetros asociados a cada SA:
● Security Parameter Index● Sequence Number Counter● Sequence Counter Overflow● Anti-Reply Window● AH Information● ESP Information● Lifetime● IPSec Protocol Mode● Path MTU● DSCP values● Tunnel header IP source and destination address...
Protección decomunicaciones
IPSec
● Base de datos de Políticas de Seguridad (Security Policy Database, SPD)● Definen cómo se aplica IPSec al tráfico transmitido o recibido.● Opciones de procesamiento: DISCARD, BYPASS, PROTECT● En las entradas se utilizan “Selectores”:
● Local Address,● Remote Address,● Next Layer Protocol,● Local Port, or ICMP message type/code or Mobility Header type
(depending on the next layer protocol)● Remote Port, or ICMP message type/code or Mobility Header type
(depending on the next layer protocol)
Protección decomunicaciones
Protección decomunicaciones
Protección decomunicaciones
Protección decomunicaciones
Protección decomunicaciones
Transport Layer Security (TLS) Protocol
● Basado en Secure Sockets Layer (SSL) desarrollado por Netsacape:● SSL v2.0: 1995.● SSL v3.0: 1996. (RFC Historic 6101, per RFC 7568 -Junio 2015-
“SSLv3 MUST NOT be used”)● TLS v1.0: 1999. (RFC 2246)● TLS v1.1: 2006. (RFC 4346)● TLS v1.2: 2008. (RFC 5246)● TLS v1.3: draft-ietf-tls-tls13-07
● Implementado sobre TCP proporciona seguridad a protocolos de aplicación como HTTP, SNMP, SIP, etc.
● Provee Cifrado y Autenticación mediante certificadosx509 (de 1 o ambos extremos)
Protección decomunicaciones
Transport Layer Security (TLS) Protocol
● Arquitectura:
● El protocolo TLS Record provee confidencialidad e integridad.
Protección decomunicaciones
TLS Record Protocol
TCP
IP
HandshakeProtocol
AlertProtocol
Change CipherSpec Protocol
Application DataProtocol (HTTP, etc)
Transport Layer Security (TLS) ProtocolTLS Record Protocol
● Funcionamiento:● Toma mensajes de aplicación a transmitir (HTTP, SMTP, o los
protocolos Handshake, Alert y Change Cipher Spec del propio TLS).● Fragmenta en bloques a enviar de 16384 bytes o menor.● Comprime los datos (opcional)● Aplica un código de autenticación de mensaje (HMAC definido en
RFC 2104 -basado en hash)● Cifra el mensaje y el MAC calculado utilizando algoritmos simétricos
(AES, IDEA, RC2, RC4, 3DES...)● Agrega encabezado:
● Content-Type (protocolo de nivel superior)● Major Version● Minor Version● Compressed Length
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolTLS Record Protocol
● Formato:
Protección decomunicaciones
Fragment
IP
ContentTypel
MajorVersion
MinorVersion
Compressedlength
Transport Layer Security (TLS) ProtocolTLS Record Protocol
● Formato:
● Content Type: Protocolo de nivel superior● change_cipher_spec(20)● alert(21)● handshake(22)● application_data(23)
● Version: Major 3, Minor 3 para TLS v1.2● Length: Longitud en bytes del fragmento (No debe superar 2^14 + 2048)● Fragment: Datos de aplicación protegidos por cifrado. (posiblemente
comprimidos + PAD + MAC)
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolAlert Protocol
● Transmisión de mensajes de alerta entre pares.
● Mensajes de 2 bytes:
● El primero indica la criticidad (1-warning o 2-fatal)
● El segundo indica la alerta específica
● Mensajes de alerta con nivel fatal determina la finalización inmediata de la conexión.
● Cifrado y comprimido de acuerdo al estado actual.
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolChange Cipher Spec Protocol
● Señala el cambio en especificaciones de cifrado y claves negociadas previamente a partir del próximo registro.
● Mensaje único de 1 byte (valor 1) cifrado y comprimido de acuerdo al estado actual.
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolHandshake Protocol
● Permite la autenticación de las partes y la negociación de parámetros de seguridad (algoritmos de cifrado y MAC, claves..).
● Mensajes de 3 campos:
● Tipo (1 byte)● Longitud (3 bytes)● Contenido (0+ bytes)
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolHandshake Protocol
● Se negocia una sesión con los siguientes ítems:
● Session identifier● Peer certificate● Compression method● Cipher spec (pseudorandom function, bulk data encryption algorithm,
MAC algorithm, mac_length)● Master secret (48-byte secret compartido entre cliente y servidor)● Is resumable
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolHandshake Protocol
Protección decomunicaciones
Transport Layer Security (TLS) ProtocolHandshake Protocol
Protección decomunicaciones
Secure Shell (SSH)
● Login remoto.● Tunneling de conexiones TCP/IP.● Compuesto por
● Transport Layer Protocol. (RFC 4253)● Authentication Protocol. (RFC 4252)● Connection Protocol. (RFC 4254)
● Autenticación de hosts mediante “Host Keys”● Negociación de intercambio de claves, algoritmos de cifrado simétrico y
de clave pública, autenticación de mensajes y hash.
Protección decomunicaciones
Secure Shell (SSH)
● SSH Transport Layer Protocol:
Provee autenticación, confidencialidad e integridad (opcional compresión)● SSH User Authenticacion Protocol:
Autentica usuario frente al servidor● SSH Connection Protocol:
Multiplexa múltiples canales de comunicación lógicos.
Protección decomunicaciones
SSH UserAuthentication Protocol
SSHConnection Protocol
SSH TransportLayer Protocol
TCP
IP
SSH: Transport Layer Protocol
Protección decomunicaciones
SSH: User autenticacion protocol
● Métodos de autenticación:
● Clave pública (publickey)
● Contraseña (password)
● Basada en host (hostbased)
Protección decomunicaciones
SSH: Connection Protocol
Tipos de canales:
● Session● X11● Forwarded-tcpip● Direct-tcp
Protección decomunicaciones
Virtual LANs
● Subred lógica a nivel 2 definida por software.● Segmentan una red en diferentes dominios de broadcast.● Se utilizan para agrupar servers, pc's, etc. de acuerdo a requerimientos
similares de manejo de datos y seguridad.● La comunicación entre dispositivos de diferentes VLANs debe
realizarse a nivel 3.
Virtual LANs
Virtual LAN
● Algunas ventajas:● Independizan la ubicación física de los dispositivos.● Permiten aislar entre sí diferentes partes de una red.● Permiten cambiar el dominio de broadcast y acceso a recursos de un
dispositivo sin moverlo físicamente. (o cambiando el puerto del switch al que se conecta).
● Dirigir tráfico broadcast sólo a aquellos dispositivos que necesitan recibirlo, para reducir el tráfico en la red.
● La comunicación entre dispositivos de diferentes VLANs deberealizarse a nivel 3.
Virtual LANs
IEEE 802.1Q
4094 vlans posibles
Virtual LANs
IEEE 802.1ad(Stacked VLAN o QinQ)
● Client Tagging (C-tag)
● Service provider tagging (S-tag)
Virtual LANs
Private VLANs
● Puerto Promiscuo.
● Puertos host:
● Isolated ports
● Community ports
Virtual LANs
Próxima: Práctica Seguridad
Bibliografía:
Cryptography and Network Security - Principles and Practice, Fifth Edition, William Stallings, Prentice Hall. 2011
● www.icic.gob.ar● www.snort.org● Insecure.org
Bibliografía