防火墙安全策略(基本配置)

张开发
2026/4/18 3:40:30 15 分钟阅读

分享文章

防火墙安全策略(基本配置)
防火墙基本概念安全区域Security Zone简称为区域Zone是防火墙的重要概念。防火墙大部分的安全策略都基于安全区域实施。一个安全区域是防火墙若干接口所连网络的集合一个区域内的用户具有相同的安全属性。默认安全区域华为防火墙确认已创建四个区域untrust、dmz、trust和local区域。安全区域有以下特性默认的安全区域不能删除也不允许修改安全优先级。每个Zone都必须设置一个安全优先级Priority值越大则Zone的安全优先级越高。用户可根据自己的需求创建自定义的Zone。防火墙默认安全区域均为小写字母且大小写敏感包括非受信区域untrust通常用于定义Internet等不安全的网络。非军事化区域dmz通常用于定义内网服务器所在区域。因为这种设备虽然部署在内网但是经常需要被外网访问存在较大安全隐患同时一般又不允许其主动访问外网所以将其部署一个优先级比trust低但是比untrust高的安全区域中。DMZDemilitarized Zone起源于军方是介于严格的军事管制区和松散的公共区域之间的一种有着部分管制的区域。防火墙设备引用了这一术语指代一个逻辑上和物理上都与内部网络和外部网络分离的安全区域。DMZ安全区域很好地解决了服务器的放置问题。该安全区域可以放置需要对外提供网络服务的设备如WWW服务器、FTP服务器等。上述服务器如果放置于内部网络外部恶意用户则有可能利用某些服务的安全漏洞攻击内部网络如果放置于外部网络则无法保障它们的安全。受信区域trust通常用于定义内网终端用户所在区域。本地区域locallocal区域定义的是设备本身包括设备的各接口本身。凡是由设备构造并主动发出的报文均可认为是从Local区域中发出凡是需要设备响应并处理而不仅是检测或直接转发的报文均可认为是由local区域接收。用户不能改变local区域本身的任何配置包括向其中添加接口。由于local区域的特殊性在很多需要设备本身进行报文收发的应用中需要开放对端所在安全区域与local区域之间的安全策略。区域间Interzone示例流量的源、目的地址决定了互访的区域。本例1中PC访问防火墙的接口的流量实际上是从trust zone到达local zone本例2中PC访问Internet的流量实际上是从trust zone到达untrust zone。防火墙基本概念安全策略安全策略是控制防火墙对流量转发以及对流量进行内容安全一体化检测的策略。当防火墙收到流量后对流量的属性五元组、用户、时间段等进行识别然后与安全策略的条件进行匹配。如果条件匹配则此流量被执行对应的动作。安全策略组成安全策略的组成有匹配条件、动作和安全配置文件可选。安全配置文件实现内容安全。安全策略动作如果为“允许”则可配置安全配置文件如果为“禁止”则可配置反馈报文。动作说明允许如果动作为“允许”则对流量进行如下处理如果没有配置内容安全检测则允许流量通过。如果配置内容安全检测最终根据内容安全检测的结论来判断是否对流量进行放行。内容安全检测包括反病毒、入侵防御等它是通过在安全策略中引用安全配置文件实现的。如果其中一个安全配置文件阻断该流量则防火墙阻断该流量。如果所有的安全配置文件都允许该流量转发则防火墙允许该流量转发。禁止表示拒绝符合条件的流量通过。如果动作为“禁止”防火墙不仅可以将报文丢弃还可以针对不同的报文类型选择发送对应的反馈报文。发起连接请求的客户端/服务器收到防火墙发送的阻断报文后可以快速结束会话并让用户感知到请求被阻断。Reset客户端防火墙向TCP客户端发送TCP reset报文。Reset服务器防火墙向TCP服务器发送TCP reset报文。ICMP不可达FW向报文客户端发送ICMP不可达报文。更多详细信息可以参考文档“安全策略”章节https://support.huawei.com/hedex/hdx.dodocidEDOC1100084128langzhidPath24030814%7C9856724%7C21430823%7C22984765%7C23176238。安全策略的匹配过程当配置多条安全策略规则时安全策略的匹配按照策略列表的顺序执行即从策略列表顶端开始逐条向下匹配。如果流量匹配了某个安全策略将不再进行下一个策略的匹配。安全策略的配置顺序很重要需要先配置条件精确的策略再配置宽泛的策略。系统默认存在一条缺省安全策略default。缺省安全策略位于策略列表的最底部优先级最低所有匹配条件均为any动作默认为禁止。如果所有配置的策略都未匹配则将匹配缺省安全策略default。防火墙基本概念会话表会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项是防火墙转发报文的重要依据。防火墙采用了基于“状态”的报文控制机制只对首包或者少量报文进行检测就确定一条连接的状态大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为了记录连接的状态而存在的。设备在转发TCP、UDP和ICMP报文时都需要查询会话表来判断该报文所属的连接并采取相应的处理措施。本例中PC1向PC2发起HTTP连接所以在防火墙会话表中标示出“http”协议和连接信息并识别出此流量在公共路由表中被转发图中VPN:public。会话表的创建和包处理过程防火墙状态检测开启情况下流量的首包会创建会话表项后续包即可直接匹配会话表项。本流程只是一个示意图展示了华为防火墙各个模块的基本处理顺序。实际不同的报文处理并非严格按照此流程图依次进行若无对应配置且与具体产品实现相关。更多详细信息可以参考指定型号防火墙产品文档“报文转发流程”章节。会话表的老化时间与长连接防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。但是对于某些特殊业务中一条会话的两个连续报文可能间隔时间很长。例如用户通过FTP下载大文件需要间隔很长时间才会在控制通道继续发送控制报文。用户需要查询数据库服务器上的数据这些查询操作的时间间隔远大于TCP的会话老化时间。此时如果其会话表项被删除则该业务会中断。长连接Long Link机制可以给部分连接设定超长的老化时间有效解决这个问题。多通道协议在防火墙上的问题如果在防火墙上配置严格的单向安全策略那么防火墙将只允许业务单方向发起访问。这会导致一些特殊的协议无法工作例如FTP。FTP主动模式传输文件时首先需要客户端主动向服务器端发起控制连接然后需要服务器端向客户端发起数据连接。如果设备上配置的安全策略仅允许客户端报文单方向通过则FTP文件传输不能成功。同FTP通信过程中需占用两个或两个以上端口的协议被称为多通道协议。多通道协议都需要考虑此类问题。单通道协议通信过程中只需占用一个端口的协议。如WWW只需占用80端口。多通道协议通信过程中需占用两个或两个以上端口的协议。FTP协议是一个典型的多通道协议在其工作过程中FTP Client和FTP Server之间将会建立两条连接控制连接和数据连接。控制连接用来传输FTP指令和参数其中就包括建立数据连接所需要的信息。数据连接用来获取服务器目录及传输数据。数据连接使用的端口号是在控制连接中临时协商的。根据数据连接的发起方式FTP协议分为两种工作模式主动模式PORT模式和被动模式PASV模式。主动模式中FTP Server 20号端口主动向FTP Client随机端口发起数据连接被动模式中FTP Server被动接收FTP Client发起的数据连接。模式在一般的FTP客户端中都是可以设置的这里我们以主动模式为例。多通道协议存在时防火墙配置较为宽泛的安全策略也可以解决协议不可用问题但是存在安全隐患。多通道协议 – FTP过程详解大部分多媒体应用协议如H.323、SIP、FTP、netmeeting等协议使用约定的固定端口来初始化一个控制连接再动态的协商出端口用于数据传输。端口的选择是不可预测的。其中的某些应用甚至可能要同时用到多个端口。传统的包过滤防火墙可以通过配置ACL过滤规则匹配单通道协议的应用传输保障内部网络不受攻击但只能阻止一些使用固定端口的应用无法匹配使用协商出随机端口传输数据的多通道协议应用留下了许多安全隐患。ASPF与Server-map为了解决多通道协议的问题防火墙需要识别协议在应用层协商的地址和端口。这需要开启ASPF Application Specific Packet Filter针对应用层的包过滤功能。ASPF也称作基于状态的报文过滤ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则即生成Server-map表。Server-map表也记录了类似会话表中连接的状态。Server-map表中的信息相对简单是简化的会话表在真实流量到达前生成。在流量真实到达防火墙时防火墙会基于Server-map表生成会话表然后执行转发。开启ASPF解决多通道协议问题是生成Server-map表的一种方式。防火墙上配置了ASPF功能后会检测FTP控制连接中协商的数据连接端口信息然后生成Server-map表项。Server-map表项包含了FTP控制通道中协商的数据通道的信息。防火墙为命中Server-map表的数据创建会话表。在防火墙配置了ASPF、NAT Server和No-PAT方式的源NAT时都会生成相应的Server-map表项。Server-map表与简化的包转发过程当防火墙接收到一个报文且没有命中会话表时防火墙进入首包处理流程查询是否有命中的Server-map表。如果有则会生成会话表转发报文如果没有则执行其他包处理过程。防火墙基础配置-接口创建接口/进入接口视图[Huawei] interface interface-type interface-number和交换机、路由器相同interface命令用来创建接口或进入指定的接口视图。接口视图配置接口允许通过的协议[Huawei-GigabitEthernet0/0/1] service-manage { http | https | ping | ssh | snmp | netconf | telnet | all } { permit | deny }service-manage命令用来允许或拒绝管理员通过HTTP、HTTPS、Ping、SSH、SNMP、NETCONF以及Telnet访问设备。缺省情况下接口开启了访问控制管理功能。仅有管理接口下 HTTP、HTTPS、Ping权限放开。非管理口所有权限都关闭。此时即使配置了接口所在安全域允许访问local区域的安全策略也不能通过该接口访问本地防火墙。防火墙基础配置 - 安全区域创建安全区域[Huawei] firewall zone name zone-name [ id id ]firewall zone name命令用来创建安全区域并进入安全区域视图。id表示安全区域ID取值499默认递增。firewall zone命令用来并进入安全区域视图。防火墙默认的四个区域无需创建也不能删除。安全区域视图设置安全区域优先级[Huawei-zone-name] set priority security-priority优先级取值范围为1100全局唯一值越大优先级越高。系统默认的安全区域不能被删除优先级也无法被重新配置或者删除。安全区域视图添加接口到安全区域[Huawei-zone-name] add interface interface-type { interface-number | interface-number.subinterface-number }安全区域在使用时需要与防火墙的特定接口相关联即需要将接口加入到安全区域。该接口既可以是物理接口也可以是逻辑接口。防火墙基础配置 - 安全策略进入安全策略视图[Huawei] security-policy安全策略规则的创建、复制、移动和重命名都在此视图下完成。安全策略视图创建规则[Huawei-policy-security] rule name rule-namerule name命令用来创建安全策略规则并进入安全策略规则视图。安全策略规则视图配置安全策略规则的源安全区域[Huawei-policy-security-rule-name] source-zone { zone-name 1-6 | any }命令中zone-name必须为系统已经存在的安全区域名称。安全策略规则一次最多添加或删除6个安全区域。安全策略规则视图配置安全策略规则的目的安全区域[Huawei-policy-security-rule-name] destination-zone { zone-name 1-6 | any }安全策略规则视图配置安全策略规则的源IP地址[Huawei-policy-security-rule-name] source-address ipv4-address { ipv4-mask-length | mask mask-address}命令中mask-address使用反掩码。安全策略规则视图配置安全策略规则的目的IP地址[Huawei-policy-security-rule-name] destination-address ipv4-address { ipv4-mask-length | mask mask-address}命令中mask-address使用反掩码。安全策略规则视图配置服务[Huawei] service { service-name 1-6 | any }service命令用来配置服务例如service protocol命令用来在安全策略中直接引用TCP/UDP/SCTP端口或IP层协议。安全策略规则视图配置安全策略规则的动作[Huawei] action { permit | deny }防火墙默认的动作为deny。防火墙配置案例防火墙1…部署环境拓扑安装loop back安装360极速浏览器必须连接防火墙0/0/0口浏览器打开https://192.168.0.1:8443刷新一下 可以用360极速浏览器或火狐 其他不一定好使用户名 admin密码Admin123修改密码重新登陆登录成功。打不开的页面刷新一下。默认策略连接控制台[USG6000V1]int g 0/0/0[USG6000V1-GigabitEthernet0/0/0]dis thisinterface GigabitEthernet0/0/0undo shutdownip binding vpn-instance defaultip address 192.168.0.1 255.255.255.0service-manage http permitservice-manage https permitservice-manage ping permitservice-manage ssh permitservice-manage snmp permitservice-manage telnet permitservice-manage netconf permitreturn默认g0/0/0口允许了ping和https所以必须用0口才能登陆。2.查看防火墙的zone默认有5个zone和默认的优先级[USG6000V1]dis zonelocalpriority is 100interface of the zone is (0):trustpriority is 85interface of the zone is (1):GigabitEthernet0/0/0untrustpriority is 5interface of the zone is (0):dmzpriority is 50interface of the zone is (0):简单实验client,能够访问server的http服务其他服务无法访问。Client 10.1.12.1,网关10.1.12.254Server10.1.23.100,网关10.1.23.254,FW接口IP配置好。打开server的http功能配置接口IP然后把两个接口分别放到某个zone里再配置zone策略[USG6000V1-GigabitEthernet1/0/1]ip add 10.1.12.254 24[USG6000V1-GigabitEthernet1/0/2]ip add 10.1.23.254 24[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/1[USG6000V1-zone-trust]dis thisfirewall zone trustset priority 85add interface GigabitEthernet0/0/0add interface GigabitEthernet1/0/1[USG6000V1-zone-untrust]add interface g 1/0/2[USG6000V1-zone-untrust]dis thisfirewall zone untrustset priority 5add interface GigabitEthernet1/0/2此时client无法ping通网关因为接口未配置允许ping接口下配置允许ping[USG6000V1-GigabitEthernet1/0/1]service-manage ping permit配置后可以ping通如果要deny就配置如下[USG6000V1-GigabitEthernet1/0/1]service-manage ping deny。配置策略[USG6000V1]security-policy[USG6000V1-policy-security]rule name permit_trust_untrust_http[USG6000V1-policy-security-rule-permit_trust_untrust_http]source-zone trust[USG6000V1-policy-security-rule-permit_trust_untrust_http]destination-zone untruSt[USG6000V1-policy-security-rule-permit_trust_untrust_http]action permit[USG6000V1-policy-security-rule-permit_trust_untrust_http]dis thisrule name permit_trust_untrust_httpsource-zone trustdestination-zone untrustaction permit此时是放行了两个区域的所有策略。测试一下如果精确放行只放行http服务就加一条http那么其他的服务全部默认拒绝[USG6000V1-policy-security-rule-permit_trust_untrust_http]service http[USG6000V1-policy-security-rule-permit_trust_untrust_http]dis thisrule name permit_trust_untrust_httpsource-zone trustdestination-zone untrustservice httpaction permitWEB页面配置策略从trust到untrust放行icmp后配置的策略会在上面优先执行。类似ACL顺序。查看FW的会话表能够看出正在连接的会话。所以服务器回包时候会直接查询会话表实现通信所以防火墙只需要放行一边就行流量能出去能建立会话流量就可以按照会话回来。[USG6000V1]dis firewall session taCurrent Total Sessions : 5icmp VPN: public -- public 10.1.12.1:256 -- 10.1.23.100:2048tcp VPN: default -- default 192.168.0.100:51132 -- 192.168.0.1:8443tcp VPN: default -- default 192.168.0.100:51125 -- 192.168.0.1:8443tcp VPN: default -- default 192.168.0.100:51128 -- 192.168.0.1:8443tcp VPN: default -- default 192.168.0.100:51129 -- 192.168.0.1:8443[USG6000V1]dis firewall session table verbose 细节Current Total Sessions : 6tcp VPN: default -- default ID: c387fb6c5562750c8c66601f18Zone: trust -- local TTL: 00:20:00 Left: 00:19:19Interface: InLoopBack0 NextHop: 127.0.0.1 MAC: 0000-0000-0000–packets: 615 bytes: 814,962 -- packets: 386 bytes: 56,221192.168.0.100:50691 -- 192.168.0.1:8443 PolicyName: —会话过一会就会消失。减小防火墙压力会话表老化时间不同下面是老化时间表但是某些服务需要长时间连接例如FTP在策略中配置长连接long link[USG6000V1-policy-security-rule-permit_trust_untrust_http]long-link enable[USG6000V1-policy-security-rule-permit_trust_untrust_http]long-link aging-time 2

更多文章