本文档介绍使用ASDM在思科自适应安全设备(ASA)上如何进行端口重定向。它处理对通过ASA的流量的访问控制以及转换规则的工作方式。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
思科5500系列ASA版本8.2
思科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选项并指定Starting和Ending IP Addresses以及出口接口。此外,请指定唯一池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个活动转发对象到单个全局地址。
要使用 PAT 允许内部主机访问外部网络,具体操作步骤如下:
转至Configuration > Firewall > NAT Rules,单击Add,然后选择Add Dynamic NAT Rule选项以配置动态NAT规则。
选择实际主机所连接的接口的名称。使用Source字段中的Details按钮选择主机/网络的实际IP地址,然后选择inside-network。单击Manage以定义Translated地址信息。
单击 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 interface下可以查看配置的访问规则。
为便于使用,您还可以直接在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。
指定Original IP address(原始IP地址)和Translated IP address(转换后的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
注意:从此处,您可以看到一个新的关键字(outside)已添加到nat 0命令的末尾。此功能称为外部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点到晚上8点被拒绝访问任何资源。
! 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
|
初始版本 |