domingo, 11 de agosto de 2013

Resumen NAT

NAT (Network Address Translation - Traducción de Dirección de Red) es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que asignan mutuamente direcciones incompatibles. Consiste en convertir, en tiempo real, las direcciones utilizadas en los paquetes transportados. También es necesario editar los paquetes para permitir la operación de protocolos que incluyen información de direcciones dentro de la conversación del protocolo.
El tipo más simple de NAT proporciona una traducción una-a-una de las direcciones IP. La RFC 2663 se refiere a este tipo de NAT como NAT Básico, también se le conoce como NAT una-a-una. En este tipo de NAT únicamente, las direcciones IP, las sumas de comprobación (checksums) de la cabecera IP, y las sumas de comprobación de nivel superior, que se incluyen en la dirección IP necesitan ser cambiadas. El resto del paquete se puede quedar sin tocar (al menos para la funcionalidad básica del TCP/UDP, algunos protocolos de nivel superior pueden necesitar otra forma de traducción). Es corriente ocultar un espacio completo de direcciones IP, normalmente son direcciones privadas IP, detrás de una única dirección IP (o pequeño grupo de direcciones IP) en otro espacio de direcciones (normalmente público).
NAT es como el recepcionista de una oficina grande. Imagine que le indica al recepcionista que no le pase ninguna llamada a menos que se lo solicite. Más tarde, llama a un posible cliente y le deja un mensaje para que le devuelva el llamado. A continuación, le informa al recepcionista que está esperando una llamada de este cliente y le solicita que le pase la llamada a su teléfono.
El cliente llama al número principal de la oficina, que es el único número que el cliente conoce. Cuando el cliente informa al recepcionista a quién está buscando, el recepcionista se fija en una tabla de búsqueda que indica cuál es el número de extensión de su oficina. El recepcionista sabe que el usuario había solicitado esta llamada, de manera que la reenvía a su extensión.
Entonces, mientras que el servidor de DHCP asigna direcciones IP dinámicas a los dispositivos que se encuentran dentro de la red, los routers habilitados para NAT retienen una o varias direcciones IP de Internet válidas fuera de la red. Cuando el cliente envía paquetes fuera de la red, NAT traduce la dirección IP interna del cliente a una dirección externa. Para los usuarios externos, todo el tráfico que entra a la red y sale de ella tiene la misma dirección IP o proviene del mismo conjunto de direcciones.
Su uso más común es permitir utilizar direcciones privadas (definidas en el RFC 1918) para acceder a Internet. Existen rangos dedirecciones privadas que pueden usarse libremente y en la cantidad que se quiera dentro de una red privada. Si el número de direcciones privadas es muy grande puede usarse solo una parte de direcciones públicas para salir a Internet desde la red privada. De esta manera simultáneamente sólo pueden salir a Internet con una dirección IP tantos equipos como direcciones públicas se hayan contratado. Esto es necesario debido al progresivo agotamiento de las direcciones IPv4. Se espera que con el advenimiento de IPv6 no sea necesario continuar con esta práctica.

