IPSEC
IPSEC
Es un estándar IETF (RFC 2401-2412) que define cómo una VPN se puede configurar utilizando el
protocolo de direccionamiento IP.
No está obligado a ningún tipo de: cifrado específico, autenticación, algoritmos de seguridad, o
tecnología Clave. Es un marco de estándares abiertos que especifica normas para las comunicaciones
seguras, se basa en algoritmos existentes para implementar la encriptación, autenticación e
intercambio de claves.
Funciona en la capa de red, protegiendo y autenticando los paquetes IP entre los dispositivos IPsec
que participan. Como resultado, IPsec puede proteger prácticamente todo el tráfico de aplicación,
porque la protección se puede implementar de la capa 4 a la capa 7.
Todas las implementaciones de IPSec tienen un texto-plano en la cabecera de capa 3, así que no se
tiene problemas con el enrutamiento.
IPSec funciona sobre todos los protocolos de capa 2, como Ethernet, ATM, Frame Relay, Synchronous
Data Link Control (SDLC) y High-Level Data Link Control (HDLC).
TOPOLOGIA DE IPSEC
ESTRUCTURA DE IPSEC
Consta de 5 bloques:
El primero representa el protocolo IPsec. Las opciones incluyen ESP o AH.
La segunda representa el tipo de confidencialidad a cabo utilizando un algoritmo de cifrado como: DES, 3DES, AES,
o SEAL. La elección depende del nivel de seguridad requerido.
El tercero representa la integridad que puede ser implementada utilizando MD5 o SHA.
La cuarta representa cómo se establece la clave secreta compartida. Los dos métodos son precompartida o firma
digital utilizando RSA.
El último grupo representa el algoritmo de DH. Hay cuatro distintos algoritmos de intercambio de clave DH para
poder elegir entre ellos estan DH Grupo 1 (DH1), DH Grupo 2 (DH2), DH Grupo 5 (DH5), y DH Grupo 7
(DH7). El tipo de grupo seleccionado depende de las necesidades específicas.
ESTRUCTURA DE IPSEC
IPsec proporciona la estructura, y el administrador elige los algoritmos que se utilizan para implementar los servicios de
seguridad
IPsec puede asegurar un camino entre un par de puertas de enlace, un par de ordenadores, o una puerta de enlace y de
acogida.
Utilizando la estructura de IPsec, IPsec proporciona las funciones esenciales de seguridad:
Confidencialidad - IPsec garantiza la confidencialidad mediante el uso de cifrado.
Integridad - IPsec garantiza que los datos llegan sin cambios en el destino utilizando un algoritmo de hash como MD5 o SHA.
Autentificación - IPsec utiliza Internet Key Exchange (IKE) para autenticar de forma independiente usuarios y dispositivos que
pueden llevar a cabo la comunicación. IKE utiliza varios tipos de autenticación, incluyendo nombre de usuario y contraseña,
contraseña de un solo tiempo, biometría, claves precompartidas (PSKs), y certificados digitales.
Intercambio seguro de claves - IPsec utiliza el algoritmo de DH para proporcionar un método de intercambio de claves públicas
de dos compañeros para establecer una clave secreta compartida.
TOPOLOGÍAS VPNS IPSEC
IMPLEMENTACIÓN VPNS IPSEC
FUNCIONES ESENCIALES DE SEGURIDAD
Confidencialidad
La confidencialidad se logra mediante la encriptación del tráfico mientras
viaja a través de la VPN.
El grado de seguridad depende de la longitud de la clave del algoritmo de
cifrado. Si alguien intenta hackear la clave a través de un ataque de fuerza
bruta, el número de posibilidades para intentar es una función que dependerá
de longitud de la clave. El tiempo para procesar todas las posibilidades esta
en función de la potencia de los ordenadores del dispositivo de ataque.
Cuanto más corta sea la clave, más fácil es romper. Una clave de 64 bits
puede tomar aproximadamente un año para romper con un equipo
relativamente sofisticado. Una clave de 128 bits con la misma máquina puede
tener más o menos 10 ^ 19 años para descifrar.
Algoritmos de cifrado y longitudes de clave que se usan sobre la VPN:
DES - Utiliza una clave de 56 bits, asegurando un cifrado de alto
rendimiento. DES es un criptosistema de clave simétrica.
3DES - Una variante del DES de 56 bits. 3DES usa tres independientes
claves de cifrado de 56-bit por bloque de 64 bits, proporcionando una fuerza
de encriptación significativamente más fuerte sobre DES. 3DES es un
sistema de cifrado de clave simétrica.
AES - Proporciona una mayor seguridad que DES y es computacionalmente
más eficiente que 3DES. AES ofrece tres diferentes longitudes de clave: 128
bits, 192 bits y 256 bits. AES es un sistema de cifrado de clave simétrica.
Software-Optimizado Algoritmo de cifrado (SEAL) - Un cifrado de
flujo desarrollado en 1993 por Phillip Rogaway y Don Calderero, que utiliza
una clave de 160-bits. SEAL es un sistema de cifrado de clave simétrica.
FUNCIONES ESENCIALES DE SEGURIDAD
Integridad
Un método para proveer datos íntegros es necesario para garantizar
que el contenido no haya sido alterado. Códigos de autenticación de
mensajes hash (HMAC) es un algoritmo de integridad de datos que
garantiza la integridad del mensaje mediante un valor hash. En el
dispositivo local, el mensaje y una clave secreta compartida se
procesan a través de un algoritmo de hash, lo que produce un valor
hash. Este valor se añade al mensaje y el mensaje se envía a través de
la red. En el dispositivo remoto, el valor de hash se vuelve a calcular y
se compara con el valor hash enviado. Si el hash del transmisor
coincide con el hash recibido, se verifica la integridad del mensaje.
Pero, si no coinciden, el mensaje fue alterado y este se invalida.
Hay dos algoritmos HMAC común:
HMAC-Message Digest 5 (HMAC-MD5) - Utiliza clave secreta
compartida de 128 bits. La longitud variable del mensaje y los 128 bits
de la clave secreta compartida se combinan y se ejecuta a través del
algoritmo hash HMAC-MD5. La salida es un hash de 128 bits.
HMAC-Secure Hash Algorithm 1 (HMAC-SHA-1) - Utilización una
clave de 160 bits. La longitud variable del mensaje y los 160-bits de la
clave secreta compartida se combinan y se ejecuta a través del
algoritmo de hash HMAC-SHA-1. La salida es un hash de 160 bits.
HMAC-SHA-1 es considerado criptográficamente más fuerte que el
HMAC-MD5. Este se recomienda cuando la seguridad es ligeramente
importante.
FUNCIONES ESENCIALES DE SEGURIDAD
FUNCIONES ESENCIALES DE SEGURIDAD
Autenticación
El dispositivo en el otro extremo del túnel VPN debe ser autenticado
antes para considerar la ruta de comunicación segura.
En la Edad Media, un sello garantizaba la autenticidad de un documento.
En tiempos modernos, un documento suscrito ante un notario con su
sello y firma. En la era electrónica, un documento es firmado usando la
clave privada de cifrado del remitente llamado firma digital. Una firma es
autenticada descifrando la firma con la clave pública del remitente.
Hay dos métodos principales para la configuración de autenticación de
los pares.
Claves Pre compartidas (PSKs) - Un valor de la clave secreta pre-
compartida es ingresado en cada par de forma manual y se utiliza para
autenticar a los pares. En cada extremo, la PSK se combina con otra
información que forma la clave de autenticación. Cada par debe
autenticar su par opuesto antes de que el túnel se considere seguro. Las
Claves pre-compartidas son fáciles de configurar manualmente, pero no
son muy escalables, porque cada IPsec debe estar previamente
configurado con la clave compartida en cada otra pareja con el cual esta
quiera comunicarse.
Firmas RSA - El intercambio de certificados digitales autentica los pares.
El dispositivo local deriva un hash y lo cifra con su clave privada. El hash
cifrado se adjunta al mensaje y se envía al extremo remoto y actúa
como una firma. En el extremo remoto, el hash cifrado se descifra
utilizando la clave pública del local final. Si el hash descifrado encaja, la
firma es auténtica. Cada par debe autenticar su par opuesto antes de
que el túnel sea considera seguro.
FUNCIONES ESENCIALES DE SEGURIDAD
Es posible utilizar el correo electrónico, un mensajero o el correo postal
nocturno, para enviar las claves secretas compartidas a los administradores
de los dispositivos. Pero el método más fácil de intercambio de claves es el
método de intercambio de claves públicas entre los dispositivos de cifrado y
descifrado.
El Intercambio de claves Diffie-Hellman (DH) es un método de intercambio
de claves públicas que proporciona un método para establecer una clave
pública secreta entre dos pares que sólo ellos conocen, incluso cuando se
comuniquen a través de un canal no seguro.
Las variaciones del algoritmo de intercambio de claves DH son conocidas
como grupos DH. Existen cuatro grupos DH: 1, 2, 5 y 7.
Los grupos DH 1, 2 y 5 soportan exponenciación sobre un módulo primo
con un tamaño de clave de 768 bits, 1024 bits y 1536 bits, respectivamente.
Los clientes Cisco 3000 soportan los grupos DH 1, 2 y 5. El cifrado DES y
3DES soportan los grupos DH 1 y 2.
El cifrado AES soporta los grupos DH 2 y 5.
El cliente Certicom movianVPN soporta el grupo 7.
El grupo 7 soporta criptografía de curva elípt
[Link] ica (Elliptical Curve Cryptography - ECC),
la cual reduce el tiempo necesario para generar las claves.
Durante la configuración del túnel, los pares VPN negocian qué grupo DH
utilizarán.
PROTOCOLOS DE SEGURIDAD IPSEC
IPSec es una estructura de estándares abiertos.
IPsec detalla el envío seguro de las comunicaciones, pero se basa en
algoritmos existentes.
Las dos principales Estructuras del protocolo IPsec son AH y ESP.
La elección de la AH o ESP, establece que otros bloques de construcción
están disponibles::
Authentication Header (AH) - AH, que es el protocolo IP 51, es el
protocolo apropiado a utilizar cuando no se requiere o no se permite la
confidencialidad. Asegura que el origen de los datos es R1 o R2 y verifica
que los datos no han sido modificados durante la transmisión. AH no
provee confidencialidad de datos (cifrado) de los [Link] el texto
se transporta sin cifrar. Si se utiliza únicamente el protocolo AH, se
provee una protección débil.
Encapsulating Security Payload (ESP) - ESP, que es el protocolo IP 50,
puede proveer confidencialidad y autenticación. Proporciona
confidencialidad ejecutando el cifrado de los paquetes IP. El cifrado de
estos paquetes resguarda los datos y la identidad tanto del origen como
del destino. ESP provee autenticación para el paquete IP interno y el
encabezado ESP. La autenticación proporciona la autenticidad del origen
de los datos y la integridad de los mismos. Aunque tanto el cifrado como
la autenticación son opcionales en ESP, debe seleccionarse uno como
mínimo.
PROTOCOLOS DE SEGURIDAD IPSEC
Cabecera de Autenticación (AH)
AH logra autenticidad mediante la aplicación de una clave hash unidireccional al
paquete, para crear un hash o resumen del mensaje. El hash se combina con el
texto y se transmite. El receptor detecta cambios en cualquier parte del paquete
que se producen durante el tránsito al realizar la misma función hash
unidireccional en el paquete recibido y comparar el resultado con el valor resumen
del mensaje que el emisor suministra. El hecho de que la función hash
unidireccional implique también una clave secreta compartida entre los dos
sistemas significa que la autenticidad está garantizada.
La función de AH se aplica a todo el paquete, a excepción de cualquier campo
variable de la cabecera IP que cambia al transitar. Por ejemplo, el Campo Time to
Live (TTL) el cual es modificado por los routers a lo largo de la ruta de
transmisión por lo cual es un campos variables.
El proceso de AH se produce en este orden:
1. 1. El encabezado IP y datos de carga realizan el hash con la clave secreta
compartida.
2. 2. El hash construye una nueva cabecera AH, que se inserta en el paquete original.
3. 3. El nuevo paquete se transmite al router par IPsec.
4. 4. El router par divide la cabecera IP y los datos de carga utilizando la clave
secreta compartida, extrae el hash de transmisión de la cabecera AH, y compara
los dos valores hash.
Los hash deben coincidir exactamente. Si se cambia un bit en el paquete de
transmisión, al producir los hash harán cambiar los paquetes recibidos y la
cabecera AH no coincidirán.
AH soporta los algoritmos HMAC-MD5 y HMAC-SHA-1. AH
PROTOCOLOS DE SEGURIDAD IPSEC
ESP proporciona confidencialidad mediante la encriptación de la carga útil. Soporta una variedad de
algoritmos de cifrado simétrico. Si el ESP es seleccionado como el protocolo IPsec, un algoritmo de
cifrado también debe ser seleccionado. El algoritmo por defecto para IPsec es DES de 56 bits. Los
productos Cisco también soportan el uso de 3DES, AES y el SEAL para un cifrado más seguro.
ESP también puede proporcionar integridad y autenticación. En primer lugar, se cifra la carga útil. A
continuación, la carga útil encriptada es enviada a través de un algoritmo de hash, HMAC-MD5 o
HMACSHA-1. El hash proporciona autenticación e integridad de datos para la carga de datos.
Opcionalmente, el ESP también puede hacer valer la protección anti-replay.
La protección anti-replay verifica que cada paquete es único y no está duplicada. Esta protección
garantiza que un hacker no pueda interceptar los paquetes e insertar paquetes cambiados en el flujo de
datos. anti-replay trabaja contra la repetición al hacer el seguimiento de los números de secuencia de
paquetes y el uso de una ventana deslizante en el extremo de destino. Cuando se establece una
conexión entre un origen y destino, sus contadores se inicializan en cero. Cada vez que se envía un
paquete, un número de secuencia se anexa al paquete de la fuente. El destino utiliza la ventana
deslizante para determinar la secuencia de números que se espera. El destino comprueba que el número
de secuencia del paquete no se duplica y se recibe en el orden correcto. Por ejemplo, si la ventana
deslizante sobre el destino se establece en uno, el destino está a la espera de recibir el paquete con el
número de secuencia uno. Una vez recibido, se mueve la ventana corrediza a dos. Cuando la detección
de un paquete se repite, como el destino recibe un segundo paquete con el número de secuencia uno,
un mensaje de error es enviado, el paquete repetido se descarta, y se registra el suceso.
Anti-replay es típicamente usado en ESP, pero también es soportado en AH.
Los datos originales están bien protegidos por ESP, porque se encripta todo el datagrama IP original y el
resumen ESP. Con autenticación ESP, el datagrama IP encriptado, el resumen, y el encabezado de ESP, se
incluyen en el proceso hashing. Por último, una nueva cabecera IP se une a la carga útil autenticada. La
nueva dirección IP se utiliza para enrutar el paquete a través de Internet.
Cuando se seleccionan tanto la autenticación como el cifrado, el cifrado se realiza en primer lugar. Una
de las razones para este pedido de procesamiento es que facilita la detección rápida y el rechazo de los
paquetes fraudulentos por el dispositivo receptor. Antes de descifrar el paquete, el receptor puede
autenticar los paquetes entrantes. De esta manera, se pueden detectar rápidamente los problemas y
potencialmente reducir el impacto de los ataques de DoS
MODOS DE IPSEC
Modo de transporte
En el modo de transporte, la seguridad se proporciona sólo para la capa
de transporte del modelo OSI y superiores. El Modo de transporte
protege la carga útil del paquete, pero deja la dirección IP original en
texto plano. La dirección IP original se utiliza para dirigir el paquete a
través de Internet.
El modo de transporte ESP se utiliza entre los hosts. El Modo de
transporte funciona bien con GRE (Generic Routing Encapsulation),
porque GRE esconde las direcciones de los dispositivos finales, añadiendo
su propia IP.
El modo de túnel
El modo túnel provee seguridad para el paquete IP original completo. El
paquete IP original se cifra y luego es encapsulado en otro paquete IP. Esto
es conocido como "Cifrado IP en IP". La dirección IP del paquete IP
externo es utilizada para enrutar el paquete a través de Internet.
El modo túnel ESP es utilizado entre el host y un gateway de seguridad o
entre dos gateways de seguridad. Para las aplicaciones "gateway a
gateway", en lugar de cargar IPsec en todas las computadoras de las
oficinas remotas y centrales, es más sencillo ejecutar el cifrado IP en IP y
la encapsulación en los gateways de seguridad.
El modo túnel ESP es utilizado en la aplicación IPsec de acceso remoto.
Una oficina hogareña puede no disponer de un router para realizar el
cifrado y encapsulación IPsec. En este caso, se ejecuta un cliente IPsec en
la PC, el cual realiza la encapsulación y cifrado IPsec. Luego, en la oficina
corporativa, el router es quien desencapsula y descifra el paquete.
INTERCAMBIO DE CLAVES EN INTERNET
La solución VPN IPSec negocia los parámetros de intercambio de claves, se establece una clave compartida, autentica el par, y negocia los
parámetros de codificación.
Los parámetros de negociación entre dos dispositivos se conocen como una asociación de seguridad (SA).
Asociaciones de Seguridad
Un SA es un componente básico de IPsec. Las asociaciones de seguridad se mantienen dentro de una base de datos SA (SADB), que es
establecido por cada dispositivo.
Una VPN tiene entradas SA definiendo los parámetros de encriptación IPsec, así como entradas SA para definir los parámetros de intercambio de
claves.
IPSec utiliza el Internet Key Exchange (IKE) para establecer el proceso de intercambio de claves. En lugar de transmitir las claves directamente a
través de una red, calcula las claves IKE compartida basada en el intercambio de una serie de paquetes de datos. Esto inhabilita que un tercero
pueda descifrar las claves, incluso si el tercero logra capturar todos los datos intercambiados que se utiliza para calcular las claves.
IKE utiliza el puerto UDP 500 para intercambiar la información IKE entre los gateways de seguridad. Los paquetes del puerto UDP 500 deben
estar permitidos en todas las interfaces IP involucradas en la conexión de ambos extremos.
IKE está definido en la RFC2409. Se trata de un protocolo híbrido, que combina el protocolo ISAKMP (Internet Security Association and Key
Management Protocol) y los métodos de intercambio de claves Oakley y Skeme. ISAKMP define el formato del mensaje, la mecánica del protocolo
de intercambio de claves y el proceso de negociación para construir un SA para IPsec. ISAKMP no define cómo se administran o comparten las
claves entre los pares IPsec. Oakley y Skeme tienen cinco grupos de claves definidos. De estos grupos, los routers Cisco soportan el Grupo 1
(claves de 768 bits), Grupo 2 (claves de 1024 bits) y Grupo 5 (claves de 1536 bits).
IKE combina estos protocolos para establecer conexiones IPsec seguras entre los dispositivos. Establece las SAs acordadas entre los pares. Cada
par debe tener idénticos ISAKMP y parámetros IPsec, para establecer una VPN operacional y segura.
FUNCIONAMIENTO DE IKE
Para establecer un canal de
comunicación segura entre dos pares, el
protocolo IKE ejecuta dos fases:
Fase 1 - Dos pares IPsec realizan la
negociación inicial de SAs. El propósito
básico de la fase 1 es negociar los
conjuntos de políticas IKE, autenticar a
los pares y establecer un canal seguro
entre ellos. Puede implementarse de un
modo principal (contacto inicial, más
largo) o de un modo agresivo (luego del
contacto inicial).
Fase 2 - EL proceso IKE ISAKMP negocia
los SAs en nombre de IPsec. Puede ser
negociado en un modo rápido.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Una VPN es un canal de comunicación que se utiliza para formar
una conexión lógica entre dos extremos de una red pública. La
VPN no necesariamente incluye el cifrado o la autenticación. La
VPN IPSec se basa en el protocolo IKE para establecer
comunicaciones seguras.
La negociación VPN IPsec implica varios pasos, que incluyen la Fase
1 y Fase 2 de la negociación IKE.
1. Un túnel IPSec se inicia cuando el host A envía tráfico
"interesante" al host B. El tráfico se considera de interés cuando
este viaja entre pares IPsec y cumple con los criterios que se
define en la lista de control de acceso (ACL) crypto.
2. La Fase 1 IKE comienza. El par IPsec negocian el establecimiento
de las políticas de seguridad IKE (SA). Cuando los pares se
autentican, un túnel seguro es creado usando Internet Security
Association and Key Management Protocol (ISAKMP).
3. La Fase 2 IKE comienza. Los pares de IPsec utilizan el túnel seguro
autenticado para negociar IPsec SA transforms. La negociación de
la política común determina cómo se establece el túnel IPSec.
El túnel IPSec se crea y se transfieren datos entre el par IPsec
basado en los parámetros de IPSec.
El túnel IPSec termina cuando la SA IPsec se suprimen o cuando
expira su vida útil.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Se deben completarse algunas tareas
básicas para configurar una VPN IPsec de
sitio a sitio.
Tarea 1. Asegurar que las ACLs
configuradas en la Interfaz son
compatibles con la configuración IPsec.
Usualmente existen restricciones en las
interfaces utilizadas por el tráfico VPN.
Por ejemplo, bloquear todo el tráfico que
no sea IPsec o IKE.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Tarea 2. Crear una política ISAKMP
para determinar los parámetros
ISAKMP que serán utilizados para
establecer el túnel.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Para el cifrado se requieren PSKs. Dado un
extremo cualquiera, puede configurarse la misma
clave para ser compartida entre múltiples pares
remotos. Una solución más segura consiste en
especificar diferentes claves para compartir entre
diferentes pares de extremos.
Configurar una PSK con el comando de
configuración global crypto isakmp key. Esta clave
debe estar configurada si el comando
authentication pre-share fue configurado en la
política ISAKMP.
crypto isakmp key clave address peer-address
crypto isakmp key clave hostname nombre de host
Por defecto, la identidad ISAKMP utiliza la dirección
IP. Para utilizar el parámetro nombre de host la
identidad ISAKMP debe ser configurada con el
nombre del host, utilizando el comando de
configuración global crypto isakmp identity
hostname. Además, debe existir un DNS accesible
para resolver el nombre del host.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Tarea 3. Definir el conjunto de
transformación IPsec. La definición
de los conjuntos de transformación
define los parámetros que utiliza el
túnel IPsec. Este conjunto puede
incluir los algoritmos de cifrado e
integridad. Se negocian durante la
fase 2 de IKE.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Tarea 4. Crear una crypto ACL. La
crypto ACL define qué tráfico es
enviado a través del túnel IPsec y
protege el proceso IPsec
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Tarea 5. Crear y aplicar un crypto-
map. El crypto-map agrupa los
parámetros configurados previamente
y define los dispositivos IPsec. Este se
aplica a la interfaz de salida del
dispositivo VPN.
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
IMPLEMENTACION DE VPNS IPSEC SITIO A SITIO CON CLI
Verificar y resolver problemas de la configuracion IPsec
Para ver todos los crypto-maps configurados, utilizar el comando show crypto map. Este comando verifica las
configuraciones y muestra el tiempo de vida de las SAs. El comando show running-config también revela muchos de
estos datos.
Utilizar el comando show crypto isakmp policy para mostrar las políticas IKE configuradas y las políticas IKE por
defecto. Este comando resulta útil porque revela toda la información de configuración ISAKMP (IKE).
Utilizar el comando show crypto ipsec transform-set para mostrar todos los conjuntos de transformación configurados.
Dado que los conjuntos de transformación determinan el nivel de protección con el que los datos son transmitidos a
través del túnel, es importante verificar la fortaleza de la política de protección IPsec.