下一代防火墙安全策略初体验

什么安全策略

从最开始介绍防火墙开始,防火墙的定位一直强调的是控制为主,对进出网络的访问行为进行控制。安全策略可说是防火墙最核心的特性了,下面就来看看下一代防火墙的安全策略是什么样的。

一个简单的小实验来体验下安全策略

图片

在体验安全策略之前,还需要做一件事情,就是之前学过的安全区域划分,安全区域划分是来确定区域间的数据流动方向,在实施安全策略的时候帮助我们能够很好的判断源目区域,就上图一个简单的例子,防火墙允许Client1(192.168.1.1)访问服务器192.168.2.1的www服务。

[USG6000V1]security-policy   //进入安全策略

[USG6000V1-policy-security]rulename  Trust_DMZ_www   //定义一个策略的名字

[USG6000V1-policy-security-rule-Trust_DMZ_www]source-zonetrust      //定义源区域

[USG6000V1-policy-security-rule-Trust_DMZ_www]destination-zonedmz      //定义目的区域

[USG6000V1-policy-security-rule-Trust_DMZ_www]source-address192.168.1.1 32    //定义源地址

[USG6000V1-policy-security-rule-Trust_DMZ_www]destination-address192.168.2.1 32       //定义目的地址

[USG6000V1-policy-security-rule-Trust_DMZ_www]servicehttp    //定义服务

[USG6000V1-policy-security-rule-Trust_DMZ_www]actionpermit     //执行动作

看完这个安全策略的内容,可以发现少不了这几个最基本的条件组成

(1)源区域:这个数据包从哪个接口所在的区域收到,这里192.168.1.1所在的接口在Trust,所以源区域是Trust,默认情况下不添加参数的话为any

(2)目的区域:这个数据包从哪个接口所在的区域发送出去,这里查找路由表发现是直连G1/0/1的DMZ,所以目的区域是DMZ,默认情况下不添加参数的话为any

(3)源地址:数据包发起的源,这里为Client192.168.1.1,配置里面后面的32,表示255.255.255.255,主机地址,精确匹配192.168.1.1,比如一个网段192.168.1.0,我们可以写成24,表示255.255.255.0,默认情况下不添加参数的话为any

(4)目的地址:数据包发往的目的,这里为Server1192.168.2.1,默认情况下不添加参数的话为any

(5)服务:华为防火墙默认系统内置了常见的主流协议,比如FTP、HTTP、DNS等,可以直接调用,当然非标准以及其他协议,可以通过自定义来创建,然后调用,这里访问的是http服务,所以写http即可,默认情况下不添加参数的话为any

(6)执行动作:动作有两种,一种是permit、一种是deny,来决定上面条件匹配的内容,我们是给予放行还是丢弃,默认没有执行动作,必须指定

图片

这个安全策略体验下来是不是觉得并不难,只要能够确认好安全区域的方向、源目地址、以及对应的服务,配置起来就非常简单了。

安全策略条件之间的关系

安全策略可以看成两个部分组成(1)条件,比如从哪个区域去哪个区域,源目地址、协议等  (2)动作,匹配条件后给予通过(permit)还是拒绝(deny)

这里主要说下条件之间的关系,条件组成上面演示的案例最基础的就包括、源目区域、源目地址、服务这些,它们之间的关系是“与”,也就是一个数据包过来,要匹配这些所有的条件才是命中了这条安全策略,有一个条件没匹配上,那么就直接往下查找。还存在一个情况就是,一个条件里面存在多个匹配项目,比如上面的源地址,写的是source-address 192.168.1.1 32,假设我们还有一个192.168.1.2存在,那么源条件那边匹配则变成

图片

有两个源条件了,那么同一个条件内容的多个匹配项目之间的关系是“或”,这个就只需要满足其中一个选项,比如192.168.1.1或者192.168.1.2,那么就算匹配成功。

了解这些有什么作用呢?就上面那个配置来说,网络中有192.168.1.1与1.2,需要访问192.168.2.1的Http服务,那么我们可以直接在一条策略里面完成这个配置,而不是说去配置两个安全策略,单独的为192.168.1.1与1.2来创建,简化了工作量以及后期维护也方便。

安全策略的顺序

 安全策略之间是有顺序的,我们可以在安全策略里面创建很多的规则,防火墙在检查数据包的时候,会从上往下依次查找存在的规则,如果数据包匹配上了某一条策略,则直接按这条策略的规则进行执行,就不会在继续往下查找;如果数据包没有匹配某条策略规则,则继续往下面查找。遵循这样的一个顺序规则,我们在规划安全策略的时候可以遵循“先精确、后粗犷”的原则,也就是在配置策略的时候,条件范围精确匹配安全策略先创建,然后再配置范围大的,这样的原则对于实施与规划安全策略非常有帮助。

图片

比如这个环境中,不希望192.168.1.1访问服务器192.168.2.1,剩下的都可以访问服务器。那么这个里面192.168.1.1是精细匹配(需要先配置),剩下的就是粗犷匹配(后配置)。

security-policy

 rulename Trust_DMZ_www_deny

  source-zone trust

  destination-zone dmz

  source-address 192.168.1.1mask 255.255.255.255

  destination-address 192.168.2.1 mask255.255.255.255

  service http

  action deny

 rule name Trust_DMZ_www_permit

  source-zone trust

  destination-zone dmz

  source-address 192.168.1.0 mask 255.255.255.0

  destination-address 192.168.2.1 mask255.255.255.255

  service http

  action permit

    

图片

图片

最终结果是Client1(192.168.1.1访问不了),其余的访问成功

图片

通过display  security-policyrule all可以查看策略的匹配数。上面就是遵循了“先精确、后粗犷”的原则,假设我们把192.168.1.0/24允许在前,而拒绝192.168.1.1在后,那么192.168.1.1在匹配第一条策略的时候就通过了,不在往下面查询,所以也达不到要求了。

图片

这就带来了一个疑问了?那么数据包过来的时候,防火墙都会查询安全策略,如果这个数据包从头到尾始终没有匹配上我们定义的策略规则该如何处理呢?细心的朋友已经从上面的图发现了,防火墙在出厂的时候就自带一条default安全策略,执行动作是deny,也就是说数据包过来从上往下依次匹配没有匹配到任何的安全策略,那么最终的结果就被拒绝掉。

Default Policy (缺省的安全策略)

  缺省的安全策略不允许更改任何匹配条件,都是any any,能更改的就是执行动作,要么拒绝,要么允许,默认情况下是拒绝所有,博主这里分享下缺省安全策略在实际中的使用场景

(1)临时全部放行:在有时候配置防火墙的时候,策略的规划与实施是比较耗时间的,特别是条件比较多,需要考虑的因素就多了,还要考虑先后顺序,那么这个时候可以临时的打开缺省的安全策略放行,让客户网络先通起来,策略实施完毕后,在改成拒绝。

(2)当路由器用:在小型办公,或者IT人员对防火墙不熟悉的情况,直接把策略全放,当路由器使用(这个在实际中真很常见),直接一把嗦!

(3)排错:不管是新手还是经验丰富的老手,对于策略的规划与配置,随着网络结构的复杂度越大,难度就越大,有时候某些策略不通、比如服务器映射、VPN过来的流量等,没匹配上任何策略,这个时候可以把缺省的安全策略打开,然后查看会话表,这个时候就一目了然了(这个博主会实际演示的)。

“承上启下”

相信对于常见的安全策略应该都是去规划跟配置了,但是有这么一个问题存在,出厂的时候,防火墙的default policy的执行动作是deny,那么管理口的流量是怎么能够进入防火墙的呢?可以先想想哦~答案下面一篇认真学,可以解决这个疑问!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值