Este documento describe cómo funciona la redirección de puertos en Cisco Adaptive Security Appliance (ASA) mediante ASDM. Se ocupa del control de acceso del tráfico mediante el ASA y de cómo funcionan las reglas de traducción.
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Cisco ASA serie 5500, versión 8.2
Cisco ASDM versión 6.3
Nota: Esta configuración funciona correctamente sólo desde la versión 8.0 a la 8.2 del software Cisco ASA, porque no hay cambios importantes en la funcionalidad NAT.
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). If your network is live, make sure that you understand the potential impact of any command.
Los esquemas de direccionamiento IP usados en esta configuración no son legalmente enrutables en Internet. Son direcciones RFC 1918 que se han utilizado en un entorno de laboratorio.
El acceso de salida describe las conexiones de una interfaz de mayor nivel de seguridad a una interfaz de menor nivel de seguridad. Esto incluye las conexiones desde el interior al exterior, interior hacia las zonas desmilitarizadas (DMZ) y DMZ hacia el exterior. Esto también puede incluir las conexiones de una DMZ a otra, mientras la interfaz de la fuente de conexión tiene un mayor nivel de seguridad que el destino.
Ninguna conexión puede pasar a través del dispositivo de seguridad sin una regla de traducción configurada. Esta función se denomina nat-control. La imagen que se muestra aquí muestra cómo inhabilitar esto a través de ASDM para permitir conexiones a través de ASA sin ninguna traducción de dirección. Sin embargo, si tiene alguna regla de traducción configurada, la inhabilitación de esta función no sigue siendo válida para todo el tráfico y deberá eximir explícitamente a las redes de la traducción de direcciones.
Puede permitir que un grupo de hosts/redes internas accedan al mundo exterior configurando las reglas NAT dinámicas. Para lograr esto, debe seleccionar la dirección real de los hosts/redes a los que se les dará acceso y luego deben ser mapeados a un conjunto de direcciones IP traducidas.
Complete estos pasos para permitir el acceso de los hosts internos a las redes externas con NAT:
Vaya a Configuration > Firewall > NAT Rules, haga clic en Add, y luego elija la opción Add Dynamic NAT Rule para configurar una regla NAT dinámica.
Elija el nombre de la interfaz a la que están conectados los hosts reales. Elija la dirección IP real de los hosts/redes utilizando el botón Details en el campo Source.
En este ejemplo, se ha seleccionado toda la red interna. Haga clic en Aceptar para completar la selección.
Haga clic en Administrar para seleccionar el conjunto de direcciones IP al que se asignará la red real.
Haga clic en Add para abrir la ventana Add Global Address Pool.
Elija la opción Range y especifique las direcciones IP inicial y final junto con la interfaz de salida. También, especifique un identificador de conjunto único y haga clic en Agregar para agregarlos al conjunto de direcciones. Haga clic en Aceptar para volver a la ventana Administrar Pool Global.
Haga clic en Aceptar para volver a la ventana Agregar regla NAT dinámica.
Haga clic en Aceptar para completar la configuración de la regla NAT dinámica.
Haga clic en Apply para que los cambios surtan efecto.
Nota: La opción Habilitar tráfico a través del firewall sin traducción de direcciones está desactivada.
Este es el resultado CLI equivalente para esta configuración ASDM:
nat-control global (outside) 10 209.165.200.20-209.165.200.40 netmask 255.255.255.192 nat (inside) 10 172.16.11.0 255.255.255.0
Según esta configuración, los hosts en la red 172.16.11.0 se traducirán a cualquier dirección IP del conjunto NAT, 209.165.200.20-209.165.200.40. Aquí, el ID del conjunto NAT es muy importante. Puede asignar el mismo conjunto NAT a otra red interna/dmz. Si el conjunto asignado tiene menos direcciones que el grupo real, podría quedarse sin direcciones si la cantidad de tráfico es mayor de lo esperado. Como resultado, puede intentar implementar PAT o puede intentar editar el conjunto de direcciones existente para ampliarlo.
Nota: Al realizar cualquier modificación en la regla de traducción existente, tenga en cuenta que debe utilizar el comando clear xlate para que esas modificaciones surtan efecto. De lo contrario, la conexión existente anterior permanecerá en la tabla de conexiones hasta que se agote el tiempo de espera. Tenga cuidado al utilizar el comando clear xlate, porque termina inmediatamente las conexiones existentes.
Si desea que los host internos compartan a una sola dirección pública para la traducción, use PAT. Si la sentencia global especifica una dirección, a esa dirección se le traduce el puerto. El ASA permite la traducción de un puerto por interfaz y esa traducción admite hasta 65.535 objetos xlate activos en la dirección global única.
Complete estos pasos para permitir el acceso de los hosts internos a las redes externas con PAT:
Vaya a Configuration > Firewall > NAT Rules, haga clic en Add, y luego elija la opción Add Dynamic NAT Rule para configurar una regla NAT dinámica.
Elija el nombre de la interfaz a la que están conectados los hosts reales. Elija la dirección IP real de los hosts/redes usando el botón Details en el campo Source, y elija inside-network. Haga clic en Administrar para definir la información de la dirección traducida.
Haga clic en Add (Agregar).
Elija la Traducción de Dirección de Puerto (PAT) usando la dirección IP de la opción de interfaz, y haga clic en Agregar para agregarla al pool de direcciones. No olvide asignar un ID único para este conjunto de direcciones NAT.
Aquí se muestra el conjunto de direcciones configurado con la interfaz externa como la única dirección disponible en ese conjunto. Haga clic en Aceptar para volver a la ventana Agregar regla NAT dinámica.
Click OK.
La regla NAT dinámica configurada se muestra aquí en el panel Configuration > Firewall > NAT Rules .
Este es el resultado CLI equivalente para esta configuración PAT:
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
Cuando no se definen reglas de acceso, los usuarios de una interfaz de mayor seguridad pueden acceder a cualquier recurso asociado con una interfaz de menor seguridad. Para restringir el acceso de ciertos usuarios a ciertos recursos, utilice reglas de acceso en el ASDM. En este ejemplo se describe cómo permitir que un único usuario tenga acceso a recursos externos (con FTP, SMTP, POP3, HTTPS y WWW) y cómo restringir el acceso de todos los demás usuarios a los recursos externos.
Nota: Habrá una regla de "Denegación implícita" al final de cada lista de acceso.
Complete estos pasos:
Vaya a Configuration > Firewall > Access Rules, haga clic en Add, y elija la opción Add Access Rule para crear una nueva entrada de la lista de acceso.
Elija la dirección IP de origen que se permitirá en el campo Source. Elija any como el Destino, inside como la Interfaz, y Permit como la Acción. Por último, haga clic en el botón Details en el campo Service para crear un grupo de servicio TCP para los puertos requeridos.
Haga clic en Add y luego elija la opción TCP Service Group.
Introduzca un nombre para este grupo. Elija cada uno de los puertos requeridos, y haga clic en Agregar para moverlos al campo Miembros en Grupo.
Debería ver todos los puertos seleccionados en el campo de la derecha. Haga clic en Aceptar para completar el proceso de selección de puertos de servicio.
Puede ver el grupo de servicio TCP configurado aquí. Click OK.
Haga clic en Aceptar para completar la configuración.
La regla de acceso configurada se puede ver en la interfaz interna en el panel Configuración > Firewall > Reglas de acceso.
Para facilitar el uso, también puede editar el grupo de servicio TCP directamente en el panel derecho de la pestaña Servicios. Haga clic en Edit para modificar este grupo de servicio directamente.
De nuevo redirige a la ventana Edit TCP Service Group . Realice las modificaciones según sus requisitos y haga clic en Aceptar para guardar los cambios.
Aquí se muestra una vista completa del ASDM:
Esta es la configuración CLI equivalente:
object-group service Permit-172.16.10.100 TCP port-object eq ftp port-object eq ftp-data port-object eq www port-object eq https port-object eq pop3 port-object eq smtp ! access-list inside_access_in extended permit TCP host 172.16.10.100 any object-group Permit-172.16.10.100 ! access-group inside_access_in in interface inside !
Para obtener información completa sobre la implementación del control de acceso, consulte Agregar o Modificar una Lista de Acceso a través de la GUI de ASDM.
Esta sección describe cómo habilitar el tráfico dentro de las interfaces que tienen los mismos niveles de seguridad.
Estas instrucciones describen cómo habilitar la comunicación dentro de la interfaz.
Esto será útil para el tráfico VPN que ingresa a una interfaz, pero luego se rutea fuera de la misma interfaz. Es posible que el tráfico VPN no esté cifrado en este caso o que se vuelva a cifrar para otra conexión VPN. Vaya a Configuration > Device Setup > Interfaces, y elija la opción Enable traffic between two or more hosts connected to the same interface.
Estas instrucciones describen cómo habilitar la comunicación entre interfaces.
Esto es útil para permitir la comunicación entre interfaces con niveles de seguridad iguales. Vaya a Configuration > Device Setup > Interfaces, y elija la opción Enable traffic between two or more interfaces which are configured with same security levels.
Ésta es la CLI equivalente para estas dos configuraciones:
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
Esto se puede lograr mediante la aplicación de una traducción NAT estática y una regla de acceso para permitir esos hosts. Debe configurarlo siempre que un usuario externo desee acceder a cualquier servidor que se encuentre en su red interna. El servidor de la red interna tendrá una dirección IP privada que no es enrutable en Internet. Como resultado, necesita traducir esa dirección IP privada a una dirección IP pública a través de una regla NAT estática. Supongamos que tiene un servidor interno (172.16.11.5). Para que esto funcione, necesita traducir esta IP de servidor privado a una IP pública. Este ejemplo describe cómo implementar la NAT estática bidireccional para traducir de 172.16.11.5 a 209.165.200.5.
La sección sobre cómo permitir que el usuario externo acceda a este servidor web implementando una regla de acceso no se muestra aquí. Aquí se muestra un breve fragmento de CLI para su comprensión:
access-list 101 permit TCP any host 209.165.200.5
Para obtener más información, consulte Agregar o modificar una lista de acceso a través de la GUI de ASDM.
Nota: Si se especifica la palabra clave "any", cualquier usuario del mundo exterior podrá acceder a este servidor. Además, si no se especifica para ningún puerto de servicio, se puede acceder al servidor en cualquier puerto de servicio mientras los puertos permanecen abiertos. Tenga cuidado cuando implemente y se le aconseja limitar el permiso al usuario externo individual y también al puerto requerido en el servidor.
Complete estos pasos para configurar la NAT estática:
Vaya a Configuration > Firewall > NAT Rules, haga clic en Add y elija Add Static NAT Rule.
Especifique la dirección IP original y la dirección IP traducida junto con sus interfaces asociadas y haga clic en Aceptar.
Puede ver la entrada de NAT estática configurada aquí. Haga clic en Apply para enviar esto al ASA.
Este es un breve ejemplo de CLI para esta configuración ASDM:
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
Cuando necesite eximir hosts o redes específicos de NAT, agregue una regla de exención de NAT para inhabilitar la traducción de direcciones. Esto permite que tanto los hosts traducidos como los remotos inicien conexiones.
Complete estos pasos:
Vaya a Configuration > Firewall > NAT Rules, haga clic en Add y elija Add NAT Exempt Rule.
Aquí, la red interna 172.18.10.0 ha sido eximida de la traducción de direcciones. Asegúrese de que la opción Exento ha sido seleccionada. Dirección de exención de NAT tiene dos opciones:
Tráfico saliente hacia interfaces de seguridad inferior
Tráfico entrante a interfaces de mayor seguridad
La opción predeterminada es para el tráfico saliente. Haga clic en Aceptar para completar el paso.
Nota: Cuando elige la opción No eximir, ese host en particular no será eximido de NAT y se agregará una regla de acceso independiente con la palabra clave "deny". Esto es útil para evitar hosts específicos de NAT exentos, ya que la subred completa, excluyendo estos hosts, estará exenta de NAT.
Aquí puede ver la regla de exención de NAT para la dirección saliente. Haga clic en Apply para enviar la configuración al ASA.
Este es el resultado CLI equivalente para su referencia:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
Aquí puede ver cómo editar la regla de exención de NAT para su dirección. Haga clic en Aceptar para que la opción surta efecto.
Ahora puede ver que la dirección se ha cambiado a entrante.
Haga clic en Apply para enviar este resultado de CLI al ASA:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
Nota: A partir de esto, puede ver que una nueva palabra clave (outside) ha sido agregada al final del comando nat 0. Esta función se denomina NAT externa.
Otra forma de inhabilitar NAT es a través de la implementación de la NAT de identidad. La identidad NAT traduce un host a la misma dirección IP. Este es un ejemplo de NAT de identidad estática regular, donde el host (172.16.11.20) se traduce a la misma dirección IP cuando se accede desde el exterior.
Este es el resultado CLI equivalente:
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
El reenvío de puertos o la redirección de puertos es una función útil en la que los usuarios externos intentan acceder a un servidor interno en un puerto específico. Para lograr esto, el servidor interno, que tiene una dirección IP privada, se traducirá a una dirección IP pública que, a su vez, tiene permiso de acceso para el puerto específico.
En este ejemplo, el usuario externo desea acceder al servidor SMTP, 209.165.200.15 en el puerto 25. Esto se logra en dos pasos:
Traduzca el servidor de correo interno, 172.16.11.15 en el puerto 25, a la dirección IP pública, 209.165.200.15 en el puerto 25.
Permita el acceso al servidor de correo público, 209.165.200.15 en el puerto 25.
Cuando el usuario externo intenta acceder al servidor, 209.165.200.15 en el puerto 25, este tráfico será redirigido al servidor de correo interno, 172.16.11.15 en el puerto 25.
Vaya a Configuration > Firewall > NAT Rules, haga clic en Add y elija Add Static NAT Rule.
Especifique el origen original y la dirección IP traducida junto con sus interfaces asociadas. Elija Enable Port Address Translation (PAT), especifique los puertos que se redirigirán y haga clic en OK.
La regla PAT estática configurada se muestra aquí:
Este es el resultado CLI equivalente:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
Esta es la regla de acceso que permite que el usuario externo acceda al servidor smtp público en 209.165.200.15:
Nota: Asegúrese de utilizar hosts específicos en lugar de utilizar la palabra clave any en el origen de la regla de acceso.
Puede especificar el número máximo de conexiones TCP/UDP mediante la regla estática. También puede especificar el número máximo de conexiones embrionarias. Una conexión embrionaria es una conexión que es un estado medio abierto. Un mayor número de ellos afectará al rendimiento de ASA. Limitar estas conexiones evitará ciertos ataques como DoS y SYN hasta cierto punto. Para la mitigación completa, debe definir la política en el marco de MPF, que está fuera del alcance de este documento. Para obtener más información sobre este tema, consulte Mitigación de los ataques a la red.
Complete estos pasos:
Haga clic en la pestaña Connection Settings y especifique los valores para las conexiones máximas para esta traducción estática.
Estas imágenes muestran los límites de conexión para esta traducción estática específica:
Este es el resultado CLI equivalente:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
Esta sección trata sobre la implementación de listas de acceso basadas en tiempo mediante el ASDM. Las reglas de acceso se pueden aplicar en función del tiempo. Para implementar esto, debe definir un rango de tiempo que especifique los intervalos por día/semana/mes/año. A continuación, debe enlazar este rango de tiempo a la regla de acceso necesaria. El rango de tiempo se puede definir de dos maneras:
Absoluto: define un período de tiempo con hora de inicio y hora de finalización.
Periódico: también conocido como periódico. Define un período de tiempo que se produce a intervalos especificados.
Nota: Antes de configurar el rango de tiempo, asegúrese de que el ASA se haya configurado con los ajustes de fecha/hora correctos, ya que esta función utiliza los ajustes de reloj del sistema para implementar. Tener ASA sincronizado con el servidor NTP dará resultados mucho mejores.
Complete estos pasos para configurar esta función a través de ASDM:
Al definir la regla de acceso, haga clic en el botón Details en el campo Time Range (Intervalo de tiempo).
Haga clic en Agregar para crear un nuevo rango de tiempo.
Defina el nombre del rango de tiempo y especifique la hora de inicio y la hora de finalización. Click OK.
Puede ver el rango de tiempo aquí. Haga clic en Aceptar para volver a la ventana Agregar Regla de Acceso.
Ahora puede ver que el intervalo de tiempo Restringir uso se ha vinculado a esta regla de acceso.
De acuerdo con esta configuración de regla de acceso, el usuario de 172.16.10.50 tiene restringido el uso de cualquier recurso desde 05/Feb/2011 2 PM hasta 06/Feb/2011 4.30 PM. Este es el resultado CLI equivalente:
time-range Restrict-Usage absolute start 14:00 05 February 2011 end 16:30 06 February 2011 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
A continuación se muestra un ejemplo de cómo especificar un intervalo de tiempo recurrente. Haga clic en Agregar para definir un rango de tiempo recurrente.
Especifique la configuración en función de sus requisitos y haga clic en Aceptar para completar.
Haga clic en Aceptar para volver a la ventana Rango de Tiempo.
Según esta configuración, al usuario de 172.16.10.50 se le ha denegado el acceso a cualquier recurso de 15:00 a 20:00 todos los días de la semana excepto los sábados y domingos.
! time-range Restrict-Usage absolute start 00:00 05 February 2011 end 00:30 06 March 2011 periodic weekdays 15:00 to 20:00 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Nota: Si un comando time-range tiene valores absolutos y periódicos especificados, los comandos periódicos se evalúan sólo después de alcanzar la hora de inicio absoluta y no se evalúan después de alcanzar la hora de finalización absoluta.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
30-May-2011 |
Versión inicial |