PDF de programación - Teoria Tema 2: Certificats TLS/SSL i OpenVPN

Imágen de pdf Teoria Tema 2: Certificats TLS/SSL i OpenVPN

Teoria Tema 2: Certificats TLS/SSL i OpenVPNgráfica de visualizaciones

Publicado el 23 de Febrero del 2021
516 visualizaciones desde el 23 de Febrero del 2021
91,2 KB
6 paginas
Creado hace 13a (11/11/2010)
Teoria Tema 2: Certificats TLS/SSL i OpenVPN

*Concepto de VPN:

Una VPN és una “Virtual Private Network”. Utilitzant un medi públic i obert, la VPN crea un túnel privat

(“private”) entre un servidor/xarxa confiable i un client/xarxa extern, de manera que aquest sembli (“virtual”) que formi
part de la mateixa xarxa privada que la del servidor/xarxa confiable. És a dir, ofereix seguretat i confidencialitat al tràfic
d'informació sensible al llarg de xarxes desprotegides com ara Internet. A la VPN hi intervenen conceptes com
autenticació i encriptació, que s'han de negociar entre les dues parts, i que asseguren la confidencialitat i integritat de les
dades que viatgen pel túnel.

Una VPN se puede hacer desde un cliente (un portátil, por ejemplo), hacia un servidor corporativo (el cual,

opcionalmente, puede dar acceso al resto de recursos de su LAN y puede permitir o no la conexión simultánea de
múltiples clientes), o bien se puede hacer entre dos dispositivos iguales -normalmente dos routers-, los cuales tendrán
cada uno de ellos una LAN por detrás, (permitiendo en este caso un túnel seguro entre dos redes, como si fueran una
sola).

En ambos casos, la idea es generar en ambos extremos una interfície virtual (tunX), la cual tendrá una ip
privada pertenecientes a una red diferente de las que pudieran existir ya en ambos lados de la comunicación (en las
interfícies reales). Las interfícies tunX serán las encargadas de comunicarse entre ellas creando el túnel, mientras que
las interfícies reales continuarán manteniendo en paralelo su comunicación de forma no segura.

Aunque se hablará de cliente y servidor, para las VPNs no existen dichos conceptos, ya que ambos extremos

son iguales. No obstante, su usará esta terminología porque cuando se utilizan certificados TLS sí que hay una máquina
cliente y otra servidora.

Tipos de VPN:

*IPSec (capa 3): The name given to a number of data communications protocols designed to authenticate and
encrypt (offering confidenciality,integrity and repetition protection) VPN data to protect it from unauthorized viewing
or modification as it is transmitted across a network. IPSec data integrity is usually provided by hashed message
authentication code (HMAC) methods like MD5 or SHA-1 (al igual que OpenVPN), and to encrypt data it can use
AES,etc. IPSec es dependiente de la infrastructura de módulos del kernel del sistema operativo.

Tiene dos métodos de trabajo principales: el modo tunnel, donde todos los paquetes Ip son encapsulados en un
nuevo paquete y enviados a través del túnel siendo desempaquetados en el otro extremo (se protegen las direcciones Ip
del emisor y receptor además de los metadatos del paquete); o el modo transporte, donde sólo la carga útil de la sección
de datos es cifrada y encapsulada.

*AH: One of two IPSec security protocols. Provides authentication and antireplay services, without

encryption, by adding its own security header to the original IP packet

*ESP: The other IPSec security protocol. Provides authentication, encryption, and antireplay services.
It encrypts the data within the packet and then adds its own security header to the original IP packet. Because
ESP headers don't authenticate the outer IP header as AH headers do, AH and an ESP are often used in
combination with each other
*PPTP (capa 2): protocolo inseguro propuesto por Microsoft. Encapsula datagramas de cualquier protocolo de
red en datagramas IP usando una versión extendida del protocolo GRE (permitiendo así que cualquier protocolo pueda
ser enrutado a través de una red IP, como Internet). Normalmente funciona conectándose via PPP a un servidor RAS
que ofrece el servicio PPTP. Para la autentificación, PPTP tiene dos opciones: CHAP ó PAP (texto plano). La conexión
de control se realiza en el puerto Tcp 1723.

*L2TP (capa 2): protocolo evolución de L2F propuesto por Cisco. Encapsula tramas PPP sobre cualquier

medio, no necesariamente redes IP. En el caso de IP se usa Udp, puerto 1701.Permite el uso de conexiones simultáneas.
Como no ofrece mecanismos de seguridad, para su uso deberá ser combinado con otros mecanismos generalmente de
capa 3.

*OpenVPN (capa 7) : basado en SSL/TLS

*Túnel sin seguridad mediante OpenVPN:

*En A: openvpn --remote ippubB --dev tun0 --ifconfig ipvirtualA ipvirtualB [--verb 9]
*En B: openvpn --remote ippubA --dev tun0 --ifconfig ipvirtualB ipvirtualA [--verb 9]
*Probar: ping ipvirtualB (en A); ping ipvirtualA (en B)

La comunicación entre A y B ocurre por defecto en el puerto 1194 UDP. Se use en vez de TCP porque UDP es más
fuerte frente ataques DoS y escaneos de puertos (UDP es no conectivo, no fiable, no orientado a conexión).

