本文档介绍使用ASDM在思科自适应安全设备(ASA)上如何进行端口重定向。它涉及对通过ASA的流量的访问控制以及转换规则的工作原理。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
Cisco 5500系列ASA版本8.2
Cisco ASDM版本6.3
注意:此配置仅适用于Cisco ASA软件版本8.0到8.2,因为NAT功能没有重大更改。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
此配置中使用的 IP 编址方案在 Internet 上不可合法路由。这些地址是在实验室环境中使用的 RFC 1918 地址。
出站访问描述从较高安全级别的接口到较低安全级别的接口的连接。这包括从内部到外部的连接、从内部到隔离区 (DMZ) 的连接和从 DMZ 到外部的连接。只要连接源接口的安全级别高于目标接口的安全级别,这还可能包括从一个 DMZ 到另一个 DMZ 的连接。
没有配置转换规则,任何连接都无法通过安全设备。此功能称为nat-control 。此处显示的图像展示了如何通过ASDM禁用此功能,以便允许通过ASA的连接而不进行任何地址转换。但是,如果您配置了任何转换规则,则禁用此功能并不对所有流量都保持有效,您需要明确免除网络的地址转换。
您可以通过配置动态NAT规则允许一组内部主机/网络访问外部。要实现这一目的,您需要选择所要授予外部访问权限的主机/网络的真实地址,然后将其映射到转换 IP 地址池。
要使用 NAT 允许内部主机访问外部网络,具体操作步骤如下:
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add Dynamic NAT Rule选项以配置动态NAT规则。
选择实际主机所连接的接口的名称。使用Source字段中的Details按钮选择主机/网络的实际IP地址。
下面的示例选择了整个内部网络。单击OK以完成选择。
单击Manage以选择要将实际网络映射到的IP地址池。
单击Add以打开Add Global Address Pool窗口。
选择Range 选项并指定开始和结束IP地址以及输出接口。此外,请指定唯一池ID并单击Add以将其添加到地址池。单击OK以返回到Manage Global Pool窗口。
单击OK以返回到Add Dynamic NAT Rule窗口。
单击OK以完成动态NAT规则配置。
点击 Apply 使更改生效。
注意:Enable traffic through the firewall without address translation选项处于未选中状态。
与此 ASDM 配置等效的 CLI 输出如下所示:
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
根据此配置,172.16.11.0网络中的主机将转换为NAT池209.165.200.20-209.165.200.40中的任意IP地址。此处,NAT池ID非常重要。您可以将同一个NAT池分配给另一个内部/dmz网络。如果映射池的地址少于实际组,则当流量大于预期时,地址可能会耗尽。因此,您可以尝试实施PAT,也可以尝试编辑现有地址池以对其进行扩展。
注意:对现有转换规则进行任何修改时,需要使用clear xlate命令使修改生效。否则,先前的现有连接将保留在连接表中,直到它们超时。使用clear xlate命令时要小心,因为它会立即终止现有连接。
如果希望内部主机共享一个公共地址进行转换,请使用 PAT。如果 global 语句指定一个地址,则该地址是端口转换地址。ASA允许每个接口进行一个端口转换,并且该转换最多支持将65,535个活动xlate对象转换到单个全局地址。
要使用 PAT 允许内部主机访问外部网络,具体操作步骤如下:
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add Dynamic NAT Rule选项以配置动态NAT规则。
选择实际主机所连接的接口的名称。使用Source字段中的Details按钮选择主机/网络的实际IP地址,然后选择inside-network。单击Manage 以定义转换后的地址信息。
单击 Add。
选择Port Address Translation (PAT) using IP address of the interface选项,然后单击Add以将其添加到地址池。不要忘记为此NAT地址池分配唯一ID。
此处显示已配置的地址池,外部接口是该池中唯一可用的地址。单击OK以返回到Add Dynamic NAT Rule窗口。
Click OK.
此处的Configuration > Firewall > NAT Rules窗格中显示了配置的动态NAT规则。
与此 PAT 配置等效的 CLI 输出如下所示:
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
如果未定义访问规则,则安全性较高的接口的用户可以访问与安全性较低的接口关联的任何资源。要限制特定用户访问特定资源,请使用ASDM中的访问规则。此示例说明如何允许单个用户访问外部资源(使用FTP、SMTP、POP3、HTTPS和WWW)并限制所有其他用户访问外部资源。
注意:每个访问列表的末尾都有一个“隐式拒绝”规则。
请完成以下步骤:
转至Configuration > Firewall > Access Rules,单击Add,然后选择Add Access Rule选项以创建新的访问列表条目。
在Source字段中选择要允许的源IP地址。选择any作为Destination,inside作为Interface,Permit作为Action。最后,单击Service字段中的Details 按钮,为所需端口创建TCP服务组。
单击Add,然后选择TCP Service Group 选项。
输入此组的名称。选择所需的每个端口,然后单击Add以将其移到Members in Group字段。
您应该会在右侧字段中看到所有选定端口。单击OK以完成服务端口选择过程。
您可以在此处看到已配置的TCP服务组。Click OK.
单击 OK 以完成配置。
在Configuration > Firewall > Access Rules窗格中的inside接口下,可以查看配置的访问规则。
为了便于使用,您还可以直接在Services选项卡的右侧窗格中编辑TCP服务组。单击Edit直接修改此服务组。
它再次重定向到Edit TCP Service Group窗口。根据需要执行修改,然后单击OK以保存更改。
此处显示了ASDM的完整视图:
以下是等效的CLI配置:
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 !
有关实施访问控制的完整信息,请参阅通过ASDM GUI添加或修改访问列表。
本节介绍如何启用具有相同安全级别的接口内的流量。
以下说明介绍如何启用接口内通信。
这对于进入接口但随后从同一接口路由出去的VPN流量很有用。在这种情况下,VPN流量可能未加密,也可能为另一个VPN连接重新加密。转到Configuration > Device Setup > Interfaces,然后选择Enable traffic between two or more hosts connected to the same interface选项。
以下说明介绍如何启用接口间通信。
这对于允许具有相同安全级别的接口之间的通信非常有用。转到Configuration > Device Setup > Interfaces,然后选择Enable traffic between two or more interfaces that configured with same security levels选项。
这是这两个设置的等效CLI:
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
这可以通过应用静态NAT转换和访问规则来允许这些主机来实现。每当外部用户想要访问位于内部网络中的任何服务器时,您都需要进行此配置。内部网络中的服务器具有无法在互联网中路由的专用 IP 地址。因此,您需要使用静态 NAT 规则将该专用 IP 地址转换为公共 IP 地址。假设您有一个 IP 为 172.16.11.5 的内部服务器。为了使其正常工作,您需要将此专用服务器IP转换为公共IP。本示例说明如何实施双向静态NAT,以将172.16.11.5转换为209.165.200.5。
此处未显示有关允许外部用户通过实施访问规则来访问此Web服务器的部分。此处显示了一个简要的CLI代码段,便于您理解:
access-list 101 permit TCP any host 209.165.200.5
有关详细信息,请参阅通过ASDM GUI添加或修改访问列表。
注意:指定关键字“any”将允许来自外界的任何用户访问此服务器。此外,如果没有为任何服务端口指定该端口,则可以在任何服务端口保持打开状态时访问服务器。实施时要小心,建议您限制对单个外部用户的权限以及服务器上的所需端口。
要配置静态NAT,请完成以下步骤:
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add Static NAT Rule。
指定原始IP地址和转换后的IP地址及其相关接口,然后单击OK。
您可以在这里看到已配置的静态 NAT 条目。点击 Apply,以将配置发送到 ASA。
以下是此ASDM配置的简要CLI示例:
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
当您需要使特定主机或网络免除NAT时,请添加NAT免除规则以禁用地址转换。这允许转换主机和远程主机发起连接。
请完成以下步骤:
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add NAT Exempt Rule。
此处,内部网络172.18.10.0免于地址转换。请确保选中Exempt选项。NAT免除方向有两个选项:
流向安全级别较低的接口的出站流量
流向安全性较高的接口的入站流量
默认选项用于出站流量。单击OK以完成步骤。
注意:当您选择Do not exempt选项时,该特定主机将不会被免除NAT,并且将用“deny”关键字添加一个单独的访问规则。这有助于避免特定主机免除NAT,因为整个子网(不包括这些主机)将免除NAT。
您可以在此处查看出站方向的NAT免除规则。单击Apply,以将配置发送到ASA。
以下是供您参考的对应CLI输出:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
在此,您可以看到如何针对其方向编辑NAT免除规则。单击OK使选项生效。
现在您可以看到方向已更改为inbound。
单击Apply,将以下CLI输出发送到ASA:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
注意:从此处,您可以看到在nat 0命令的末尾添加了一个新的关键字(outside)。此功能称为外部NAT。
禁用NAT的另一种方法是实施身份NAT。身份NAT将主机转换为同一IP地址。以下是常规静态身份NAT示例,其中主机(172.16.11.20)在从外部访问时转换为同一IP地址。
以下是等效的CLI输出:
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
在外部用户需要访问特定端口上的内部服务器的情况下,端口转发(或端口重定向)功能十分有用。要达到这个目的,内部服务器(具有专用 IP 地址)需要转换为公共 IP 地址,以便能够允许对特定端口的访问。
在下面的示例中,外部用户需要访问端口 25 上的 SMTP 服务器 209.165.200.15。这个过程分为两个步骤:
将端口25上的内部邮件服务器172.16.11.15转换为端口25上的公共IP地址209.165.200.15。
允许访问端口 25 上的公共电子邮件服务器 209.165.200.15。
当外部用户尝试在端口25访问服务器209.165.200.15时,此流量将重定向到端口25的内部邮件服务器172.16.11 15。
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add Static NAT Rule。
指定原始源和转换后的IP地址及其相关接口。选择Enable Port Address Translation (PAT),指定要重定向的端口,然后单击OK。
配置的静态PAT规则如下所示:
以下是等效的CLI输出:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
以下访问规则允许外部用户访问位于209.165.200.15的公共smtp服务器:
注意:请确保使用特定主机,而不是在访问规则源中使用any关键字。
您可以使用静态规则指定TCP/UDP连接的最大数量。您还可以指定正在建立的连接的最大数量。半开连接是一种半开状态的连接。其中大量组件将影响ASA的性能。限制这些连接将在某种程度上阻止某些攻击,如DoS和SYN。为了完全缓解,您需要在MPF框架中定义策略,这超出了本文档的讨论范围。有关本主题的详细信息,请参阅缓解网络攻击。
请完成以下步骤:
单击Connection Settings选项卡,并指定此静态转换的最大连接数。
下图显示了此特定静态转换的连接限制:
以下是等效的CLI输出:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
本节介绍如何使用ASDM实施基于时间的访问列表。可根据时间应用访问规则。为了执行此步骤,您需要定义一个时间范围,指定按日/周/月/年计时。然后,您需要将此时间范围绑定到所需的访问规则。时间范围可以通过两种方式定义:
绝对-定义一个时间段,包括开始时间和结束时间。
定期-也称为定期。定义按指定时间间隔发生的时间段。
注意:在配置时间范围之前,请确保使用正确的日期/时间设置配置了ASA,因为此功能使用系统时钟设置实施。使ASA与NTP服务器同步将产生更好的结果。
要通过ASDM配置此功能,请完成以下步骤:
定义访问规则时,单击Time Range字段中的Details按钮。
单击Add以创建新的时间范围。
定义时间范围的名称,并指定开始时间和结束时间。Click OK.
您可以在此处看到时间范围。单击OK 返回到Add Access Rule窗口。
您现在可以看到Restrict-Usage时间范围已绑定到此访问规则。
根据此访问规则配置,位于172.16.10.50的用户被限制使用从2011年2月5日下午2点到2011年2月6日下午4.30点的所有资源。以下是等效的CLI输出:
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
以下示例说明如何指定循环时间范围。单击Add以定义周期性时间范围。
根据您的要求指定设置,然后单击OK完成设置。
单击OK 返回到Time Range窗口。
根据此配置,从172.16.10.50的用户被拒绝访问从下午3:00到晚上8:00的所有工作日(周六和周日除外)的任何资源。
! 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
注意:如果time-range命令指定了绝对值和周期值,则periodic命令仅在达到绝对开始时间后进行评估,并在达到绝对结束时间后不再进一步评估。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
30-May-2011 |
初始版本 |