Está en la página 1de 23

Curso 2022/23

Virtual Private Network - OpenVPN (25 de Marzo de 2023)


Dr. Rafael Ceballos Guerrero
ceball@us.es – http://www.idea.us.es
Índice
 OpenVPN
 Introducción
 Características
 Vulnerabilidades conocidas
 VPN en Disp. Móviles
 VPN Web SSL y Personales
 Taller práctico

 Dr. Rafael Ceballos Guerrero


 Miembro del Equipo de Trabajo Grupo de
investigación IDEA www.idea.us.es
 Departamento de Lenguajes y Sistemas
Informáticos. Escuela Técnica Superior de
Ingeniería Informática. Universidad de Sevilla

2
OpenVPN
 Comparativas protocolos VPN
 Existen varios servicios que nos permite crear túneles
seguros en GNU/Linux
 OpenVPN: Es una solución basada en el User space que
es mas portable y fácil de configurar y la conectividad se
basa en software: openSSL
 Conectividad punto-a-punto con validación, jerárquica de
usuarios,
 Resulta una muy buena opción en tecnologías de redes
inalámbricas y soporta una amplia configuración, entre ellas
balanceo de cargas. http://www.openvpn.net/

3
OpenVPN
 Sirve para otros sistemas Operativos: Windows y Mac Os
 Permite establecer túneles de nivel 2 o 3 sobre
UDP(recomendado) o TCP
 Garantiza confidencialidad, autenticidad e integridad
 Emplea interfaces tun o tap
 TUN: El controlador TUN emula un dispositivo punto a punto,
es utilizado para crear túneles virtuales operando con el
protocolo IP. Se puede encapsular todos los paquetes que se
transporten a través de él como datagramas TCP o UDP
 TAP: Simula una interfaz de red Ethernet, más comúnmente
conocido como modo puente o bridge, estos túneles virtuales
encapsulan directamente paquetes ethernet. Pueden
conectarse a un mismo servidor y virtualmente formar parte
de la red principal

4
OpenVPN
 OpenVPN 2.0 amplia las capacidades de OpenVPN 1.x
permite que múltiples clientes puedan conectarse al
proceso servidor de VPN mediante un puerto TCP o UDP.
 Punto a Punto: Conexión segura entre dos equipos
 Punto a Multipunto: Permite conectar varios equipos al
servidor OpenVPN y redirigir las peticiones remotas a la
red interna
 Modo Puente: Cuando se establece una conexión segura
entre dos subredes separadas

5
OpenVPN
 Autenticación con VPN
 Muchos creen que lo fundamental en la seguridad de VPN es el
cifrado, pero el mayor problema es la autenticación.
 Autenticación en el contexto VPN implica “firmar” cada
paquete con un hash seguro, de tal forma que el receptor
puede probar la fuente legítima.
 OpenVPN (también IPSec) usa la construcción de HMAC para
autenticar los paquetes.
 Pero después de aplicar HMAC, somos aún vulnerables a dos
tipos de ataques activos:
 Replay attacks.

6
OpenVPN
 Problema: Replay Attacks
 Accedemos a un banco mediante VPN y hacemos unas
transferencias monetarias.
 Mediante el timing analysis, accedemos a los paquetes cifrados
que representan las transferencias monetarias.
 Se podría hacer spam de estas transferencias sin conocer el
algoritmo de cifrado, mientras el banco no tenga protección de
replicación.
 Solución: Incorporar en cada paquete un ID único o
un sello de tiempo antes de firmarlo.

7
OpenVPN.
Vulnerabilidades de OpenSSL

http://www.cvedetails.com/vendor/217/Openssl.html

8
OpenVPN.
Vulnerab. por Protocolos e Implementaciones
 https://www.openssl.org/news/vulnerabilities.html#y2017
 Freak Attack: (CVE-2015-0204 Marzo 2015),
vulnerabilidad relacionada con el protocolo SSL/TLS
 Permite al atacante interceptar y modificar
transmisiones entre clientes y servidores vulnerables y
forzarlos a usar cifrado débil.
 Son vulnerables servidores que aceptan cipher-suite
RSA_EXPORT. Algunos ejemplos
https://freakattack.com/#alexa
 Se elimina la vulnerabilidad con el Upgrade de OpenSSL
version 1.02
 Los clientes VPN también deben comprobarse las cipher-
suite que ofrecen. Se pueden comprobar en:
 https://freakattack.com/clienttest.html
9
Taller práctico

¿Empezamos a
trabajar con
OpenVPN?

16
SSL/TLS

 Un ciphersuite es un conjunto de algoritmos que permite


establecer una conexión de red Segura
 Key exchange algorithm
 Encryption algorithm
 MAC algorithm
 Ejemplo: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

17
SSL/TLS

 Ciphersuites en TLS1.2. Se forman con 4 partes:


 Key Exchange Algorithms (RSA, DH, ECDH, DHE, ECDHE,
PSK): Intercambio de claves en el handshake
 Authentication/Digital Signature Algorithm (RSA, ECDSA,
DSA): para identificar al servidor/cliente, tipo de certificado
 Bulk Encryption Algorithms (AES, CHACHA20, Camellia,
ARIA): algoritmo de cifrado simetrico
 Message Authentication Code Algorithms (SHA-256,
POLY1305): algoritmo MAC (hashing)

18
SSL/TLS

 Ejemplo TLS1.2
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 ECDHE indicates the key exchange algorithm
 RSA authentication mechanism during the handshake
 AES session cipher
 128 session encryption key size (bits) for cipher
 GCM type of encryption (cipher-block dependency and additional
options).
 SHA (SHA2)hash function. Message Authentication Algorithm
 256 Digest size (bits)

19
SSL/TLS
 Ciphersuites en TLS1.3
 Solo hay 5 ciphersuites (todos cifrados simetricos son AEAD
Cipher Mode)
 TLS_AES_256_GCM_SHA384
 TLS_CHACHA20_POLY1305_SHA256
 TLS_AES_128_GCM_SHA256
 TLS_AES_128_CCM_8_SHA256
 TLS_AES_128_CCM_SHA256
 El algoritmo para certificados debe ser RSA o ECDSA
 El algoritmo para el intercambio debe ser DHE o ECDHE
 Los cipher suites se nombran combinando dos partes:
 Bulk Encryption Algorithms (AES, CHACHA20)
 MAC Algorithms
20
SSL/TLS

 Handshake

21
SSL/TLS
 Ciphersuites en TLS1.3
 Tipos de certificados: RSA (PKCS#1) o ECDSA/EdDSA
 ECDSA/EdDSA: Las curvas elipticas permiten misma seguridad
con claves más pequeñas y menos complejidad de calculo
 ECDSA: secp384r1, secp521r1, P-256
 EdDSA: ED25519, ED448
 Las firmas y claves de EdDSA (utiliza las llamadas curvas elípticas
de Edwards) son computacionalmente menos costosas que las de
ECDSA. Además ambos elementos en EdDSA son más pequeños
en tamaño que su contraparte ECDSA. En ECDSA para firmar hay
parámetros que deben ser aleatorios, si se usa siempre el mismo o
son predecibles, la clave privada se podría descubrir.
 Key exchange mechanism: DHE o ECDHE (como DHE pero
basado en algebraic curves para generar las claves)
 Con RSA o ECDSA/EdDSA se pude usar DHE o ECDHE
22
Taller práctico

¿Seguimos
trabajando con
OpenVPN?

23
VPN en Dispositivos Móviles
 Con una VPN podremos utilizar redes WiFi abiertas desde
nuestro smartphone
 Configuración de VPN Cliente en sistemas Android
 Activar la Wifi en su dispositivo y conéctese a Internet a
través de su proveedor

Ajustes de VPN

24
VPN en Dispositivos Móviles
 Open-VPN

25
Taller práctico

¿Seguimos
trabajando con
OpenVPN?

28
VPN Personales
 Interés particular por proteger tu privacidad
(anonimización de tus acciones para tu ISP y otros
sitios)

Redes
Públicas
ISP

Proxy Seguro
o VPN Personal Atención con el
throughput, SLA
para estos
dispositivos
29
VPN Personales
 Protege de snoopers en Wi-Fi redes públicas, hoteles,
aerpuertos, oficinas corporativas.
 Trabaja en PC y Mac, incluyendo los sistemas operativos
más recientes.
 Accede a contenidos privados sin censura; firewalls bypass.
 En países con conexiones Internet controladas, puede ser
ilegal el uso de VPN personales para acceder a Internet.
 Usar VPN Personal con tu móvil asegura la transmisión
de datos, pero el proveedor telefónico guarda todavía tu
localización por el punto al que te conectas.
 A VPN ayuda a que tu información se transmita segura,
pero no asegura la información en la máquina del cliente
o en el servidor remoto.

30
Webgrafía
 OpenVPN
 https://openvpn.net/
 https://openvpn.net/community/
 https://openvpn.net/community-resources/

 OpenSSL
 https://www.openssl.org/

 EasyRSA
 https://github.com/OpenVPN/easy-rsa

31

También podría gustarte