Seguridad en Tránsito
A continuación se presentan las tecnologías que hacen posible proteger los datos que viajan a través de una red pública.
NAT: Traducción de Direcciones de red
La traducción de direcciones de red (NAT por Network Address Translation) fue creada, inicialmente con el propósito de resolver el problema de escalabilidad de direcciones IP y su agotamiento para la asignación de nuevas números IP; otra ventaja de NAT es que permite ocultar el esquema de direcciones de una red privada al exterior ofreciendo un importante servicio para una solución de seguridad.
La estrategia utilizada por la aplicación de esta tecnología está basada en la distribución topológica de la asignación de futuras direcciones IP de cada espacio de direcciones de red a los distintos dominios de ruteo de tránsito de datos (redes privadas). Las direcciones IP dentro de un red privada no son únicas globalmente, sino que son reusadas en otros dominios, resolviendo así el problema de agotamiento de direcciones.
Cuando un paquete es enviado al exterior de la red, la dirección IP de origen es traducida a una dirección única globalmente para evitar posibles conflictos con otros espacios de direcciones asignados a otras redes privadas y ocultar el esquema de direcciones de la red local. Para esto, la función de NAT se implementa en cada punto de salida entre la red privada y una conexión a la red pública. Cada dispositivo NAT tiene una tabla de pares de direcciones IP: direcciones locales y direcciones únicas asignadas globalmente para poder realizar el mapeo. Ocurre la operación inversa con las direcciones de los paquetes que provienen del exterior (ver Figura 4)
Con este esquema, es posible que una única dirección IP sea necesaria para representar a un grupo entero de computadoras.
La traducción de direcciones permite a un único dispositivo que interconecte la red privada con la red exterior, por ejemplo un router o un firewall, actuar como agente entre Internet y la red local. NAT puede ser instalado sin grandes cambios a estos dispositivos, lo que lo hace una buena opción con importantes beneficios.
NAT es transparente a las sistemas internos y externos y operan en la capa de red sin agregar mucho tiempo de cómputo adicional a las comunicaciones.
La traducción de direcciones puede funcionar de diferentes modos:
Estática: Mapea una dirección IP no registrada a una dirección IP registrada en un esquema uno a uno. Es útil cuando un dispositivo necesita ser accesible desde el exterior. Por supuesto, esto no es aconsejable si la seguridad es importante.
Dinámica: Mapea una dirección IP no registrada a una dirección seleccionada dinámicamente de un grupo de direcciones IP registradas.
Sobrecarga: Es una forma de NAT dinámico que mapea múltiples direcciones IP no registradas a una única dirección IP registrada usando diferentes puertos (seleccionados dinámicamente)
Solapamiento: Cuando las direcciones usadas en la red interna son direcciones registradas usadas en otra red, el router debe mantener una tabla de búsqueda de éstas direcciones para poder interceptarlas y reemplazarlas con direcciones IP únicas registradas. El router NAT debe traducir las direcciones internas a direcciones únicas registradas así como las direcciones registradas externas a direcciones que sean únicas a la red privada.
Figura 4 - Mapeo de direcciones de NAT
Es de principal importancia la traducción dinámica de direcciones: en una red interna se configuran un conjunto de direcciones IP que no han sido asignadas particularmente a esa red, es decir, que no son únicas, por lo que deben considerarse no ruteables. El router que (comunmente) cumple con la función de NAT, dispone de un rango de direcciones IP únicas globalmente (dirección global interna).
Cuando el router recibe un paquete del interior de la red, almacena la dirección no ruteable del host que lo envió (dirección origen del paquete IP) en la tabla de traducción de direcciones. Luego reemplaza dicha dirección en el paquete recibido por la primer dirección IP única (ruteable) disponible y reenvía el paquete. En la tabla ha quedado registrado el mapeo de la dirección IP real, no ruteable del host de la red con una dirección IP única global.
Cuando el router recibe un paquete de una computadora del exterior de la red, comprueba que la dirección de destino del paquete se encuentre en la tabla de traducción de direcciones (esto ocurrirá si el paquete es una respuesta de un mensaje enviado a esa computadora), luego reemplaza esa dirección con la correspondiente dirección IP real del host de la red privada y reenvía el paquete. De esta forma, la tabla almacenará los mapeos de direcciones internas a direcciones únicas solo cuando se esté realizando una comunicación con un sistema externo. En el caso de no encontrar en la tabla la dirección del destinatario, el paquete es rechazado.
Por otro lado, las direcciones registradas de forma global de otros dispositivos de la red (direcciones globales externas) son traducidas a direcciones privadas no registradas para evitar posibles conflictos de solapamiento de direcciones entre distintos dominios.
Un NAT dinámico ofrece un importante servicio de seguridad, ya que solo son permitidas aquellas conexiones que se originen en el dominio privado, es decir que una computadora externa no puede iniciar un contacto a menos que un host de la red interna haya iniciado la comunicación (de otra forma es rechazado por el router).
Aunque podemos observar que este esquema no es totalmente seguro, ya que un tercero (no involucrado en la comunicación iniciada en el interior de la red) que intercepte un mensaje enviado desde la red interna puede leer la dirección IP de origen del mensaje y de esta forma sus paquetes serían aceptados por el router. Por esto, un router que realice la función de NAT no es la única solución para un firewall, sino que es una porción de todas las funciones que debe cumplir un firewall para ser efectivo (por Ej. puede utilizarse un túnel para comunicar estos paquetes).
Un router cumpliendo la función de NAT puede proveer filtrado y registro de tráfico para llevar un control de las comunicaciones que se lleven a cabo.