教程篇(7.2) 03. 网络地址转换 & FortiGate安全 ❀ Fortinet网络安全专家 NSE4 | 您所在的位置:网站首页 › fortinet防火墙管理口地址 › 教程篇(7.2) 03. 网络地址转换 & FortiGate安全 ❀ Fortinet网络安全专家 NSE4 |
● 安全:对外部网络隐藏设备的真实地址。 ● 防止公共地址耗尽:数百台计算机可以共享相同的公共IPv4地址。 ● 私有地址的灵活性:即使ISP改变,地址也可以保持不变。你可以在多个网络中重用私有地址。 NAT分为SNAT和DNAT两种。SNAT是指NAT设备对报文中的源IP地址和源端口进行转换。在DNAT中,NAT设备对目标IP地址和目标端口进行转换。配置FortiGate进行SNAT和DNAT的方法如下: ● 对于SNAT,在匹配的防火墙策略上开启NAT转换。也可以开启中心NAT功能,为VDOM配置中央SNAT规则。 ● 对于DNAT,你配置虚拟IP (VIP),然后在匹配的防火墙策略中引用。开启中央NAT功能后,可以配置DNAT的中心规则和VIP对象。 上图的例子展示了NAT最常见的用例:SNAT。FortiGate作为一个NAT设备,将分配给PC的私有IP地址转换为ISP分配的公共地址。PC访问互联网web服务器需要进行私有到公共源地址转换。 NAT64是将IPv6地址转换为IPv4地址的方法,NAT46是将IPv4地址转换为IPv6地址的方法。它们使你能够将IPv6网络与IPv4网络通信,或者反向通信。NAT66由两个IPv6网络之间的地址转换组成。
当采用防火墙策略NAT方式时,每条防火墙策略都需要配置SNAT和DNAT。 当使用中央NAT时,可以通过配置SNAT和DNAT规则来配置每个虚拟域的NAT。SNAT和DNAT设置自动应用于多个防火墙策略,而不是防火墙策略NAT中的每个防火墙策略。 作为最佳实践,在使用中心NAT时,应该配置特定的SNAT和DNAT规则,以便它们只匹配你的配置中所需的防火墙策略。 防火墙策略NAT和中央NAT产生相同的结果;但是,有些部署场景最适合防火墙策略NAT,有些最适合中央NAT。 防火墙策略NAT建议用于NAT IP地址相对较少且每个NAT IP地址都有单独的策略和安全配置文件的部署。对于多个NAT IP地址具有相同策略和安全配置文件的复杂场景,或者在下一代防火墙(NGFW)策略模式下,可能无法在第一个报文中确定合适的策略,建议使用中央NAT。
● 使用出接口地址。 ● 动态IP池。 当有多台设备时,FortiGate执行多对一NAT,即PAT。FortiGate为共享出接口地址的每个连接分配来自可用端口池的端口号。端口的分配使FortiGate能够识别与连接相关的数据包,然后执行相应的转换。这与overload IP池类型的行为相同,你也将了解overload IP池类型。 你还可以选择一个固定端口,在这种情况下源端口转换将被禁用。对于固定端口,如果两个或多个连接对一个IP地址要求相同的源端口,则只建立一个连接。 上图的例子显示了在FortiGate后面的两台PC共享相同的公共IP地址(70.70.70.70)来访问互联网web服务器80.80.80.80。由于在CLI set net enable,在防火墙策略上启用了使用流出接口地址,PC的源IP地址转换为出接口地址。然而,源端口并不总是被转换。这取决于可用端口和连接5元组。在上图的示例中,FortiGate仅从PC2转换连接的源端口。否则,这两个连接将在会话表中具有相同的应答流量信息,这将导致会话冲突。 一般情况下,IP池的配置范围与接口IP地址一致。 在配置将用于NAT的IP池时,必须考虑一些限制。如果IP地址池中的IP地址与接口的IP地址不一致,如果路由配置不正确,基于这些IP地址的通信可能会失败。例如,如果接口分配的IP地址为172.16.100.1/24,则除非配置了适当的路由,否则不能选择10.10.10.1 ~ 10.10.10.50作为IP池。 在防火墙上可以配置四种类型的IP池: ● Overload ● 一对一 ● 固定端口范围 ● 端口块分配 固定端口范围和端口块分配类型是比较常见的运营商级NAT (CGN)部署。
默认情况下,IP池类型为Overload。在Overload IP池类型中,采用多对一或多对少关系,并进行端口转换。 在上图的示例中,源IP 10.0.1.10被转换为地址70.70.70.71,这是IP池(70.70.70.71 - 70.70.70.75)中定义的地址之一。 内部地址到外部地址只有一个映射。也就是说,IP池地址不与任何其他内部主机共享,因此名称为一对一。如果IP池中没有更多可用的地址,FortiGate将丢弃来自未服务主机的数据包。 上图的例子显示了三个内部主机访问互联网。PC1和PC2数据包首先被FortiGate接收,因此,它们的地址分别为70.70.70.71和70.70.70.72。然而,FortiGate会丢弃来自PC3的数据包,因为它是最后到达的,也就是当IP池中没有更多可用地址可供选择时。 另一种选择是部署以CGN为中心的功能,例如固定端口范围IP池。固定端口范围IP池允许管理员通过公共地址和端口跟踪连接,而不必记录每个会话。当配置固定端口范围IP池时,指定一个外部IP地址范围,FortiGate使用该范围对来自内部IP地址范围的流量进行NAT转换。之所以称为固定端口段,是因为FortiGate根据配置的内部IP地址和外部IP地址数量,计算出IP池的端口块大小和可用端口块数量。然后,在执行NAT时,FortiGate将一个或多个端口块分配给内部主机,这使管理员能够跟踪连接而无需记录它们。 上图的示例显示了一个固定端口范围的IP池。内部地址范围10.0.1.1 ~ 10.0.1.253对应外部地址范围70.70.70.71 ~ 70.70.70.80。也就是说,FortiGate与253个内部地址共享10个外部地址。 你还可以使用diagnostic firewall ippool-fixed-range list natip命令查看每个内部地址的详细外部地址和端口分配信息,如上图所示。结果是,你可以通过提供连接的公共地址和端口来识别订阅者。
在日志记录方面,当FortiGate为主机分配端口块时,会生成系统事件日志通知管理员。然后,管理员可以查看系统事件日志,以识别由设备进行的互联网连接,如果当局需要此类信息。也就是说,与固定端口阻断的情况一样,管理员不必为连接识别目的而记录流量。 上图的例子展示了端口块分配是如何进行的。FortiGate以先到先得的方式分配端口块。当FortiGate收到来自未服务主机的报文时,进行端口块分配。在本例中,10.0.1.10和10.0.1.33是尝试访问internet的未被服务的主机。然后,FortiGate将端口块分配给每台主机,并对流量执行相应的SNAT。分配后,FortiGate还会生成包含端口块分配详细信息的系统事件日志,以通知管理员。 请注意,上图显示的系统事件日志有经过修剪。
默认情况下,VIP类型为静态NAT。这意味着: 1. 无论连接的协议和端口是什么,只要匹配的防火墙策略将VIP引用为目的地,FortiGate将对去往VIP中定义的外部IP地址的入口流量执行DNAT。 2. 当对VIP中映射地址的所有出口流量进行SNAT时,FortiGate使用VIP中定义的外部IP地址作为NAT IP,前提是匹配的防火墙策略启用了NAT。即,FortiGate不使用出接口地址作为NAT IP。 请注意,你可以使用IP池来覆盖步骤2中描述的行为。类型也可以选择FQDN。当选择FQDN时,可以将FQDN地址对象配置为外部IP地址和内部IP地址。这使得FortiGate能够自动更新VIP使用的外部和内部IP地址,以防FQDN解析地址更改。 你也可以在VIP上启用端口转发功能,指示FortiGate将VIP中匹配外部地址和端口的流量重定向到映射的内部地址和端口。启用端口转发后,FortiGate不再进行一对一映射。这意味着你可以重用相同的外部地址,并将其映射到不同的内部地址和端口,前提是外部端口是唯一的。例如,你可以配置VIP,使对外部IP 70.70.70.70的8080端口的连接映射到内部IP 192.168.0.70的80端口上的。然后,你可以配置另一个VIP,以便将对外部IP 70.70.70.70的端口8081的连接映射到内部IP 192.168.0.71的端口80上。 另外,外部接口地址与VIP中配置的外部地址不同。只要上游网络正确地设置了路由,这就不是问题。你也可以在VPN上使能ARP应答功能(默认使能),以方便上行网络的路由。在本节课中,你将学习更多关于ARP应答的知识。 还要注意,如果VIP在入口防火墙策略中被引用,FortiGate将为SNAT使用VIP外部地址。也就是说,如果你没有配置防火墙策略ID 1,如前一张图片所示,或者如果你禁用防火墙策略,那么FortiGate不会自动使用外部IP来转换web服务器的源地址。相反,FortiGate使用出接口地址(70.70.70.70)。 两个连接都匹配防火墙策略ID,该策略ID引用两个VIP作为目标。HTTPS连接匹配WebServer-Ext VIP, SSH连接匹配SSHServer-Ext VIP。注意,对于SSH连接,FortiGate还将目标端口从222转换为22。 虽然没有在这张图片上显示,来自web和SSH服务器的外向连接将导致FortiGate使用SNAT的出口接口地址作为NAT IP,前提是有一个匹配的防火墙策略启用了NAT。 在上图所示的示例中,第一个防火墙策略的目标被设置为all。即这意味着所有的目的地址(0.0.0.0/0),默认情况下,这并不包括在VIP上定义的外部地址。结果是,发送到Web_server VIP上定义的外部地址的流量将跳过第一个策略,而是匹配第二个策略。 但是,如果你希望第一个策略阻止到所有目的地的所有传入流量,包括目的地为任何VIP的流量,该怎么办呢?如果你的网络受到攻击,并且你想暂时阻止所有传入的外部流量,这是非常有用的。你可以通过在第一条防火墙策略上启用match-vip来做到这一点。启用match-vip可以指导FortiGate在策略评估期间检查VIP。需要注意的是,match-vip仅在防火墙策略动作为“DENY”时有效。 如果希望只阻断去往一个或多个VIP的流量,可以在防火墙的阻断策略中引用这些VIP作为目的地址。 在大多数网络中,通常不需要启用ARP应答功能,因为相邻设备的路由表中包含正确的下一跳信息,因此网络是可达的。但是,有时路由配置不完全正确,启用ARP应答功能可以解决这个问题。出于这个原因,保持启用ARP应答是一个最佳实践。 请看这上图的例子,它展示了FortiGate和ISP路由器之间的互联网连接。本例还展示了简化版的ISP路由器路由表和ARP表。 ISP为FortiGate管理员分配公共子网80.80.80.0/24用于部署面向互联网的业务。管理员配置了上图显示的VIP,为互联网用户提供访问公司web服务器的权限。在测试时,管理员确认internet用户可以通过80.80.80.1. 然而,管理员可能没有意识到启用ARP应答是成功连接的关键。原因是ISP路由器的路由表中没有通过70.70.70.2网关访问80.80.80.0/24子网的路由。相反,路由表包含通过port1为子网连接的路由。结果是ISP路由器从port1生成ARP请求,以解析80.80.80.0/24子网中任何地址的MAC地址。尽管如此,由于FortiGate响应VIP中的外部地址的ARP请求,ISP路由器能够成功解析MAC地址。
可以通过命令行方式或图形界面方式启用。 启用中央NAT功能后,在GUl上可以配置以下两种功能: ● 中央NAT ● DNAT和虚拟IP 如果你尝试启用中央NAT,但防火墙策略中仍然配置了IP池或VIP,该怎么办? CLI不允许这样做,并显示一条消息,引用带有VIP或IP池的防火墙策略ID。为了启用中央NAT,必须从现有防火墙策略中删除VIP或IP池引用。 新建NGFW的策略模式必须配置中央SNAT。这意味着SNAT仅根据单击策略&对象 > 中央 SNAT找到的NAT设置进行操作。 对SNAT使用中央NAT的主要好处是防火墙策略和中央SNAT策略隔离。这对于包含多个网络和IP池的高级SNAT配置特别有用。不需要在防火墙策略上启用NAT和选择IP池,只需对防火墙策略接受的所有流量配置SNAT策略。这样,您就可以将防火墙策略配置的重点放在接受什么样的流量上,而将SNAT策略的重点放在转换接受的流量的哪一部分以及遵循SNAT映射上。其结果是通过从防火墙策略配置中删除SNAT设置来简化防火墙策略配置。 配置SNAT策略时,可以配置以下匹配条件: ● 流入接口 ● 流出接口 ● 源地址 ● 目标地址 ● 协议 ● 源端口(显示式端口映射) 你必须指定是使用流出接口地址还是使用IP池进行SNAT。如果开启了中央NAT模式,除非配置相应的匹配的中央SNAT策略,否则不会对流量进行SNAT。同样,如果流量没有匹配任何配置的SNAT策略,FortiGate也不会对流量进行SNAT。 与防火墙策略一样,SNAT策略也从上到下进行处理,如果找到匹配,则根据中央SNAT策略映射设置转换源地址和源端口。 虽然没有在上图中显示,但已经配置了接受这两个连接的防火墙策略。 现在,如果PC1向服务器发起ICMP连接呢?因为没有匹配的中央SNAT策略,所以FortiGate不会对ICMP连接执行SNAT。 与中央SNAT的情况类似,你还必须有一个匹配的防火墙策略来接受你想要进行DNAT的流量。但是,不是引用VIP,而是将映射的内部地址引用为防火墙中的目的地,而不是外部地址。这是因为对于入口流量,DNAT发生在防火墙策略查找之前。也就是说,在防火墙策略查找过程中,FortiGate会考虑转换后的目的地址。 在中央NAT模式下,创建VIP后立即生效。如果你想从DNAT中排除一个VIP,你可以通过使用状态按钮禁用FortiGate GUl上的对象。 请注意,你将防火墙策略配置为将VIP映射地址匹配为目的地址,而不是VIP外部地址。 但是,请注意,当禁用中央NAT时,FortiGate将停止对流量进行NAT转换,因为它现在需要在相应的防火墙策略上应用NAT配置。为了使FortiGate执行SNAT,必须在相应的防火墙策略上启用NAT,并可选择引用IP池。对于DNAT,必须在相应的防火墙策略中引用VIP对象作为目的。
stats命令提供以下数据和信息: ● 每个IP池的NAT会话 ● 每个IP池的TCP会话总数 ● 每个IP池的UTP会话总数 ● 每个IP池的其他会话总数(非TCP和非UDP) 或者,你可以使用IP池的名称过滤特定IP池的输出。 ● 避免错误配置IP池范围: ● 请仔细检查每个IP池的起始IP地址和结束IP地址。 ● 请确保IP池地址范围不与FortiGate接口或直连网络中的主机地址重叠。 ● 如果内部和外部用户访问相同的服务器,请配置DNS服务,以便内部用户解析使用目标内部地址,而不是VIP中定义的外部地址。 ● 除非应用程序需要,否则不要为入方向流量配置NAT规则。例如,如果对入站SMTP流量有匹配的NAT规则,则SMTP服务器可能充当开放中继。 ● 由中央NAT模式切换到防火墙策略NAT模式,或由防火墙策略NAT模式切换到中央NAT模式,需要调度维护窗口进行切换。在NAT模式之间切换可能会导致网络中断。 |
CopyRight 2018-2019 实验室设备网 版权所有 |