Está en la página 1de 9

IPSEC

IPSec autentifica los equipos y cifra los datos para su transmisión entre hosts
en una red o en internet, incluidas las comunicaciones entre estaciones de
trabajo y servidores, y entre servidores. El objetivo principal de IPSec es
proporcionar protección a los paquetes IP. IPSec está basado en un modelo de
seguridad de extremo a extremo, lo que significa que los únicos hosts que tienen
que conocer la protección de IPSec son el que envía y el que recibe. Cada
equipo controla la seguridad por sí mismo en su extremo, bajo la hipótesis de
que el medio por el que se establece la comunicación no es seguro.

Funciona en dos modos

Modo Transporte

Proporcionar seguridad de (extremo a extremo) del tráfico de paquetes, en el


que los ordenadores de los extremos finales realizan el procesado de
seguridad. Sólo la carga útil (los datos que se transfieren) del paquete IP es
cifrada y 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, 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).

Modo Tunnel

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 (puerta a puerta, gateway a gateway) en el que la seguridad del tráfico de
paquetes es proporcionada a varias máquinas (incluso a toda la red de área
local) por un único nodo.

Ipsec trabaja con dos protocolos que son:


Autenticación de Cabecera (AH): Permite que las partes que se comunican
mediante IP verifiquen que los datos no se hayan 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.

Tipo de datos AH

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 autenticación. Los
esquemas de encripcion ESP más usados son los siguientes:
-DES: Usa encriptación de 56 bits.
-3DES: Usa una encriptación de 168 bits pasando los datos a través del
algoritmo DES tres veces.

Tipos de datos ESP

Índice de Parámetros de Seguridad (SPI):


Específica el dispositivo receptor, que grupo de protocolos de seguridad está
usando el emisor.

*El número de secuencia se usa para impedir ataques de repetición, al impedir


el procesamiento múltiple de un paquete.

IKE (Internet Key Exchange)


Es el 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 intercambio de claves, hay
dos fases.

Primera Fase: Autenticació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 sí realizan el intercambio de
claves. En la primera fase se establece el IKE SA, es decir, se
definen/acuerdan los parámetros de intercambio, y en la segunda se utilizan
esos parámetros para realizar el intercambio.

En esta primera parte implementaremos IPsec con el protocolo ESP en modo


TRANSPORTE.

Instalación IPsec

Para empezar debemos instalar el paquete que corresponde al IPsec

# apt.get install ipsec-tools

Vamos y modificamos el archivo de configuración que posee Ipsec y


descomentamos las siguientes líneas

Flush;
Spdflush;

#nano /etc/ipsec-tools.conf

Generamos las claves aleatoriamente con la que se conectan los dos host,
utilizaremos llaves de 16 bits o llaves de 128 bits para AH, creamos la llave
para el localhost

#dd if=/dev/random count =16 bs =1 | xxd –ps


De igual manera generamos la llave para el host remoto.

Ahora mostrare como generar una llave de 128 bits

#dd if=/dev/random count=24 bs=1 | xxd –ps

Vamos de Nuevo al archivo de configuración del Ipsec e ingresamos las


Asociaciones de Seguridad (AS) y las Políticas de Seguridad (SP)

#nano /etc/ipsec-tools.conf
Sintaxis:

add (ip-local) (ip-destino) (protocolo) (SPI) (algoritmo) (clave-equipo


local)add (ip-remota) (ip-local) (protocolo) (SPI) (algoritmo) (clave-equipo
remoto).
En la línea add añade una asociación de seguridad a la SAD y requiere las
direcciones IP de origen y destino, el protocolo IPsec (ah), el SPI (0x200) y el
algoritmo. El algoritmo de autenticación se especifica con -A (el de cifrado con -
E). Tras el algoritmo se especifica la clave que anteriormente creamos que
puede estar en formato hexadecimal con el prefijo 0x.

Debían da soporte a los siguientes algoritmos para AH y ESP: hmac-md5 y


hmac-sha, des-cbc y 3des-cbc.
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 ah/transport//require;


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

La línea 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 ah/transport//require;


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

por este:
spdadd 192.168.1.148 192.168.1.124 any -P in ipsec ah/transport//require;
spdadd 192.168.1.124 192.168.1.148 any -P out ipsec ah/transport//require;

Ahora mostrare como debe quedar el archivo de configuración del Ipsec.

#nano /etc/ipsec-tools.conf

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
Instalamos tcpdump para capturar los paquetes, para visualizar el
funcionamiento de Ipsec

#apt-get install tcpdump

hora hacemos la prueba para saber si la configuración fue la adecuada para


Ipsec con AH en modo transporte:

#ping 192.168.1.48 | tcpdump |grep ESP


Podemos ver como no muestra el protocolo ESPen la comunicación.