El protocolo TCP/IP tiene la capacidad de generar varias conexiones simultáneas con un dispositivo remoto. Para realizar esto, dentro de la cabecera de un paquete IP, existen campos en los que se indica la dirección origen y destino. Esta combinación de números define una única conexión.
La mayoría de los NAT asignan varias máquinas (hosts) privadas a una dirección IP expuesta públicamente. En una configuración típica, una red local utiliza unas direcciones IP designadas “privadas” para subredes (RFC 1918). Un ruteador en esta red tiene una dirección privada en este espacio de direcciones. El ruteador también está conectado a Internet por medio de una dirección pública asignada por un proveedor de servicios de Internet. Como el tráfico pasa desde la red local a Internet, la dirección de origen en cada paquete se traduce sobre la marcha, de una dirección privada a una dirección pública. El ruteador sigue la pista de los datos básicos de cada conexión activa (en particular, la dirección de destino y el puerto). Cuando una respuesta llega al ruteador utiliza los datos de seguimiento de la conexión almacenados en la fase de salida para determinar la dirección privada de la red interna a la que remitir la respuesta.
Todos los paquetes de Internet tienen una dirección IP de origen y una dirección IP de destino. En general, los paquetes que pasan de la red privada a la red pública tendrán su dirección de origen modificada, mientras que los paquetes que pasan a la red pública de regreso a la red privada tendrán su dirección de destino modificada. Existen configuraciones más complejas.
Para evitar la ambigüedad en la forma de traducir los paquetes de vuelta, es obligatorio realizar otras modificaciones. La mayor parte del tráfico generado en Internet son paquetes TCP y UDP, para estos protocolos los números de puerto se cambian, así la combinación de la información de IP y puerto en el paquete devuelto puede asignarse sin ambigüedad a la información de dirección privada y puerto correspondiente. Los protocolos que no están basados en TCP y UDP requieren de otras técnicas de traducción Los paquetes ICMP normalmente se refieren a una conexión existente y necesitan ser asignado utilizando la misma información de IP. Para el ICMP al ser una conexión existente no se utiliza ningún puerto.
Una pasarela NAT cambia la dirección origen en cada paquete de salida y, dependiendo del método, también el puerto origen para que sea único. Estas traducciones de dirección se almacenan en una tabla, para recordar qué dirección y puerto le corresponde a cada dispositivo cliente y así saber donde deben regresar los paquetes de respuesta. Si un paquete que intenta ingresar a la red interna no existe en la tabla en un determinado puerto y dirección se puede acceder a un determinado dispositivo, como por ejemplo un servidor web, lo que se denomina NAT inverso o DNAT (Destination NAT).
NAT tiene muchas formas de funcionamiento, entre las que destacan:

Estática

Conocida también como NAT 1:1, es un tipo de NAT en el que una dirección IP privada se traduce a una dirección IP pública, y donde esa dirección pública es siempre la misma. Esto le permite a un host, como un servidor Web, el tener una dirección IP de red privada pero aun así ser visible en Internet. Para ello usa la técnica llamada Redirección de puertos (en inglés port forwarding).

Dinámica

Es un tipo de NAT en la que una dirección IP privada se mapea a una IP pública basándose en una tabla de direcciones de IP registradas (públicas). Normalmente, el router NAT en una red mantendrá una tabla de direcciones IP registradas, y cuando una IP privada requiera acceso a Internet, el router elegirá una dirección IP de la tabla que no esté siendo usada por otra IP privada. Esto permite aumentar la seguridad de una red dado que enmascara la configuración interna de una red privada, lo que dificulta a los hosts externos de la red el poder ingresar a ésta. Para este método se requiere que todos los hosts de la red privada que deseen conectarse a la red pública posean al menos una IP pública asociadas.

sábado, 10 de agosto de 2013

Resumen DHCP

 Es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.
Este protocolo se publicó en octubre de 1993, y su implementación actual está en la RFC 2131.

Cada dirección IP debe configurarse manualmente en cada dispositivo y, si el dispositivo se mueve a otra subred, se debe configurar otra dirección IP diferente. El DHCP le permite al administrador supervisar y distribuir de forma centralizada las direcciones IP necesarias y, automáticamente, asignar y enviar una nueva IP si fuera el caso en el dispositivo es conectado en un lugar diferente de la red.
El protocolo DHCP incluye tres métodos de asignación de direcciones IP:
  • Asignación manual o estática: Asigna una dirección IP a una máquina determinada. Se suele utilizar cuando se quiere controlar la asignación de dirección IP a cada cliente, y evitar, también, que se conecten clientes no identificados.
  • Asignación automática: Asigna una dirección IP de forma permanente a una máquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera. Se suele utilizar cuando el número de clientes no varía demasiado.
  • Asignación dinámica: el único método que permite la reutilización dinámica de las direcciones IP. El administrador de la red determina un rango de direcciones IP y cada dispositivo conectado a la red está configurado para solicitar su dirección IP al servidor cuando la tarjeta de interfaz de red se inicializa. El procedimiento usa un concepto muy simple en un intervalo de tiempo controlable. Esto facilita la instalación de nuevas máquinas clientes a la red.
