18 oct 2011

IPSec: protegiendo el nivel de red (parte II)

En el anterior artículo sobre IPSec hicimos una presentación del conjunto de protocolos sobre los que se basa IPSec para securizar el nivel de red. Hoy vamos a ponernos en la parte práctica para configurar IPSec de manera genérica. Cuando queramos securizar un protocolo, ya sea de red o de transporte.

PoC

Vamos a configurar, explicando en detalle, IPSec entre 2 máquinas como pueden ser un XP y un Windows 7. También IPSec se integra en el directorio activo ayudado por las políticas. Esto se verá en la tercera parte de la serie sobre IPSec. Recordad que IPSec va a nivel de máquina en las políticas de seguridad, y no a nivel de usuario.

En la siguiente imagen podéis observar en que parte se encuentran las directivas de seguridad de IP, conocido como IPSec.

En la anterior imagen se pueden observar las 3 directivas de seguridad de IP que vienen por defecto, cliente, servidor y servidor seguro. Son interesantes para aprovecharnos de la funcionalidad programada que ya traen por defecto. Pero si nos interesa configurar desde 0, podemos crear una nueva directiva con botón derecho y crear directiva de seguridad IP. Es importante recalcar que solo se pueda aplicar una directiva de seguridad de IP en un equipo. Es algo normal, ya que una directiva está compuesta por reglas, y es aquí dónde entra el jugo de IPSec, podemos configurar distintas reglas para distintos protocolos.

Vamos a suponer el caso de que creamos una directiva de seguridad de IP, el aspecto que presenta la ventana de reglas es la siguiente:

En el ejemplo se puede observar una regla dinámica, que viene por defecto y no se puede borrar, es para compatibilidad con sistemas anteriores. Podemos visualizar 2 reglas, que han sido creadas, una con el nombre web y otra con el nombre ICMP. Es recomendable que los nombres de las reglas sean significativos para que cuando otro administrador "trastee" por aquí sepa exactamente de un simple vistazo lo que realizará la regla.

Para crear una nueva regla debemos, simplemente, pinchar sobre agregar e ir rellenando lo que el asistente nos presenta. Lo primero que preguntará el asistente es que modo vamos a utilizar, recordad del primer artículo, si modo túnel o modo transporte. La siguiente pregunta es en que tipo de red vamos a utilizar esta regla, las opciones son todas las conexiones de red, red de área local o acceso remoto. Normalmente, si utilizamos IPSec en una red local nos valdría con indicarle que la red es LAN, pero si un servidor tiene salida hacia fuera o monta IPSec en Internet, no sería la opción válida. Después se nos preguntará por el método de autenticación, recordad que teníamos 3 métodos, Kerberos, que es solo válido para entornos locales con un dominio, usar certificados, el cual requiere la instalación de un PKI, y por último, usar una clave compartida o secreto compartido, lo que significa poner una clave en el equipo, y la misma en el otro equipo. Este último método se utiliza en las pruebas de IPSec, pero no suele ser una buena solución, la seguridad depende de la "calidad" de la clave. Se puede configurar varios métodos de autenticación, en una lista dónde se indica el orden.

Tras asignar un método de autenticación, se nos pedirá que indiquemos que filtro va a usar la regla. El filtro sirve para indicar qué protocolo será el encapsulado en IPSec y cual será la dirección IP de origen y cual la de destino. Elegir la dirección origen y destino, hay que verlo desde el punto de vista de para quién es la regla, es decir, en una comunicación entre 2 equipos, estos deberán tener cada uno su directiva IPSec configurada. El origen, puede ser una dirección en concreto, un rango de direcciones (útil cuando es un servidor el que espera la petición mediante IPSec), una red en concreto o cualquier dirección IP. En la de destino, son los mismos parámetros.

En el filtro hay una pestaña que es la de protocolo, dónde se pueden elegir protocolos de nivel de red o de transporte. Realmente se puede configurar cualquier protocolo, ya que para indicar uno que no esté en la liste elegiremos la opción Otros e indicaremos el puerto de origen y destino. En origen, si fuese algo parecido como el protocolo HTTP desde el punto de vista de un cliente, sería cualquiera y el puerto destino al 80, que sería un servidor que esperase comunicación TCP por puerto 80 con IPSec.

Por último, el asistente nos pedirá que acción de filtrado queremos que se realice, es decir, cuando llegue algo que cumple con nuestra regla que estamos generando, por ejemplo, tenemos una regla para encapsular ICMP y nos llega un paquete mediante IPSec con ICMP, pues la acción de filtrado se ejecutará y realizará la acción programada. En acciones de filtrado podremos configurar el tipo de protocolo, ESP o AH, que utilizaremos en IPSec. Recordad que ESP, puede cifrar y firmar los datagramas, mientras que AH sólo firmaba dichos datagramas. ¿Firmo y cifro, o solo firmo? Eso dependerá de lo importante de la comunicación, o la información sensible que se trate en la comunicación. En este apartado hay opciones las cuales podemos marcar, como por ejemplo, Aceptar comunicación no segura pero responder siempre usando IPSec o Permitir la comunicación no segura con equipos no compatibles con IPSec. Cada uno debe elegir, en función de la importancia de la información que puede ir en el canal este tipo de opciones o de los requisitos empresariales.

En la imagen superior se puede visualizar como se puede elegir entre AH y ESP, y configurar los algoritmos de firmado y cifrado que se utilizarán. Por ejemplo para firmado disponemos de SHA1 y MD5 y en cifrado de DES y 3DES.

En la imagen superior se pueve visualizar una captura de tráfico, primero ISAKMP asociado al protocolo IKE y después el protocolo ESP, dónde el protocolo securizado va cifrado y firmado en un datagrama IPSec.

En la imagen superior se puede visualizar un datagrama IP con el protocolo AH, de firmado, para asegurar que el datagrama no ha sido manipulado en el viaje por el canal. Se puede visualizar el campo AH ICV dónde se indica la firma del datagrama.

Finalizamos la segunda entrega de IPSec dejando para la tercera entrega la integración en el directorio activo.

1 comentario: