IPSec
IPSec representa un conjunto de mecanismos de seguridad de
alta calidad basado en claves criptográficas. Proporciona un canal seguro para
los datos a través de la red ofreciendo para ello un control de acceso, así
como una integridad en los datos transmitidos además de mecanismos de
autenticación y confidencialidad. Los servicios IPSec se apoyan sobre el nivel
IP lo que conlleva además un mecanismo de protección para el protocolo IP.
Los
servicios IPSec son llevados a cabo mediante el uso de dos protocolos de
seguridad: Authentication Header (AH) y Encapsulating Security Protocol
(ESP), así como mediante un conjunto protocolos necesarios para la gestión
de llaves criptográficas, llamado IKE(Internet
Key Exchange).
El
protocolo AH proporciona únicamente mecanismos de autenticación. Los datos AH
son insertados entre la cabecera IP y los datos referentes al paquete de nivel
superior (TCP, UDP, ICMP), tal como se muestra en la figura 4.
En la figura 5 se ilustra la estructura del campo AH, cuyos
campos son los siguientes:
·
Next Header
(8 bits): Identifica el tipo de datagrama llevado (ej. TCP).
·
Payload Length (8
bits): Longitud del header AH en múltiplo de 32 bits. El
valor normal es 4 y no 6, ya que por convención se resta 2.
·
Reserved (16
bits): Este camplo es para uso futuro.
·
Security Parameters Index (32 bits): Este
campo identifica a una SA (security association).
·
Sequence Number (32 bits): Es un contador que se incrementa monotonicamente.
· Authentication Data (variable): Contiene el Integrity Check Value (ICV), o MAC, para ese
datagrama
En la figura 5 se ilustra la estructura del campo AH, cuyos
campos son los siguientes:
El protocolo ESP, en cambio, proporciona mecanismos de
autenticación y además de encriptación. ESP hace uso de una amplia variedad de
algoritmos de encriptación entre los cuales cabe destacar DES, 3DES, CAST128 y Blowfish.
Tanto AH
como ESP, dispone de dos modos de uso: modo transporte y modo túnel. En el modo
transporte AH o ESP es insertado entre la cabecera IP y los datos de niveles
superiores (TCP, UDP, ICMP). En el modo túnel en cambio, se añade una nueva
cabecera IP que puede contener direcciones distintas, tales como las
direcciones de los gateways de seguridad. La cabecera IP interna transporta las
direcciones fuente y destino. En cuanto al proceso de inserción, es totalmente
idéntico al realizado en el modo transporte.
En la figura 6 se muestran los
datagramas correspondientes y en la figura
7 se ilustra la estructura del
header ESP.
El protocolo de autenticación empleado con IPSec se encuentra
especificado de acuerdo a la Security Association (SA) e incluye códigos
de autenticación de mensajes (MAC) basados en algoritmos de encriptación
simétrica como DES y funciones hash tales como MD5 y SHA-1.
La SA
utilizada para llevar a cabo la autenticación representa una conexión
unidireccional para la cual se definen todos los servicios de seguridad que
deben ser aplicados al tráfico de red. Las SAs pueden ser creadas tanto automáticamente
como manualmente, empleando para ello el protocolo IKE (Internet Key
Exchange), que es una variante de ISAKMP/Oakley (Internet Security
Association and Key Management Protocol/Oakley Key Determination Protocol).
Este protocolo presenta tres características principales:
1. Asegura que la comunicación IPSec
y el intercambio de claves se lleve a cabo entre partes autenticadas.
2. Negocia los protocolos,
algoritmos, y claves que serán utilizados en la comunicación IPSec.
3. Proporciona un método seguro para
actualizar y renegociar asociaciones una vez que éstas han expirado.
IKE dispone de dos fases. En la primera, los hosts crean una asociación
bidirecciona estableciendo con ello un canal seguro entre ellos. Ya en la
segunda fase, este canal será empleado para realizar la negociación de las
asociaciones IPSec.
IPSec utiliza el
identificador de protocolo 51 en el paquete IP para AH y el identificador 50
para ESP. IPSec IKE (Internet key exchange) utiliza el puerto UDP 500.
Como ejemplo, en una
sesión Telnet con IPSec en modo transporte y protocolo ESP, el encabezado IP
contiene el valor 51 en su campo Next Header y en el campo ESP, el campo
Next Header contiene el valor 6 (TCP), mientras que en el encabezado
TCP, Telnet queda identificado por el puerto 23.
Si en cambio se usa
el modo tunel, entonces el campo Next Header en ESP contiene el valor 4
(IP-in-IP), lo que significa que todo el paquete IP original es la carga
útil.
PPTP -
Point-to-Point Tunneling Protocol
PPTP es un protocolo de red creado por Microsoft que permite
la realización de transferencias seguras desde clientes remotos a servidores
emplazados en redes privadas, empleando para ello tanto líneas telefónicas
conmutadas como Internet. En el escenario típico de PPTP, el cliente
establecerá una conexión dial-up con el servidor de acceso a red (NAS)
del proveedor del servicio, empleando para ello el protocolo PPP. Una vez
conectado, el cliente establecerá una segunda conexión con el servidor PPTP
(necesariamente Windows NT/2000) el cual estará situado en la red privada. Dicho
servidor será utilizado como intermediario de la conexión, recibiendo los datos
del cliente externo y transmitiéndolos al correspondiente destino en la red
privada.
PPTP
encapsula los paquetes PPP en datagramas IP. Una vez que los datagramas llegan
al servidor PPTP, son desensamblados con el fin de obtener el paquete PPP y
desencriptados de acuerdo al protocolo de red transmitido. Por el momento, PPTP
únicamente soporta los protocolos de red IP, IPX, y NetBEUI. El protocolo PPTP
especifica además una serie de mensajes de control con el fin de establecer,
mantener y destruir el túnel PPTP. Estos mensajes son transmitidos en paquetes
de control en el interior de segmentos TCP. De este modo, los paquetes de
control almacenan la cabecera IP, la cabecera TCP, el mensaje de control PPTP y
los trailers apropiados.
La
autenticación PPTP está basada en el sistema de acceso de Windows NT/2000, en
el cual todos los clientes deben proporcionar un par login/password. La
autenticación remota de clientes PPTP es realizada empleando los mismos métodos
de autenticación utilizados por cualquier otro tipo de servidor de acceso
remoto (RAS). En el caso de Microsoft, la autenticación utilizada para el
acceso a los RAS soporta los protocolos CHAP, MS-CHAP, y PAP. Los accesos a los
recursos NTFS o a cualquier otro tipo, precisa de los permisos adecuados, para
lo cual resulta recomendable utilizar el sistema de archivos NTFS para los
recursos de archivos a los que deben acceder los clientes PPTP. En cuanto a la
encriptación de datos, PPTP utiliza el proceso de encriptación de secreto
compartido en el cual sólo los extremos de la conexión comparten la clave.
Dicha clave es generada empleando el estándar RSA RC-4 a partir del password
del usuario. La longitud de dicha clave puede ser 128 bits o 40 bits.
L2F - Layer 2
Forwarding
El protocolo L2F, desarrollado por Cisco Systems, tiene como
objetivo proporcionar un mecanismo de tunneling para el transporte de tramas a
nivel de enlace (HDLC, PPP, SLIP, etc). El proceso de tunneling involucra tres
protocolos diferentes: Protocolo pasajero, protocolo encapsulador, y protocolo
portador. El protocolo pasajero representa el protocolo de nivel superior que
debe encapsularse (PPP, SLIP, etc). A continuación, el protocolo encapsulador
indica el protocolo que será empleado para la creación, mantenimiento y
destrucción del túnel de comunicación. En este caso, el protocolo encapsulador
será L2F. Por último, el protocolo portador será el encargado de realizar el
transporte de todo el conjunto. Por lo general, este protocolo suele ser IP
dadas sus capacidades de enrutamiento, su acople a los diferentes medios y su
estandarización dentro del ámbito de Internet.
Entre
las principales ventajas que ofrece el protocolo L2F, cabe destacar el soporte
multiprotocolo, la multiplexación de múltiples sesiones remotas (minimizando el
número de túneles abiertos en un momento dado), y la gestión dinámica de los
túneles, en la cual los recursos de los servidores de acceso a la red se
minimizan al iniciar los túneles únicamente cuando existe tráfico de usuario.
Además, por cada túnel L2F establecido, el proceso de seguridad genera una
clave aleatoria como medida de prevención ante posibles ataques basados en
falsificación de la fuente (spoofing). A su vez, en el interior de los
túneles, cada una de las sesiones multiplexadas mantiene un número de secuencia
para evitar problemas debidos a la duplicidad de paquetes.
L2TP - Layer 2
Tunneling Protocol
Creado como combinación de los protocolos L2F y PPTP, permite
la creación de túneles a través de una gran variedad de redes (IP, SONET, ATM)
para el transporte de tráfico PPP. Dado que el protocolo pasajero es PPP, L2TP
hereda el mecanismo de autenticación de éste, al igual que los protocolos
empleados para el control de la encriptación (ECP) y la compresión (CCP),
además de incluir un soporte propio de autenticación que podrá ser empleado en
ambos extremos del túnel.
Los
túneles L2TP pueden llevarse a cabo tanto en redes públicas IP como no-IP. Esto
provoca que tanto los paquetes de control como los paquetes de datos sean
vulnerables frente a posibles ataques como snooping, denegaciones de
servicio, modificaciones, o incluso interceptación de los procesos de
negociación de la encriptación (ECP) y de la compresión (CCP) con el fin de
provocar la supresión de los mecanismos de confidencialidad o en su caso,
obtener el acceso a los passwords de los usuarios. Para evitar todas estas
posibles situaciones, el protocolo de seguridad deberá proporcionar
autenticación así como mecanismos para asegurar la integridad y la protección
de los paquetes de control, además de la confidencialidad de todos los
paquetes. Para poder alcanzar este nivel, es necesario implementar IPSec-ESP.
No obstante, esta utilización de IPSec requiere un soporte para la todos los
algoritmos de cifrado.
Firewalls y VPN
La mayoría
de las organizaciones hoy día protegen sus instalaciones mediante
firewalls y filtros de paquetes. Estos dispositivos deben configurarse para que
permitan pasar el tráfico VPN. En la figura 8 se muestra la configuración
típica, donde el servidor VPN está colocado detrás del firewall, en la zona
desmilitarizada (DMZ) o en la propia red interna. En la práctica muchos
firewalls incorporan un servidor VPN (figura 9), pero desde el punto de vista
lógico se puede considerar que
corresponde a la figura 8.
Las reglas del firewall deben permitir el tráfico PPTP, L2TP e IPSec en
base a los puertos utilizados.
PPTP usa el puerto
TCP 1723 y además usa GRE (generic route encapsulation) para el
mantenimiento del tunel. GRE tiene el identificador de protocolo 47 en el paquete IP.
L2TP usa el puerto
UDP 1701 para L2TP.
No hay comentarios:
Publicar un comentario