domingo, 3 de mayo de 2015

Cisco ASA: Configuración del NAT básica

Cisco ASA 5510

Nota extraída del documento: http://www.cisco.com/cisco/web/support/LA/111/1118/1118174_asa-config-dmz-00.html con mejoras realizadas por el editor del blog.

Introducción

Este documento proporciona un ejemplo simple y directo de cómo configurar el NAT y el Listas de control de acceso (ACL) en un Firewall ASA para permitir la Conectividad saliente así como entrante. 
Este documento fue escrito usando un Firewall ASA 5510 que funcionaba con la versión del código ASA 9.1(1) pero éste puede aplicarse fácilmente a cualquier otra plataforma del Firewall ASA. 
Si usa una plataforma tal como un ASA 5505, que utiliza los VLA N en vez de la interfaz física, usted necesita cambiar los tipos de interfaz como apropiados.
Contribuido por Magnus Mortensen, ingeniero de Cisco TAC.

Componentes Utilizados

La información en este documento se basa en el Firewall ASA 5510 que funciona con la versión del código ASA 9.1(1).
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). 
Si la red ya está en producción, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Metas

En este ejemplo de configuración, usted puede considerar qué configuración NAT y de lista de control de acceso serán necesarias configurar para permitir el acceso entrante a un web server en el DMZ de un Firewall ASA, y permite la Conectividad saliente de los hosts internos y DMZ. Esto se puede resumir como dos metas:
  1. Permita los hosts en el interior y la Conectividad saliente DMZ a Internet.
  2. Permita que los hosts en Internet accedan un web server en el DMZ con una dirección IP de 192.168.1.100.

Descripción de la lista de control de acceso

Las listas de control de acceso (ACL) son el método por el cual el Firewall ASA determina si se permite o se niega el tráfico. 
Por defecto, el tráfico que pasa de un Nivel más bajo al mayor nivel de seguridad se deniega. Esto se puede reemplazar por un ACL aplicado a esa interfaz de menor seguridad. 
También el ASA, por defecto permitirá el tráfico de una interface de mayor nivel de seguridad a una de menor seguridad. Este comportamiento se puede también reemplazar con un ACL.

Descripción general de NAT

El NAT en el ASA en la versión 8.3 y posterior está dividido en dos tipos que se conocen como NAT auto (objeto NAT) y NAT manual (dos veces NAT)
El primero de los dos, el objeto NAT, se configura dentro de la definición de un objeto de red. Un ejemplo de esto se proporciona más adelante en este documento. 
Una ventaja principal de este método NAT es que el ASA pide automáticamente las reglas para procesar y evita conflictos. Ésta es la forma más fácil de NAT, pero con esa facilidad viene una limitación en la granularidad de la configuración. Por ejemplo, usted no puede tomar la decisión de la traducción basada en el destino del paquete, lo que si puede lograrse con el segundo tipo de NAT manual. 
El NAT manual es más robusto en su granularidad, pero requiere que las líneas estén configuradas en la orden correcto para alcanzar la conducta correcta. Esto complica este tipo NAT y como consecuencia, no será utilizada en este ejemplo de configuración.

Configuración

La configuración básica de la configuración ASA es de tres interfaces conectadas con tres segmentos de red. 
El segmento de la red ISP está conectado con la interfaz del Ethernet0/0 y etiquetado Outside con un nivel de seguridad de 0. 
La red interna ha estado conectada con Ethernet0/1 y etiquetada como Inside con un nivel de seguridad de 100. 
El segmento DMZ, donde reside el web server está conectado con Ethernet0/2 y etiquetado como dmz con un nivel de seguridad de 50.
La configuración de la interfaz y los IP Addresses por el ejemplo se considera aquí:
interface Ethernet0/0
 nameif outside
 security-level 0
 ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
 nameif inside
 security-level 100
 ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
 nameif dmz
 security-level 50
 ip address 192.168.1.1 255.255.255.0
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1

Aquí usted puede ver que la interfaz Inside ASA está fijada con la dirección IP de 192.168.0.1, y es el default gateway para los host internos. 
La interfaz eOutside ASA se configura con una dirección IP obtenida del ISP. 
Hay una ruta predeterminado en el lugar, fijando el Next-Hop para ser el gateway ISP. 
Si usted utiliza el DHCP esto se proporciona automáticamente. 
La interfaz del dmz se configura con la dirección IP de 192.168.1.1, y es el default gateway para los hosts en nuestro segmento de la red DMZ.

Topología

Aquí está una mirada visual en cómo se cableó y se configuró esto:
asa-config-dmz-01.gif

Paso 1 - Configuración NAT para permitir que los hosts salgan a Internet

Para este objeto NAT del ejemplo, se usará el método conocido como AutoNAT
Lo primero que configuraremos son las reglas NAT que permiten a los hosts en Inside y a los segmentos del dmz conectarse con Internet. 
Debido a que estos hosts están utilizando direcciones IP privadas, usted necesita traducirlas  a direcciones que sean enrutables en Internet. 
En este caso traduzca el direccionamiento de modo que parezcan la dirección IP de la interfaz Outside ASA. Si su IP externa cambia con frecuencia (quizás debido al DHCP) ésta es la manera más directa de configurar esto.
Para configurar este NAT, usted necesita crear un objeto de red que represente la subred Inside así como uno que represente la subred del dmz
En cada uno de estos objetos, configure una regla NAT dinámica que traduzca a estos clientes como el paso de sus interfaces respectivas a la interfaz Outside.
Esta configuración se vería así:
object network inside-subnet
 subnet 192.168.0.0 255.255.255.0
 nat (inside,outside) dynamic interface
!
object network dmz-subnet
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) dynamic interface

Si usted revisa la configuración (con el comando show run), usted verá que la definición del objeto está partida en dos partes de la salida. La primera parte indica solamente cuál está en el objeto (host/subred, dirección IP, etc), mientras que la segunda sección muestra que regla NAT atada a ese objeto. Si usted toma la primera entrada en la salida arriba:
Cuando la dirección de los hosts coincide con la red 192.168.0.0/24 de la interfaz Inside hacia la interfaz Outside deben ser traducidos dinámicamente a la interfaz Outside

Paso 2 - Configuración NAT para acceder el web server de Internet

Ahora que los hosts en las interfaces interiores y del dmz pueden salir a Internet, usted necesita modificar la configuración de modo que los usuarios en Internet puedan acceder nuestro web server en el puerto TCP 80. 
En este ejemplo, la configuración está hecha de modo que los usuarios en Internet puedan conectarse con una dirección IP pública que el ISP proporcionó. 
Para este ejemplo, utilice 198.51.100.101. Con esta configuración, los usuarios en Internet podrán alcanzar el web server del dmz accediendo 198.51.100.101 en el puerto TCP 80. 
Utilice el objeto NAT para esta tarea, y el ASA traducirá el puerto TCP 80 en el web server (192.168.1.100) para parecer 198.51.100.101 en el puerto TCP 80 en el Outside
De forma similar a la qué fue hecha arriba, se define un objeto y se definen las reglas de traducción para ese objeto. También, defina un segundo objeto para representar el IP al que usted está traduciendo este host.
Esta configuración debería ser así:
object network webserver-external-ip
 host 198.51.100.101
!
object network webserver
 host 192.168.1.100
 nat (dmz,outside) static webserver-external-ip service tcp www www

Solo para resumir lo que significa esa regla NAT en este ejemplo:
Cuando un host que coincide con la dirección IP 192.168.1.100 en el segmento dmz establece una conexión originada en el puerto TCP 80 (WWW) y esa conexión sale la interfaz Outside, queremos traducir eso para ser el puerto TCP 80 (WWW) en la interfaz Outside y para traducir esa dirección IP por 198.51.100.101
Esta sentencia parecería tener un sentido incorrecto… “originada en el puerto TCP 80 (WWW)”, si solamente del tráfico de la Web se destina al puerto 80. Pero aquí es importante entender que estas reglas NAT son bidireccionales por naturaleza. Como consecuencia usted puede reformular esta frase moviendo de un tirón la fraseología alrededor. El resultado tiene mucho más sentido si lo ponemos de esta forma:
Cuando los hosts en Outside establecen una conexión a 198.51.100.101 en el puerto 80 (WWW) del TCP de destino, traduciremos la dirección IP de destino para ser 192.168.1.100 y el puerto destino será el puerto TCP 80 (WWW) y  se lo mandará al segmento dmz
Esto tiene más sentido cuando está expresada esta manera. Luego usted necesita configurar los ACL.

Cisco ASA 5505

Paso 3 - Configuración ACL

El NAT ya está configurado y ya estamos cerca de terminar. Recuerde, los ACL en el ASA permiten que usted reemplace la conducta de seguridad predeterminada que es como sigue:
  • El tráfico que va de una interfaz de menor seguridad se niega al ir a una interfaz de mayor seguridad
  • El tráfico que va de una interfaz de mayor seguridad se permite al ir a una interfaz de menor seguridad

Entonces sin agregar ningun ACL en absoluto a la configuración, el tráfico siguiente en este ejemplo trabaja de la siguiente forma:
  • Los hosts en Inside (nivel de seguridad 100) pueden conectar con los hosts en el dmz (nivel de seguridad 50)
  • Los hosts en Inside (nivel de seguridad 100) pueden conectar con los hosts en el Outside (nivel de seguridad 0)
  • Los hosts en el dmz (nivel de seguridad 50) pueden conectar con los hosts en el Inside (nivel de seguridad 0)

Sin embargo, se niega el tráfico siguiente:
  • Los hosts en Outside (nivel de seguridad 0) no pueden conectar con los hosts en Inside (nivel de seguridad 100)
  • Los hosts en Outside (nivel de seguridad 0) no pueden conectar con los hosts en el dmz (nivel de seguridad 50)
  • Los hosts en el dmz (nivel de seguridad 50) no pueden conectar con los hosts en Inside (nivel de seguridad 100)

Debido a que el tráfico del Outside hacia lared del dmz es denegado por el ASA con su configuración actual, los usuarios en Internet no pueden alcanzar el web server a pesar de la configuración del NAT en el paso 2. 
Usted necesita permitir explícitamente este tráfico. 
Una vez que se crea el ACL, usted necesita aplicarlo entrante en la interfaz exterior.
La configuración se verá algo así:
access-list outside_acl extended permit tcp any object webserver eq www
!
access-group outside_acl in interface outside

Las sentencias del ACL indican:
Permitir el tráfico de any (de donde) hacia el host representado por el objeto web server (192.168.1.100) en el puerto 80
Es importante que la configuración use la palabra clave any aquí. Como el origen de los clientes del Web Server podría ser cualquiera, la opción any significa "cualquier dirección IP".
Vea mas ejemplos de configuración en el sitio web de Cisco: http://www.cisco.com/cisco/web/support/LA/111/1118/1118174_asa-config-dmz-00.html

No hay comentarios:

Publicar un comentario