推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python语言的防火墙自动化运维工具的开发与应用

更新时间:2019-12-24 05:34:56 大小:595K 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

国网四川省电力公司眉山供电公司建立了三道信息安全防线,一是边界防火墙,二是服务器区域防火墙,三是服务器主机本地防火墙防护。第三道防线需要通过设置主机的防火墙来实现,但由于Windows(或Linux)主机防火墙设置比较复杂,不直观,给运维人员带来了困难,设置效率过低。为了解决这一问题,提出并研发一款基于Python语言的跨平台可视化的防火墙自动运维工具,该工具具有典型性和推广性。


部分文件列表

文件名 大小
基于Python语言的防火墙自动化运维工具的开发与应用.pdf 595K

部分页面预览

(完整内容请下载后查看)
安全模型、算法与编程  
基于 Python 语言的防火墙自动化运维工具的开发与  
应用  
◆吴 红 吕 磊 罗 晨  
(国网四川省电力公司眉山供电公司 四川 620010)  
摘要:国网四川省电力公司眉山供电公司建立了三道信息安全防线,一是边界防火墙,二是服务器区域防火墙,三是服务器主机本地  
防火墙防护。第三道防线需要通过设置主机的防火墙来实现,但由于 W indows或 Linux)主机防火墙设置比较复杂,不直观,给运  
维人员带来了困难,设置效率过低。为了解决这一问题,提出并研发一款基Python言的跨平台可视化的防火墙自动运维工具,该  
工具具有典型性和推广性。  
关键词:防火墙;信息安全;运维;自动化;Python  
(5)管理主机过多的情况下,同一条规则在不同主机上需  
0
前言  
要多次配置,工作繁琐,容易漏配误配;  
(6)要管理主机过多,系统密码管理不便。  
防火墙CheckPoint创立GilShwed1993发明并引入  
国际互联网火墙是位于内部网和外部网之间的屏障1。  
将“内部网络”与“外部网络”有效隔离开来,按照系统管理员  
预先定义好的规则来控制数据包的进出有满足预先设定好规  
则的流量才能够通过防火墙而在两个网络通信之中实现访问  
控制[1]。  
2
设计目标  
主要通过开发设计实现以下目标:  
(1)统一不同操作系统的防火墙配置接口,使相同防火墙  
规则在不同操作系统上的配置对运维人员来说输入一致;  
(2化防火墙配置输入使防火墙配置更接近自然语言,  
减轻运维管理的负担;  
(3)优化已有防火墙配置的输出,使防火墙规则明细更直  
观地呈现;  
(4)创新防火墙规则的存储与分发机制,实现相同防火墙  
规则在大规模网络系统中的快速、安全应用;  
(5)实现主机集群的密码管理,方便对大规模主机密码的  
统一记录与安全管理。  
图1 火墙  
3
程序的设计与关键问题研究  
该防火墙自动化运维工具的总体方案按软件设计的流程需  
众所周知火墙对于抵抗网络攻击护信息系统的安全  
具有重要的意义其是在当前网络威胁泛滥的环境下当的  
配置和利用防火墙可以防止大量的安全攻击威胁面上  
存在硬件和软件两种防火墙对于系统提供最直接保护的莫过  
于系统自带的软件防火墙W indows统默认集成W indows防  
火墙,而 Linux 系统中默认也集成了 iptables 防火墙。合理并有  
效的配置用系统自身提供的防火墙够有限防止黑客对信  
息系统进行恶意的攻击[2]。  
讨论以下四大方面见2。  
1
眉山公司防火墙运维现状与问题  
国网四川省电力公司眉山供电公司目前建立了三道信息安  
全防线来阻隔外部安全风险是边界防火墙是服务器区域  
防火墙是服务器主机本地防火墙防护三道防线需要通过  
设置主机的防火墙来实现,但由于 W indows或 Linux)主机防  
火墙设置比较复杂,不直观,给运维人员带来了困难,设置效率  
过低。通常运维工作存在以下问题:  
(1)不同操作系统的防火墙规则配置命令不一致,容易记  
混;  
图2 体方案分解图  
2.1程语言的选择  
(2)配置命令参数过多,书写容易出错;  
编程语言种类繁多,从项目创新目标上考虑,我们选择了  
Java 和 Python 两种移植性较好,都可以实现图形化编程的语言  
进行比较。小组对两种语言进行选择,1。  
(3)查看已配置过的规则不方便;  
(4)不同操作系统之间规则不通用;  
44‖  
安全模型、算法与编程  
加密处理;代码实现较为  
表1 程语言的选择  
方案目标:  
复杂。  
2.3C/S构中服务器与客户端角色的选择  
操作员与主机这二者谁是服务器谁是客户端将决定整个软  
件设计的框架,方案的选择见3。  
表3 火墙规则存储与分发机制的选择  
方案目标:  
(1)跨平台,以最小的代价使程序可以同时在 W indowsLinux  
操作系统上运行。  
(2)便于进GUI界面编程。  
待选方案 方案分析  
结论  
Java  
优点:跨平台移植性好;执行效率较高。  
缺点:开发效率低下。  
不选择  
(1)控制软件部署与运行成本;  
(2)提高软件运行性能和稳定性。  
Python  
优点平台移植性好发效率极高择  
功能平均代码量java1/51/10。  
缺点:执行效率为 java 代码编译执行时间之  
1/2。  
待 选 案分析讨论  
结论  
操 作 案描述 操作员作为架构中的服务端,监听不 选  
2.2 火墙规则存储与分发机制的选择  
要想实现创新目标中“统一不同操作系统的防火墙配置接  
口”与“高效完成相同防火墙规则大规模分发”的要求,需要实  
现防火墙规则存储与分发机制的创新,见2。  
表2 火墙规则存储与分发机制的选择  
方案目标:  
是 服 务  
机端,被管理主机主动连接操作员择  
机。  
优劣分析 优点:不需要修改线上主机的防火墙  
策略,以放行新的端口通信;线上主  
机不开放端口,降低被攻击风险。  
缺点运维人员的主机在内网中时,  
公网线上主机回连的成本极高;当运  
维人员网络环境变动时,所有线上主  
机的回连地址必须变动,有巨大的弹  
性变动维护成本;所有主机回连至操  
作员主机的同一端口,对运维人员机  
器性能要求与程序并发性能要求高。  
(1)实现相同规则的快速大规模部署;  
(2)降低防火墙规则维护成本。  
待选方案  
方案分析讨论  
结论  
基于规则数据库案描述 以在一台机器上将防选择  
文件的分发形式  
火墙配置完成后将规则  
保存在数据库文件中,将  
数据库文件发送给其他  
相同网络环境的主机并  
应用。  
操 作 案描述 主机作为架构中的服务端,监听主择  
是 客 户  
本机端口,操作员端主动连接主机  
优劣分析 优点:运维人员可以在任何地方对主  
机进行连接、管理,对网络环境要求  
低,运维成本低,提高运维效率。  
缺点:线上主机必须开放特定端口,  
增加了 DDOS、暴力破解等攻击的风  
险。  
优劣分析 优点:相同防火墙规则配  
置一次,可以多次应用;  
在一定程度上降低了维  
护成本。  
缺点:各个主机的防火墙  
规则并不完全相同,多余  
的规则可能增加运维风  
险及成本;分发完整数据  
库会增加网络流量。  
2.4 件交付形式的选择  
Python于解释型语言,可以不经编译在主机上运行可  
以通过第三方软件将源代码打包导出成二进制文件在主机上执  
[4]。我们对两种方式进行分析讨论,见4。  
基于 Client/Server方案描述 防火墙规则管理作为择  
表4 件交付形式的选择  
框架的管理方式  
一种服务,所有被管理的  
机器通过网络与服务系  
统建立链接,操作员通过  
服务对所有与服务建立  
了连接的主机进行防火  
墙规则管理[3]。  
方案目标:  
(1)交付的软件能在最小的系统变动之下运行  
(2)降低软件部署时长  
待选方案  
方案分析讨论  
结论  
直接交付 Python 优点:便于用户对软件进行二次开不选择  
代码  
发;便于用户审查程序安全性。  
缺点行之前需要在目标系统上安  
装各种依赖环境;软件部署时间长。  
优劣分析 优点:运维人员仅需要在  
服务界面即可管理所有  
机器低运维成本C/S  
架构可以对特定主机下  
方特定规则,可以轻松实  
现相同规则的大规模部  
将源码打包成可执优点:部署不需要安装任何依赖环选择  
行文件  
境,部署时间几乎0;软件以二进  
制文件形式在主机上运行码完整  
性、机密性更有保障[5]。  
缺点便于用户二次开发出后  
软件较大,增加部署时分发流量。  
缺点:操作员的一切管理  
指令通过网络发送,增加  
了网络劫持等攻击的风  
险,需要对网络通信进行  
2.5 定最佳方案  
经过以上多次讨论及技术验证们最终确定了软件的技术  
45‖  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载