40
Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES Recuperación de Información y Estudios de la Web Administración y Gestión de Redes Lic. en Sistemas de Información Equipo docente: Fernando Lorge ([email protected]) Santiago Ricci ([email protected]) Alejandro Iglesias ([email protected]) Mauro Meloni ([email protected])

Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Introducción a la seguridadEn redes de datos - 2

- 2019 -

Laboratorio de REDESRecuperación de Informacióny Estudios de la Web

Administración y Gestión de RedesLic. en Sistemas de Información

Equipo docente:

Fernando Lorge ([email protected])

Santiago Ricci ([email protected])

Alejandro Iglesias ([email protected])

Mauro Meloni ([email protected])

Page 2: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

¿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 VPNs

Protección decomunicaciones

Page 3: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 4: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

OpenPGP

Algoritmos soportados (gpg --version):

● Clave Pública: RSA, ELG, DSA, ECDH, EcDSA, EdDSA

● Cifrado simétrico: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256, IDEA.

● Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224

● Compresión: Sin compresiónSin compresión, ZIP, ZLIB, BZIP2

● Para envío por SMTP: Radix64, también conocido como “ASCII armor”.

● Alternativa para correo: Secure/Multipurpose Internet Mail

Extensions (S/MIME RFC 5751) - Mensaje PKCS#7

Protección decomunicaciones

Page 5: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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”]

¿Para qué sirven?

● Proveen un medio de establecer comunicaciones seguras sobre redes públicas o inseguras.

● Utilizan cifrado para proveer confidencialidad, autenticidad e integridad.

Protección decomunicaciones

Page 6: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Redes Privadas Virtuales (VPN)

Objetivos/Casos de Uso comunes:

● Acceso Remoto: Conectar usuarios de forma segura a sus redes empresariales

● Intranet: Vincular sucursales con una red empresarial.

● Extranet: Ampliar la existente infraestructura de red de una organización para incluir socios, proveedores y clientes.

Protección decomunicaciones

Page 7: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Redes Privadas Virtuales (VPN)

Protección decomunicaciones

Page 8: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

● Administración de direcciones: Se debe asignar a los clientes de la VPN las direcciones IP dentro de la red corporativa y asegurar que dichas direcciones se mantengan privadas.

Protección decomunicaciones

Page 9: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Redes Privadas Virtuales (VPN)

Servicios (2):

● 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

Page 10: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 11: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 12: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

IPSec

● AH (Authentication Header) 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 (Encapsulating Security Payload) 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

Page 13: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

IPSec

● Asociaciones de Seguridad (Security Associations - SAs)● Describen exactamente cómo 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, IKE, etc.).● Identificada por:

● Security Parameter Index (SPI)● IP destino● Security protocol Identifier

Protección decomunicaciones

Page 14: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

IPSec

● Base de datos de Asociaciones de Seguridad (Security Association Database, SADB)● 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

Page 15: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 16: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Protección decomunicaciones

Page 17: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Protección decomunicaciones

Page 18: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Protección decomunicaciones

Page 19: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Protección decomunicaciones

Page 20: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

● Basado en Secure Sockets Layer (SSL) desarrollado por Netscape:● 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: 2018. (RFC 8446)

● Implementado sobre TCP proporciona seguridad a protocolos de aplicación como HTTP, SNMP, SIP, etc

● Provee Cifrado y Autenticación (de 1 o ambos extremos) mediantecertificados X.509 (Aunque también es posible utilizar otro tipo decertificados como OpenPGP – RFC 6091, o directamente “Raw Public Keys” – RFC 7250)

Protección decomunicaciones

Page 21: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

● Arquitectura:

● El protocolo TLS Record provee confidencialidad e integridad.

(Change Cipher Spec Protocol en versión 1.3 solo por compatibilidad)

Protección decomunicaciones

TLS Record Protocol

TCP

IP

HandshakeProtocol

AlertProtocol

Change CipherSpec Protocol

Application DataProtocol (HTTP, etc)

Page 22: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

TLS 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 y ensambla bloques de 16384 bytes o menor.● Comprime los datos (opcional)● Aplica un código de autenticación de mensaje (HMAC definido en RFC 2104)● 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

Page 23: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

TLS Record Protocol

● Formato:

Protección decomunicaciones

Fragmento de PlanText posiblemente comprimido

MAC (incluye seq_num + header + fragment)

ContentType

MajorVersion

MinorVersion

Length

Cifrado (Primero se calcula el MAC y luego se cifra)

En Versión 1.3 Major y Minor -> Legacy_record_version

Page 24: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

TLS Record Protocol

● 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 – Obsoleto en 1.3

● 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

Page 25: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Alert 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.

Ver:● https://tools.ietf.org/html/rfc8446#section-6

Protección decomunicaciones

Page 26: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Alert Protocol

Protección decomunicaciones

enum { close_notify(0), unexpected_message(10), bad_record_mac(20), record_overflow(22), handshake_failure(40), bad_certificate(42), unsupported_certificate(43), certificate_revoked(44), certificate_expired(45), certificate_unknown(46), illegal_parameter(47), unknown_ca(48), access_denied(49), decode_error(50), decrypt_error(51), protocol_version(70), insufficient_security(71), internal_error(80), inappropriate_fallback(86), user_canceled(90), missing_extension(109), unsupported_extension(110), unrecognized_name(112), bad_certificate_status_response(113), unknown_psk_identity(115), certificate_required(116), no_application_protocol(120), (255)} AlertDescription;

Page 27: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Change Cipher Spec Protocol(Obsoleto en 1.3)

● 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.

● Es enviado tanto por el cliente como por el servidor durante el handshake, luego que los parámetros de seguridad hayan sido acordados.

Protección decomunicaciones

Page 28: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake 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

Page 29: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake 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 (si se permiten nuevas conexiones conservando la sesión)

Protección decomunicaciones

Page 30: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake Protocol (v1.2)

Protección decomunicaciones

Page 31: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake Protocol (v1.2)

Protección decomunicaciones

Page 32: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake Protocol (v1.3)

Protección decomunicaciones

Key Exchange

Authentication

Server Parameters

Page 33: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Transport Layer Security (TLS) Protocol

Handshake Protocol (v1.3)

Protección decomunicaciones

Con pre shared Keys:

Datos en 0-RTT !!

Page 34: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 35: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

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

Page 36: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

SSH: Transport Layer Protocol

Protección decomunicaciones

Page 37: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

SSH: User autenticacion protocol

Métodos de autenticación:

● RFC 4252:● Clave pública (publickey)● Contraseña (password)● Basada en host (hostbased)

● RFC 4256:● Intercambio de mensajes de autenticación genérico (interactivo)

Protección decomunicaciones

Page 38: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

SSH: Connection Protocol

Tipos de canales:

● Session● X11● Direct-tcp● Forwarded-tcpip

Protección decomunicaciones

Page 39: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

SSH: Connection Protocol

● Direct-tcp:● Un puerto en el host local (cliente que inicia la conexión ssh) es redirigido a un

host y puerto en el lado remoto.● Ejemplo:

● -L [bind_address:]port:host:hostport● # ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com

● Forwarded-tcpip● Un puerto en el host remoto (servidor al que se conecta el cliente ssh) es

redirigido a un host y puerto en el lado local.● Ejemplo:

● -R [bind_address:]port:host:hostport● ssh -R 8080:localhost:80 public.example.com

Protección decomunicaciones

Page 40: Introducción a la seguridad En redes de datos - 2 · Introducción a la seguridad En redes de datos - 2 - 2019 - Laboratorio de REDES ... Algoritmo de Cifrado, algoritmo de hash,

Próxima: Virtualización

Bibliografía:

Cryptography and Network Security - Principles and Practice, Fifth Edition, William Stallings, Prentice Hall. 2011

● https://www.snort.org/● http://insecure.org/● https://gnupg.org/

Bibliografía