安全政策基本原理

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
L2 Linker
No ratings

《概述》
本文件描述了Palo Alto Networks防火墙上安全策略的基本原理。

所有穿越Palo Alto Networks防火墙的数据平面的流量都与安全策略相匹配。这不包括来自防火墙管理界面的流量,因为在默认情况下,这种流量不会通过防火墙的数据平面。防火墙上的安全策略可以使用各种标准来定义,如区域、应用、IP地址、端口、用户和HIP配置文件。防火墙管理员可以定义安全策略,以允许或拒绝流量,从区域作为广泛的标准开始,然后用更细的选项(如端口、应用程序和HIP配置文件)对策略进行微调。

 

《两种安全策略》
防火墙有两种安全策略。

1)明安全策略由用户定义,在CLI和Web-UI界面上可见。
2)隐式安全策略是用户通过CLI界面或Web-UI界面不可见的规则。下一节将讨论Palo Alto Networks防火墙的隐性安全策略。


《隐式安全策略》(Implicit security policies)

默认情况下,防火墙隐式允许区内(发端和目的地在同一区域)流量,隐式拒绝区间(不同区域之间)流量。默认情况下,隐式策略允许或拒绝的流量不在防火墙上记录,所以找不到这种流量的日志。要被防火墙记录,流量必须与防火墙上明确配置的安全策略相匹配。然而,为了排除故障,可以改变默认行为。请参考:How to See Traffic from Default Security Policies in Traffic Logs: http://live.paloaltonetworks.com/t5/Configuration-Articles/How-to-See-Traffic-from-Default-Security-...

 

《会话》(Sessions)

Palo Alto Networks防火墙是一个有状态的防火墙,这意味着通过防火墙的所有流量都与一个会话相匹配,然后每个会话都与一个安全策略相匹配。

一个会话由两个流组成。客户端到服务器流(c2s流)和服务器到客户端流(s2c流)。流量启动的端点始终是客户,而流量目的地的端点是服务器。对于定义安全策略,只需要考虑c2s流向。定义政策,允许或拒绝从始发区到目的区的流量,也就是c2s方向。返回流,s2c,不需要新的规则。防火墙上的安全策略评估在列表中从上到下依次进行,因此与列表中第一个最接近的规则相匹配的流量适用于该会话。

 

以下是一个如何从CLI识别会话中流量的例子:

> show session id 107224

Session          107224

 

        c2s flow:

                source:    172.23.123.5 [Test]

                dst:        172.23.123.1

                proto:      50

                sport:      37018          dport:    37413

                state:      ACTIVE          type:      TUNN

                src user:  unknown

                dst user:  unknown

 

        s2c flow:

                source:    172.23.123.1 [Test]

                dst:        172.23.123.5

                proto:      50

                sport:      37750          dport:    50073

                state:      ACTIVE          type:      TUNN

                src user:  unknown

                dst user:  unknown 

 

《拓扑结构》
在本文中,使用了以下拓扑作为安全策略案例:

rtaImage.png
 

《服务 "应用-默认"》(application-default)
在下面的例子中,安全策略允许和拒绝符合以下条件的流量。

 

策略A: 所有从IP子网192.168.1.0/24的信任区发起的、以非信任区为目的地的应用,必须允许任何来源和目的地端口。

策略B:必须允许从信任区的IP 192.168.1.3发起的以非信任区为目的地的应用程序、DNS、Web浏览、FTP流量。这些应用               程序应该被限制在 "应用程序默认 "的端口上使用。例如,DNS应用程序,默认情况下,使用目标端口53。因此,                   DNS应用程序应该只允许在这个端口使用。在其余的目标端口上使用这个应用程序应该被拒绝。

策略C: 所有其他从192.168.1.3到Untrust区域的应用程序必须被阻止。

策略D: 所有从Untrust区域发起的到任何区域的流量都应该被阻止。


安全策略中的服务栏定义了应允许流量的源端口和目的端口。这四个选项是:

1)应用-默认(Application-default)。允许默认目标端口的流量。
关于寻找各种应用,所使用的默认目标端口的更多细节,请参考以下文件。
请参阅:How to view Application-default ports for an application.
2)任何(Any)允许任何源和目的端口的流量。
3)预定义服务(Predefined services)已经在防火墙上定义的服务。
4)自定义服务(Custom services)管理员可以根据他们的应用端口要求来定义服务。