En vez de “ippubX”, se podría poner el nombre DNS correspondiente.Para servidores caseros en los cuales la ip es
dinámica,se puede utilizar un servicio gratuito de DNS dinámico,como http://www.dyndns.com ó http://www.no-ip.com

Normalmente, las ips virtuales se eligen del rango 10.0.0.0/8, ya que las LANs reales suelen tener el 192.168.0.0/16

*Túnel cifrado con claves estáticas mediante OpenVPN:

*Generate a static key (en A o B, da igual): openvpn --genkey --secret static.key
*Copy the static key to both A and B, over a pre-existing secure channel (ssh, for example).
*En A: openvpn --remote ippubB --dev tun0 --ifconfig ipvirtualA ipvirtualB --secret static.key
*En B: openvpn --remote ippubA --dev tun0 --ifconfig ipvirtualB ipvirtualA --secret static.key
*Asegurarse que el puerto Udp 1194 del servidor esté abierto,y que la interfaz tunX no sea bloqueada en ambo
*Probar el túnel. Por ejemplo, en A se puede hacer un ping: ping ipvirtualB ( y viceversa en B)

La configuración de claves estáticas es la configuración segura más simple, y es ideal para VPNs punto a punto. No
obstante, tiene varios inconvenientes:

*Sólo permite conexiones punto a punto: un cliente, un servidor.
*La clave secreta ha de existir en forma de texto plano en cada extremo VPN
*La clave secreta debe ser intercambiada usando un canal seguro preexistente
*El hackeo de la clave permite el descifrado de no sólo las sesiones futuras sino las pasadas

También se podrían haber utilizado ficheros de configuración (con el parámetro –config /ruta/arxiu de openvpn ...o
incluso escribiendo /ruta/arxiu a secas -si no se especifica ningún parámetro más-). Una vez creada y copiada la clave
(pasos 1 y 2), hacer:

*Fichero configuración A:
dev tun0
remote ippubB
ifconfig ipvirtualA ipvirtualB
secret static.key
#comp-lzo (para usar compresión)

*Fichero configuración B:

dev tun0
remote ippubA
ifconfig ipvirtualB ipvirtualA
secret static.key
#comp-lzo (para usar compresión)

*Probar el túnel de la misma manera.

*Teoría de certificados:

Un certificado digital es un documento digital mediante el cual un tercero confiable (una autoridad de

certificación) garantiza la vinculación entre la identidad de un sujeto o entidad y su clave pública. Puede ser usado, por
ejemplo, para verificar la firma digital de dicha entidad.

Un certificado contiene usualmente, entre otros datos:
*Nombre y datos burocráticos identificativos de la entidad certificada
*Número de serie
*Fecha de expiración
*Copia de la clave pública de la entidad certificada (utilizada para verificar su firma digital)
*Firma digital de la autoridad certificadora (de forma que el receptor pueda verificar que esta última ha

establecido realmente la asociación)

En caso particular, por ejemplo, de un servidor web, el certificado que ofrece a los navegadores cuando un
usuario visita su web garantiza que, durante la comunicación encriptada que realice el navegador gracias a la clave
pública obtenida de este servidor web, dicho servidor es realmente la que dice ser (siempre y cuando dicho certificado
venga firmado por una autoridad de certificación confiable por el cliente). Los navegadores ya vienen de serie con una
lista de firmas reconocidas de varias autoridades de certificación confiables (los llamados “certificados raíz”)...por eso
en muchas páginas seguras no salta ningún popup extraño: porque su certificado fue firmado por una autoridad
reconocida por el navegador. De hecho, el navegador comprueba varias cosas para dar por válida la conexión y
comenzar la comunicación encriptada:

-El certificado obtenido no haya expirado ya
-El certificado obtenido ha sido creado por el mismo servidor web al que se está accediendo
-El certificado está firmado por alguien en el que se confía

Cualquier individuo o institución puede generar certificados digitales y convertirse así en una autoridad de
certificación, pero si no es reconocido por quienes interactúen con el certificado, el valor del mismo es prácticamente
nulo (servirá para hacer pruebas o para un grupo de usuarios que confíen en nuestra máquina). Por ello las autoridades
de certificación deben ser reconocidas como institución certificadoras por la entidad pública competente, de forma que
su firma pueda ser reconocida como fiable, transmitiendo esa fiabilidad a los certificados emitidos por la citada
institución. En España, las entidades que otorgan validez a las autoridades de certificación son la Fàbrica Nacional de
Moneda y Timbre, el Ministerio de Industria, Turismo y Comercio, la Agència Catalana de Certificació, etc

Una autoridad de certificación gratuita es CAcert.org. La mayoría, no obstante, son comerciales: Thawte,

Verisign, RSA, etc

El formato más extendido para certificados digitales es el estándar UIT-T X.509 (son los ficheros con

extensión .crt).

*Túnel con certificados mediante OpenVPN:

Los pasos básicos serán:

1.-Convertirnos en nuestra propia CA (generando los ficheros ca.crt y ca.key, certificado y clave RSA

privada de la CA, respectivamente)

2.-Crear el par certificado/clave privada para el servidor VPN (se crearán los ficheros miserver.crt y

miserver.key). Ahora sí que hablamos de servidor porque éste aceptará múltiples conexiones de diferentes
  • Links de descarga
http://lwp-l.com/pdf18893

Comentarios de: Teoria Tema 2: Certificats TLS/SSL i OpenVPN (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad