CONFIGURACION IPSEC IMPLEMENTADO EL PROTOCOLO ESP EN MODO TRANSPORTE

IPSEC IPsec (abreviatura de Internet Protocol security) es un conjunto de protocolos cuya función es asegurar las comunicaciones sobre el Protocolo de Internet (IP) autenticando y cifrando cada paquete IP en un flujo de datos. IPsec también incluye protocolos para el establecimiento de clave de cifrado. Funciona en dos Modos: En modo transporte, sólo la carga útil (los datos que se transfieren) del paquete IP es cifrada y/o autenticada. El enrutamiento permanece intacto, ya que no se modifica ni se cifra la cabecera IP; sin embargo, cuando se utiliza la cabecera de autenticación (AH), las direcciones IP no pueden ser traducidas, ya que eso invalidaría el hash. Las capas de transporte y aplicación están siempre aseguradas por un hash, de forma que no pueden ser modificadas de ninguna manera (por ejemplo traduciendo los números de puerto TCP y UDP). El modo transporte se utiliza para comunicaciones ordenador a ordenador .

Modo transporte.

En el modo túnel, todo el paquete IP (datos más cabeceras del mensaje) es cifrado y/o autenticado. Debe ser entonces encapsulado en un nuevo paquete IP para que funcione el enrutamiento. El modo túnel se utiliza para comunicaciones red a red (túneles seguros entre routers, p.e. para VPNs) o comunicaciones ordenador a red u ordenador a ordenador sobre Internet. Protocolos IPsec. La familia de protocolos IPsec está formada por dos protocolos: el AH (Authentication Header Cabecera de autenticación) y el ESP (Encapsulated Security Payload - Carga de seguridad encapsulada). Ambos son protocolos IP independientes. AH es el protocolo IP 51 y ESP el protocolo IP 50 (ver /etc/protocols). Autenticación de Cabecera (AH- Authentication Header): Permite que las partes que se comunican mediante IP verifiquen que los datos no se hallan modificado durante la transmisión, y que proceden de la fuente original de la información. El AH proporciona integridad de datos sin conexión, la autenticación de los datos , y brinda protección contra ataques de repetición. El AH añade un bloque de código al paquete de datos que es el resultado de una función de "troceo" (trash) aplicada a todo el paquete. Hay 2 campos importantes en el encabezamiento AH: -El indice de parámetros de seguridad (SPI) especifica el dispositivo receptor, que grupo de protocolos de seguridad esta usando el emisor. -El numero de secuencia se usa para impedir ataques de repetición, al impedir el procesamiento múltiple de un paquete. Encapsulamiento de seguridad en la carga de datos (ESP): Encripta la información para evitar que sea monitoreada por una entidad que no sea digna de confianza. Esta también puede usarse para autenticacion. Los esquemas de encripcion ESP mas usados son los siguientes: -Date Encryption Standard (DES): Usa encriptacion de 56 bits. -Triple DES (3DES): Usa una encriptacion de 168 bits pasando los datos a través del algoritmo DES

Modo Túnel.

tres veces. IKE (Internet Key Exchange) significa intercambio de claves por Internet. En la configuración podemos determinar si en el establecimiento de un túnel VPN queremos utilizar IKE o una configuración manual de las claves. Lo más habitual es utilizar IKE. En una negociación IKE, es decir, en el momento en que los dos dispositivos negocian el intecambio de claves, hay dos fases : • Primera Fase : Autetificación Antes de iniciar el intercambio de claves los dos dispositivos se aseguran que su interlocutor es quién dice ser. • Segunda Fase ; Intercambio de claves Una vez los dispositivos se han autentificado entre si realizan el intercambio de claves. En la primera fase se establece el IKE SA, es decir, se definen/acurdan los parámetros de intercambio, y en la segunda se utilizan esos parámetros para realizar el intercambio. En este manual implementaremos IPsec con el protocolos ESP en modo TRANSPORTE. 1-Para empezar debemos instalar el paquete correspondiente para Ipsec: #apt-get install ipsec-tools

2- Vamos y modificamos el archivo de configuración principal que posee Ipsec y descomentamos las siguientes lineas; flush; spdflush; #nano /etc/ipsec-tools.conf

3- Generamos las claves aleatoriamente con la que trabajaran los 2 hosts, utilizaremos 24 bytes, o sea claves de 192 bits para ESP. Creamos la clave para el host local: # dd if=/dev/random count =24 bs=1| xxd -ps

Creamos la clave para el host remoto: # dd if=/dev/random count =24 bs=1| xxd -ps

4-Editamos el archivo de configuración de Ipsec para ingresar las asociaciones de seguridad (AS) y las (SP) políticas de seguridad: #nano /etc/ipsec-tools.conf
#!/usr/sbin/setkey -f # NOTE: Do not use this file if you use racoon with racoon-tool # utility. racoon-tool will setup SAs and SPDs automatically using # /etc/racoon/racoon-tool.conf configuration. # ## Flush the SAD and SPD # flush; spdflush; ## Some sample SPDs for use racoon # # spdadd 10.10.100.1 10.10.100.2 any -P out ipsec # esp/transport//require; # # spdadd 10.10.100.2 10.10.100.1 any -P in ipsec # esp/transport//require; # #SA (asociaciones de Seguridad) para el equipo local add 192.168.1.148 192.168.1.124 esp 0x201 -E 3des-cbc 0x5fa5f439de1365a7c1d8da89fe8be9b4d18c59b5cddf7589; add 192.168.1.124 192.168.1.148 esp 0x301 -E 3des-cbc 0xdc4cfa884fb09d8ff2b458b49eb21c2829301fdb203cf10f;

#SA (Políticas de Seguridad) para el equipo local spdadd 192.168.1.148 192.168.1.124 any -P out ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P in ipsec esp/transport//require;

Sintaxis: add (ip-local) (ip-destino) (protocolo) (SPI) (algoritmo) (clave-equipo local) add (ip-remota) (ip-local) (protocolo) (SPI) (algoritmo) (clave-equipo remoto) El la linea add añade una asociación de seguridad a la SAD y requiere las direcciones IP de origen y destino, el protocolo IPsec (esp), el SPI (0x200) y el algoritmo. El algoritmo de autenticación se especifica con -E(el de cifrado). Tras el algoritmo se especifica la clave que anteriormente creamos que puede estar en formato hexadecimal con el prefijo 0x. spdadd añade políticas de seguridad a la SPD. Estas políticas definen qué paquetes se protegerán con IPsec y qué protocolos y claves emplear.
spdadd 192.168.1.148 192.168.1.124 any -P out ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P in ipsec esp/transport//require;

La linea requiere las direcciones IP origen y destino de los paquetes a proteger, el protocolo (y puerto) a proteger (any) y la política a emplear (-P). La política especifica la dirección (in/out), la acción a aplicar (ipsec/discard/none), el protocolo (ah/esp/ipcomp), el modo (transport) y el nivel (use/require). Este fichero de configuración debe crearse en los dos extremos que formarán parte de la comunicación Ipsec (en los 2 equipos). Mientras que el listado mostrado funciona sin ningún cambio en el sistema 192.168.1.148 (equipo 1), deberá modificarse ligeramente en 192.168.1.124 (equipo 2) para reflejar el cambio de dirección de los paquetes. La manera más sencilla de hacer esto es intercambiar las direcciones en las políticas de seguridad (en el equipo 2) : reemplazar -P in por -P out y viceversa. El resultado se muestra a continuación: En el segundo equipo cambiar:
spdadd 192.168.1.148 192.168.1.124 any -P out ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P in ipsec esp/transport//require;

por este:

spdadd 192.168.1.148 192.168.1.124 any -P in ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P out ipsec esp/transport//require;

dejo una copia de mi archivo de configuración (equipo local); no olvides cambiar el archivo en el equipo remoto por los anteriores parámetros que mencione: #cat /etc/ipsec-tools.conf
!/usr/sbin/setkey -f # NOTE: Do not use this file if you use racoon with racoon-tool # utility. racoon-tool will setup SAs and SPDs automatically using # /etc/racoon/racoon-tool.conf configuration. # ## Flush the SAD and SPD # flush; spdflush; ## Some sample SPDs for use racoon # # spdadd 10.10.100.1 10.10.100.2 any -P out ipsec # esp/transport//require; #

# spdadd 10.10.100.2 10.10.100.1 any -P in ipsec # esp/transport//require; # #SA (asociaciones de Seguridad) para el equipo local add 192.168.1.148 192.168.1.124 esp 0x201 -E 3des-cbc 0x5fa5f439de1365a7c1d8da89fe8be9b4d18c59b5cddf7589; add 192.168.1.124 192.168.1.148 esp 0x301 -E 3des-cbc 0xdc4cfa884fb09d8ff2b458b49eb21c2829301fdb203cf10f; #SA (Políticas de Seguridad) para el equipo local spdadd 192.168.1.148 192.168.1.124 any -P out ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P in ipsec esp/transport//require;

copia archivo de configuración equipo 2: #cat /etc/ipsec-tools.conf
!/usr/sbin/setkey -f # NOTE: Do not use this file if you use racoon with racoon-tool # utility. racoon-tool will setup SAs and SPDs automatically using # /etc/racoon/racoon-tool.conf configuration. # ## Flush the SAD and SPD # flush; spdflush; ## Some sample SPDs for use racoon # # spdadd 10.10.100.1 10.10.100.2 any -P out ipsec # esp/transport//require; # # spdadd 10.10.100.2 10.10.100.1 any -P in ipsec # esp/transport//require; # #SA (asociaciones de Seguridad) para el equipo local add 192.168.1.148 192.168.1.124 esp 0x201 -E 3des-cbc 0x5fa5f439de1365a7c1d8da89fe8be9b4d18c59b5cddf7589; add 192.168.1.124 192.168.1.148 esp 0x301 -E 3des-cbc 0xdc4cfa884fb09d8ff2b458b49eb21c2829301fdb203cf10f; #SA (Políticas de Seguridad) para el equipo local spdadd 192.168.1.148 192.168.1.124 any -P in ipsec esp/transport//require; spdadd 192.168.1.124 192.168.1.148 any -P out ipsec esp/transport//require;

5-Una vez que el fichero de configuración esté preparado en cada uno de los extremos de la comunicación, puede recargarse Ipsec empleando: # setkey -f /etc/ipsec-tools.conf.

Para comprobar el correcto funcionamiento damos: #setkey -D #setkey -DP

6- Instalamos tcpdump para capturar los paquetes, para visualizar el funcionamiento de Ipsec #apt-get install tcpdump 7- Ahora hacemos las prueba para saber si la configuración fue la adecuada para Ipsec con ESP en modo transporte: #ping 192.168.1.124 |tcpdump |grep ESP

Y podemos ver como no muestra Ipsec con el protocolo ESP en la comunicación.

REFERENCIAS: http://www.ipsec-howto.org/spanish/x257.html http://es.wikipedia.org/wiki/IPsec http://bookalexa.blogspot.com/2008/05/que-es-ipsec.html

Sign up to vote on this title
UsefulNot useful