martes, 17 de julio de 2012

Protocolos de Seguridad y Servicios


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 Proto­col). 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 desen­samblados 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