该例子显示了为符合上述标准而创建的规则。

 rtaImage (1).png

提交上述配置变更时,会显示以下跟随策略警告:

rtaImage (2).png

 

接下来将讨论跟随策略警告的影响和避免影子警告的技巧。

 

《规则的跟随》 (Shadowing of rules)
在上面的例子中,IP地址192.168.1.3属于信任区,属于子网192.168.1.0/24。由于防火墙从上到下进行安全策略查询,所有来自IP 192.168.1.3的流量都与规则A相匹配,并将被应用到会话。尽管该流量也符合规则B和规则C的标准,但这些规则不会被应用于该流量,因为规则A正在影射规则B和规则C。

为了避免跟随策略影响,规则B和规则C应该在规则A之前,如下图所示。现在,流量与正确的规则相匹配,并防止在提交commit过程中出现 "跟随策略警告"。

 rtaImage (3).png

《基于用户的安全策略》 (security policies based on users)

在上面的例子中,策略是基于IP地址编写的。 以同样的方式,LDAP用户、LDAP组和防火墙上的本地定义用户也可以在安全策略中使用。关于如何配置User-ID和将用户添加到安全策略中的更多细节,请参考以下文件:

配置User-ID Getting Started: User-ID

 

《带有NAT的IP地址的安全策略》 (Security policies with NATed IP addresses)

本节讨论了在涉及到IP地址转换时如何编写安全策略,以及如何在安全策略中使用URL类别来控制各种网站。

 

在下面的例子中,安全策略被定义为与以下条件相匹配:

 

非信任区(Untrust)的公共IP 192.0.2.1被翻译成DMZ区Web服务器的私有IP 10.1.1.2。

从非信任区(Untrust)到DMZ区的Web服务器10.1.1.2的入站流量必须只允许使用25、443和8080端口。
信任区(Trust)的所有用户必须被拒绝访问非信任区的 "成人和色情 "类网站。
所有其他从信任区到非信任区的流量都必须被允许。


下面的规则显示了满足上述标准的配置。

rtaImage (4).png

 

所有从非信任区发往Web服务器的流量,其目标公共IP为192.0.2.1,属于非信任区。由于该流量来自非信任区,目的地是非信任区的IP,因此该流量被一个允许相同区域流量的隐含规则所允许。在安全策略查询之后,防火墙做了一个NAT策略查询,确定Web服务器的公共IP应该被翻译成位于DMZ区的私有IP 10.1.1.2。在这个阶段,防火墙有了最终目标区域(DMZ),但是IP从192.0.2.1到10.1.1.2的实际转换还没有发生。在确定NAT后流量的最终目的区信息后,防火墙进行第二次安全策略查询,以找到一个政策,允许以最终目的区DMZ为目的地的流量。因此,上面的规则X被配置为允许后NAT流量。注意,规则X将DMZ(Post-NAT区域)作为目标区域,将192.0.2.1(Pre-NAT IP)作为目标IP地址。在上面的例子中,一个服务 "Web-server_Ports "被配置为允许目标端口25、443和8080。欲了解更多信息,请参阅。如何配置一个策略以使用一个端口范围。

 

《安全策略中的URL类别》 (URL categories in security policies)

在上面的例子中,规则Y被配置为使用安全策略中的URL类别选项阻止成人类别网站。在安全策略中使用URL类别选项时,必须在策略中明确提到网络浏览应用程序。否则,不相关的流量将与此规则相匹配。另一种基于URL类别控制网站的方法是使用URL过滤配置文件。

 

《应用程序的依赖性和应用程序的转移》 (Application dependencies and application shifts)

本节讨论了 "应用依赖性",并描述了当应用-ID在会话中间改变时,会话会发生什么。

在下面的例子中,安全策略被定义为允许和拒绝符合以下条件的流量。

应该允许Gotomeeting、Youtube从信任区到非信任区的应用。
应该允许应用Facebook、Gmail-base从访客区到非信任区。
对于访客区的用户,SSL和网络浏览应该被阻止。


以下案例能看出符合上述标准而创建的规则。

rtaImage (5).png

在提交配置更改时,可能会看到以下应用程序依赖性警告。

rtaImage (6).png

像Gotomeeting和YouTube这样的应用最初被识别为SSL、网络浏览和Citrix。随着这些会话的更多数据包通过防火墙,防火墙可以获得更多信息来识别应用程序。然后,防火墙将应用程序转移到Gotomeeting和Youtube等各自的应用程序。

每当应用程序转移发生时,防火墙就会进行新的安全策略查询,以找到与新应用程序相匹配的最接近的规则。因此,在上述案例中,SSL和网络浏览被称为Gotomeeting和Youtube的附属应用,因此这些应用也应该在安全策略中被允许。如果流量的应用在会话过程中发生变化,那么第二次安全策略查询就会根据安全策略重新匹配流量,以找到新的最接近的匹配策略。

rtaImage (7).png
 

在上面的例子中,创建了一个新的安全策略,"依赖性应用程序规则",以允许SSL和网络浏览。Youtube的流量最初与此规则相匹配,一旦发生应用转移,第二次安全策略查询就与规则10相匹配。

一些协议的应用程序可以被允许,而不需要明确地允许其依赖性(文档:http://live.paloaltonetworks.com/t5/Management-Articles/How-to-Check-if-an-Application-Needs-Explici...。在上面的例子中,Facebook和gmail-base就是这样的应用,它们依赖于SSL和网络浏览,不需要明确允许它们的依赖性应用。

 

《应用程序识别和解密》 (Application identification and decryption)

某些像Vimeo这样的应用,使用SSL并且是加密的,不需要SSL解密就可以被防火墙识别。然而,像YouTube这样使用SSL的应用程序,需要由防火墙解密来识别。由于SSL连接是加密的,因此防火墙无法看到这种流量,以便对其进行识别。防火墙使用证书中的通用名称字段进行应用识别。这是在SSL握手过程中以明文交换的。

像Vimeo这样的网站使用网站的URL名称作为通用名称,因此不需要配置SSL解密。一些网站如YouTube使用带有通配符名称的证书作为公共名称。在YouTube的情况下,它是*.google.com。因此,使用这一信息进行应用识别是不可能的,必须配置SSL解密以获得对网站URL的可见性。请参考以下关于如何实施和测试SSL解密的文件 http://live.paloaltonetworks.com/t5/Configuration-Articles/How-to-Implement-and-Test-SSL-Decryption/... 。

 

《清理规则》 (Clean-up rule)

些环境要求记录所有被防火墙拒绝和允许的流量。默认情况下,只有防火墙明确允许的流量才会被记录下来。要记录防火墙隐含规则所允许的流量,请参考:

- 任何/任何/拒绝安全规则改变默认行为 http://live.paloaltonetworks.com/t5/Learning-Articles/Any-Any-Deny-Security-Rule-Changes-Default-Beh...

- 如何在流量日志中看到来自默认安全策略的流量 http://live.paloaltonetworks.com/t5/Configuration-Articles/How-to-See-Traffic-from-Default-Security-...

 

《安全策略提示》(Security policy tips)

防火墙以相同的顺序检查以下标准,以便根据安全策略匹配流量。

1)源地址和目标地址 (Source and destination address)

2)源端口和目标端口 (Source ports and destination ports)

3)应用程序 (Applications)
4)用户-ID (User-ID)
5)URL类别 (URL Category)
6)源区和目的区 (Source and destination zones)

 

rtaImage (8).png

在上述配置实例中,当TCP端口80上的应用程序 "网络浏览 "从信任区到非信任区通过防火墙时,将以下列方式进行安全查询。

1) 源地址和目标地址 (Source and destination address) - 因为规则A、B和C有 "任何 "源和目的地址,所以该流量与所有这些规则相匹配。
2) 源端口和目标端口 (Source ports and destination ports) - 因为规则A、B和C有 "任何 "服务,所以流量符合所有这些规则。
3) 应用程序 (Applications) - 由于规则A和B有 "网络浏览 "应用程序,流量符合这些规则。
4) 用户-ID (User-ID) - 这里不适用。
5) URL类别 (URL Category) - 此处不适用。
6) 源区和目的区 (Source and destination zones) - 因为流量是在信任区和非信任区之间,所以为这个流量选择了规则A。


配置安全策略的最佳方式是尽量减少 "任何 "的使用,并在可能的情况下使用具体的值。这可以减少Palo Alto Networks设备进行的不必要的安全策略查询。

 

 
Rate this article:
  • 1501 Views
  • 0 comments
  • 0 Likes
Register or Sign-in
Contributors
Labels
Article Dashboard
Version history
Last Updated:
‎01-09-2023 01:16 AM
Updated by: