【Flask开发实战】项目介绍-防火墙规则查询系统

一、前言

硬件防火墙为常备主用网络安全设备,主要通过网络访问控制方式实现安全防护。

不同厂家防火墙的网络访问控制功能均采用同样的模式操作:防火墙配置若干条防火墙规则,当IP包到来,防火墙根据包的五元组属性(协议、源地址、源端口、目的地址、目的端口)和到来及目的接口所属安全域按顺序对规则匹配(目的接口由路由决定),对IP包转发还是丢弃由首条命中的规则决定,一旦命中后,后续规则将不在匹配,如果没有命中,包默认丢弃。

大型IT网络环境中,可能采用了不同厂商防火墙支撑各类业务安全,不同墙之间互相也有关联。在网络安全日常维护中,如何审计全部防火墙网络策略是否安全合理,如何快速查找指定IP开放策略范围,如何统一纳管不同品牌防火墙统一查询规则,这些对于提升运维效率和安全防护水平尤其重要。

二、防火墙规则基础介绍

每条防火墙规则的核心要素包含:协议类型(TCP/UDP等)、源安全域、目的安全域、源地址(范围)、目的地址(范围)、端口(服务)、动作(允许/拒绝),这些要素参与匹配,其余要素为备注性质,但对理解规则也十分重要,包括:规则号(非匹配顺序,用于唯一性确定规则)、规则名称、描述。

早期的防火墙,规则以ACL文本形式配置,上述要素每样只能单选一条,但现代防火墙拓展了规则范围,安全域、地址和端口均能多选和为空。

协议类型:TCP、UDP、icmp等

安全域:文本字符串,可多条或为空。

地址:基本的单条地址录入有三种形式,包括单个地址host,网络掩码subnet、地址范围range。

服务:对于协议为TCP/UDP,单条服务包含源端口范围和目的端口范围,即开始结束共4个字段,每个取值都是0~65535。

三、项目开发需求

1、解析不同品牌防火墙配置文件,统一输出格式入库防火墙规则展示表(该表内容基本同防火墙Web界面显示的规则,一条规则一行),实现和防火墙界面相同水平的规则展示;内容包含:

序号:非防火墙规则文本内容,按读取顺序生成

协议类型:文本

规则号:文本

规则名称:文本

源安全域、目的安全域:文本可多个逗号隔开

源地址、目的地址:文本可多个逗号隔开,文本展示内容参考防火墙Web界面。

服务:文本可多个逗号隔开

动作:允许/拒绝

描述:文本

2、生成防火墙规则展开表(根据基础展示表笛卡尔展开生成,每条规则很多行,用于精确查询条件匹配),实现IP地址点对点的高级查询,并且可自定义地址组对象和端口组对象作为条件进行高级查询,包含内容:

序号:内容同规则展示表

协议类型:内容同规则展示表

规则号:内容同规则展示表

规则名称:内容同规则展示表

源安全域、目的安全域:内容同规则展示表

源地址、目的地址:每个包含4个字段,开始地址、结束地址、地址文本、地址组名称

服务:包含4个字段,开始源端口、结束源端口、开始目的端口、结束目的端口、服务组名称

动作:内容同规则展示表

描述:内容同规则展示表

 四、开发工作项

根据开发需求,梳理出需要进行的工作事项,包含了以下内容:

1、防火墙配置文本数据的解析、清洗、加工、处理、入库。(生成防火墙规则基础表数据和展开表数据,各类表数据入库保存。)

2、网络防火墙规则查询页面设计、需求功能开发实现。

3、功能测试验证,问题整改。

五、预期效果

登录页面

首页展示

防火墙规则查询页面(支持基本查询、高级查询) 

防火墙规则明细查询(展开后规则详情)

 

本次实现系统功能采用shel+python+flask+mysql的搭配实战整套开发过程。后续文章会展开一步一步来写具体实现过程。届时会给出部分测试数据,有兴趣的小伙伴也可动手一起玩一下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/539059.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型的实践应用18-大模型的开发框架LangChain的简单应用与Faiss向量数据库实现

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用18-大模型的开发框架LangChain的简单应用与Faiss向量数据库实现。LangChain是一个强大的开发框架,专门用于构建基于大型语言模型(LLM)的应用程序。它提供了丰富的工具和组件,帮助开发者更轻松地利用LLM的能力。下面…

汇编语言程序设计 第3章:汇编语言程序格式

文章目录 1. 伪指令1.1 段定义伪指令1.2 段寄存器说明伪指令1.3 过程定义伪指令1.4 源程序结束伪指令 2. 变量/标号定义伪指令2.1 变量定义2. 2 标号定义2.3 表达式 3.地址计数器与对准伪指令3.1 地址计数器$3.2 对准伪指令 4. DOS功能调用4.1 DOS功能调用的一般方法4.2 常用的…

汽车电子零部件(1):综述

汽车零部件有哪些? 这里有一份汽车零部件清单,它们是汽车制造的部件,包括油车和电车;并不详尽。这些零件中的许多(并非全部)也用于卡车和公共汽车等其他机动车辆。 <

Sublime查看ANSI编码文档乱码问题

原因为没有安装对应的解码插件。 选择安装插件包 选择插件包&#xff1a;ConvertToUTF8或者GBK&#xff0c;我试了第一个插件包不行&#xff0c;安装GBK插件包后OK。

Git提交代码进入coding

安装Git后建一个文件在文件里右键点击Git Bash使用命令配置用户名和邮箱git config --global user.name "你的用户名"和git config --global user.email "你的邮箱"命令git init来初始化&#xff0c;自动将当前仓库设置为master创建一个项目&#xff08;一…

SpringBoot之Bean扫描、Bean注册

目录 Bean扫描 Bean注册 Bean lmport 自定义注解 注册条件 Bean扫描 Bean扫描有两种方式 1、标签:<context:component-scan base-package"com.mybatis"/> 2、注解: ComponentScan(basePackages "com.mybatis") springboot启动类注解可以自…

NO9 蓝桥杯单片机之串口通信的使用

1 基本概念 简单来说&#xff0c;串口通信是一种按位&#xff08;bit&#xff09;传输数据的通信方式。 其他一些知识就直接贴图吧&#xff08;单工&#xff0c;半双工这些学过通信的同学应该都知道&#xff0c;可以上网查询一下具体概念。&#xff09; 来源还是&#xff1a;…

派对游戏2024年新局面:二超多强,市场细分

2023年末&#xff0c;《元梦之星》上线迎战《蛋仔派对》&#xff0c;网腾大战打响。 这场战役从开局就进入到了白热化&#xff0c;双方投入真金白银来拉拢玩家&#xff0c;于春节这一亲朋相聚最适合派对游戏的时段集中发力&#xff0c;互有胜负。 目前《元梦之星》略处下风&a…

打开链接跳转的模式

摘要&#xff1a; 今天遇到一个需求&#xff1a;后台小程序的域名下打开微信客服链接的&#xff01;但是小程序的域名拒绝任何第三方域名&#xff0c;跨域了&#xff01;为了上线这微信客服的功能&#xff0c;打开新页签&#xff0c;脱离小程序的域名实现微信客服链接的跳转启动…

python练习一

1. 五个PPT上的界面打印【print、input函数】 print("\t\t\t\t\t英雄联盟商城登录界面\n~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n\t\t\t\t\t1. 用户登录\n\t\t\t\t\t2. 新用户注册\n\t\t\t\t\t3. 退出系统\n" "~ * ~ * ~ * ~ * ~ * ~ * ~…

音视频实战---读取音视频文件的AAC音频保存成aac文件

1、使用avformat_open_input函数打开音视频文件 2、使用avformat_find_stream_info函数获取解码器信息。 3、使用av_dump_format设置打印信息 4、使用av_init_packet初始化AVPacket。 5、使用av_find_best_stream查找对应音视频流的流下标。 6、使用av_read_frame读取音视…

新发现个上头的神仙写简历工具,分分钟惊掉你下巴!

你们在制作简历时&#xff0c;是不是基本只关注两件事&#xff1a;简历模板&#xff0c;还有基本信息的填写。 当你再次坐下来更新你的简历时&#xff0c;可能会发现自己不自觉地选择了那个“看起来最好看的模板”&#xff0c;填写基本信息&#xff0c;却没有深入思考如何使简历…