防火墙策略自动下发系统

开发目的

我司园区、仓库、办公区等较多,且每个点都部署了防火墙,因此防火墙也多。随公司业务的新增,变更都会有新的策略申请,人工开通策略比较繁琐:登陆OA工单系统,查看需要开通的策略。开通前,网络工程师需要根据用户申请的源目IP,靠经验、记忆去定位到需要开通的墙(一或多个),然后再浏览登陆到防火墙,再查找、判断下这些源目IP的策略是否存在(不存在则新增)、或者部分存在(追加对象),或者策略中是否有被deny策略阻挡(阻挡则新增),然后再创建各种对象,如地址对象,服务对象等(这些对象也是要判断下是否已经存在,不存在才创建,存在直接引用)。当申请的策略较多时,这确实是很繁琐的。 为了改善这种现象,我们网络与安全组期望能开发一个能代替人工自动寻找防火墙和自动创建对象、策略的工具。

开发人数

1人

使用技术

pythonbottleangularjsredismysql ==

工具介绍

业务功能

策略申请策略分析策略下发策略查询策略差异查询防火墙管理对象管理,==

支持型号

飞塔防火墙,软件版本5.2+

工具架构

架构图

设计思路

  • 业务对接
  • 数据采集
  • 路由查找
  • 对象查找
  • 策略查找
  • 策略下发
  • 日志查询

业务对接

用户在工具上申请策略,再把数据对接到OA流程工单上(OA进行审核),OA审核完毕后,把审核数据回流到工具,即网络工程师只需要登陆工具即可对策略进行操作(审核、分配、修正,下发等)。 用户申请的IP对象可以是单IP网段范围域名对象等,多个IP对象可以用逗号分隔,端口对象支持单端口范围,多个端口对象可以用逗号分隔,或者支持ALL类型端口

数据采集

有些数据需要采集到本地数据库中,有些数据则可以用到的时候再去采集。vodom路由接口等信息需要采集缓存到数据库中; 其它的如地址地址组服务时间策略zone等则按需求,可实时去采,也可提前采好存储在本地中。

路由查找

通过源IP、目标IP二元素,去动态路由总表(本地缓存表)中去匹配最小路由及接口是否一致,被匹配到的路由及接口不一致的墙,则说明策略需要在这个墙上开通。

对象查找

根据用户申请的源IP目标IP端口时间,去命中的墙上查找是否有存在的对象,如果有,则直接把存在的对象名返回,如果没有,则按规则生成可下发的对象属性,在策略下发时,一并创建这些对象。

策略查找

根据用户申请的五元组,查找命中的墙中,是否存在已开通的策略,查找时需要判断查到已开通的策略中,前面是否有被命中的deny策略。 如果策略不存在,或策略被deny,则标记这策略需要新增。如果查找到的策略目标与用户申请的目标IP服务协议期限完全一致,则只要在策略中,增加源IP对象即可。

策略下发

策略下发所有的数据,是在路由查找对象查找策略查找得到的数据,自动下发到防火墙。

日志查询

查询所有已下发的策略数据,包括用户申请详细记录、工程师下发详细记录(工单号与策略ID绑定)等等

使用效率

目前使用情况还算不错,策略分析策略下发都是秒级的过程,工具开通策略的效率比起手工开通提升非常大。

工具展示