Algunas implementaciones de DHCP pueden actualizar el DNS asociado con los servidores para reflejar las nuevas direcciones IP mediante el protocolo de actualización de DNS establecido en RFC 2136 (Inglés).
El DHCP es una alternativa a otros protocolos de gestión de direcciones IP de red, como el BOOTP (Bootstrap Protocol). DHCP es un protocolo más avanzado, pero ambos son los usados normalmente.
En Windows 98 o posterior, cuando el DHCP es incapaz de asignar una dirección IP, se utiliza un proceso llamado "Automatic Private Internet Protocol Addressing".

Un servidor DHCP puede proveer de una configuración opcional al dispositivo cliente. Dichas opciones están definidas en RFC 2132 Lista de opciones configurables:
  • Dirección del servidor DNS
  • Nombre DNS
  • Puerta de enlace de la dirección IP
  • Dirección de Publicación Masiva (broadcast address)
  • Máscara de subred
  • Tiempo máximo de espera del ARP (Protocolo de Resolución de Direcciones según siglas en inglés)
  • MTU (Unidad de Transferencia Máxima según siglas en inglés) para la interfaz
  • Servidores NIS (Servicio de Información de Red según siglas en inglés)
  • Dominios NIS
  • Servidores NTP (Protocolo de Tiempo de Red según siglas en inglés))
  • Servidor SMTP
  • Servidor TFTP
  • Nombre del servidor WINS

miércoles, 24 de julio de 2013

Listas de Acceso

Las ACL permiten un control del tráfico de red, a nivel de los routers. Pueden ser parte de una solución de seguridad (junton con otros componentes, como antivirus, anti-espías, firewall, proxy, etc.).

Características de las Listas de Acceso:

  • Una ACL es una lista de una o más instrucciones.
  • Se asigna una lista a una o más interfaces.
  • Cada instrucción permite o rechaza tráfico, usando uno o más de los siguientes criterios: el origen del tráfico; el destino del tráfico; el protocolo usado.
  • El router analiza cada paquete, comparándolo con la ACL correspondiente.
  • El router compara la ACL línea por línea. Si encuentra una coincidencia, toma la acción correspondiente (aceptar o rechazar), y ya no revisa los restantes renglones.
  • Es por eso que hay que listar los comandos desde los casos más específicos, hasta los más generales. ¡Las excepciones tienen que estar antes de la regla general!
  • Si no encuentra una coincidencia en ninguno de los renglones, rechaza automáticamente el tráfico. Consideren que hay un "deny any" implícito, al final de cada ACL.
  • Cualquier línea agregada a una ACL se agrega al final. Para cualquier otro tipo de modificación, se tiene que borrar toda la lista y escribirla de nuevo. Se recomienda copiar al Bloc de Notas y editar allí.
  • Las ACL estándar (1-99) sólo permiten controlar en base a la dirección de origen.
  • Las ACL extendidas (100-199) permiten controlar el tráfico en base a la dirección de origen; la dirección de destino; y el protocolo utilizado.
  • También podemos usar ACL nombradas en vez de usar un rango de números. El darles un nombre facilita entender la configuración (y por lo tanto, también facilita hacer correcciones). No trataré las listas nombradas en este resumen.
  • Si consideramos sólo el tráfico de tipo TCP/IP, para cada interface puede haber sólo una ACL para tráfico entrante, y una ACL para tráfico saliente.
  • Sugerencia para el examen: Se deben conocer los rangos de números de las ACL, incluso para protocolos que normalmente no nos interesan.
Colocación de una Lista de Acceso
  • Las ACL estándar se colocan cerca del destino del tráfico. Esto se debe a sus limitaciones: no se puede distinguir el destino.
  • Las ACL extendidas se colocan cerca del origen del tráfico, por eficiencia - es decir, para evitar tráfico innecesario en el resto de la red.
Dirección del Tráfico


El tema "in" vs. "out" suele causar confusiones, por eso es convienente la siguiente explicación.
La dirección in o out (entrada o salida) se refiere al router que están configurando en ese momento. Por ejemplo, con la siguiente configuración de routers (A, B, C son routers; X, Y son hosts (o redes)):
X ------ A ------ B ------ C ------- Y
Se puede controlar el tráfico de X a Y en el router A, B o C.
Por ejemplo, el en router A, se puede controlar el tráfico entrante (in), en la interface que está a su izquierda. En el mismo router, también es posible controlar el tráfico saliente (out), en la interface que está a su derecha.
De la misma manera, se puede controlar el tráfico en el router B: entrante, a la izquierda; o saliente, por la derecha; o de igual manera en el router C.
(Lo más recomendable en este caso es usar una lista extendida, en el router A, y aplicarla a la interface a su izquieda, dirección "in" - entrante.)
También se debe recordar que normalmente el tráfico fluye en dos direcciones. Por ejemplo, si "Y" es un servidor Web, teóricamente, en el router C, interface a la derecha, se podría bloquear la solicitud al servidor (out), o también la respuesta del servidor (in).

Listas de Acceso Estándar

Sintaxis para un renglón (se escribe en el modo de configuración global):
access-list (número) (deny | permit) (ip origen) (wildcard origen)

Para asignarlo a una interface:
interface F0
  ip access-group 1 out

Listas de Acceso Extendidas

Sintaxis para cada renglón:
access-list (número) (deny | permit) (protocolo) (IP origen) (wildcard origen) (IP destino) (wildcard destino)
    [(operador) (operando)]
El "protocolo" puede ser (entre otros) IP (todo tráfico de tipo TCP/IP), TCP, UDP, ICMP.
El "operando" puede ser un número de puerto (por ejemplo 21), o una sigla conocida, por ejemplo, "ftp".

Resumen Frame Relay

    Frame Relay es una tecnología de conmutación rápida de tramas, basada en estándares internacionales, que puede utilizarse como un protocolo de transporte y como un protocolo de acceso en redes públicas o privadas proporcionando servicios de comunicaciones.Frame Relay permite la transmisión de datos a altas velocidades basada en protocolos de conmutación de paquetes. En Frame Relay los datos son divididos en paquetes de largo variable los cuales incluyen información de direccionamiento. Los paquetes son entregados a la Red Frame Relay, la cual los transporta hasta su destino específico sobre una conexión virtual asignada.

    Frame relay permite compartir varias conexiones virtuales a través de una misma interface física con lo cual es posible conectar múltiples localidades remotas entre sí, sin necesidad de equipo adicional ni costosos enlaces dedicados punto a punto. Solamente es necesaria una conexión física entre cada localidad remota y la Red Frame Relay.

    La tecnología Frame Relay se beneficia de las ventajas estadísticas de la conmutación de paquetes y hace uso eficiente del ancho de banda. Posee un mecanismo dinámico para proveer mayor capacidad de tranmisión cuando así lo requiera el usuario, sin necesidad de haber comprado ancho de banda adicional.

    Estas múltiples ventajas hacen de Frame Relay la tecnología ideal para sus necesidades de comunicaciones de datos y voz por sus bajos costos de operación, altas velocidades de transmisión y utilización eficiente del ancho de banda.

    Es apróximadamente análoga a una versión reducida de X.25, con una interfaz conmutada por paquetes de velocidad variable entre 56 Kbps y 45 Mbps. Como X.25, "Frame Relay" multiplexa estadísticamente paquetes o tramas hacia destinos diferentes con una sola interfaz. Está orientada a la conexión, lo que significa que, para proceder, un circuito virtual debe estar configurado para comunicaciones.