JSPIptables防火墙管理工具的设计与实现.docx
- 文档编号:13546833
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:29
- 大小:176.70KB
JSPIptables防火墙管理工具的设计与实现.docx
《JSPIptables防火墙管理工具的设计与实现.docx》由会员分享,可在线阅读,更多相关《JSPIptables防火墙管理工具的设计与实现.docx(29页珍藏版)》请在冰点文库上搜索。
JSPIptables防火墙管理工具的设计与实现
Iptables防火墙管理工具的设计与实现
摘要
Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。
但是,由于种种原因,Iptables一直是使用命令模式管理配置防火墙,这就要求用户必须熟悉Iptables各种繁杂的命令,为用户的使用带来了很多不便。
本文设计并实现了一个基于Web的Iptables图形管理工具,通过友好的配置界面,简化了Iptables防火墙的管理配置程序,更方便用户对Iptables防火墙的使用。
本工具采用Browser/Server模式,通过Web配置界面,用户可远程修改Iptables的相关配置文件,从而到达配置Iptables的目的。
整个工具由添加/删除规则,插入/替换规则,状态机制,关闭/启动/重启防火墙等几个模块组成。
用户只需登陆到配置页面,通过简单的鼠标操作就可以轻松完成防火墙的基本配置工作。
关键词:
Iptables防火墙;Browser/Server;包过滤
TheDesignandImplementationof
GraphicsManagementToolsofIptables
Abstract
ThegraphicsmanagementtoolofIptablescanmanagetheIptablesfirewallonwebsite.TheIptablesfirewallnotonlyprovidesfunctiontofilterdata,butalsoprovidesafunctiontotransferpackageaswellasNAT.Itisusedtodesignsecurenetworkbypersonalandcompany.Butforvariousreasons,theIptablesisconfiguredbyinputtingcommands,whichmeansthatusersmustbefamiliartothecommands.So,thepaperdesignsandimplementsIptablesinterfacialmanagementtoolwhichbasesonwebsite.Theusercanconfigureitsimplerandmoreconvenientbyfriendlygraphicsinterfacial.
ThissystemusesBrowser/ServermodetoconfigureIptablesbymodifyingiptbalesconfigurationfilesonweb.Thesystemisconstitutedbythefollowingmodules:
theruleofaddition,theruleofdeleting,andtheruleofinsertion,theruleofreplacing,themechanismofstating,shutdownfirewall,startfirewall,andrestartingfirewall.TheuserscanconfigureIptablesfirewalljustbyloginthewebandclickingmouse.
Keywords:
IptablesFirewall;Browser/Server;packagefilter
目录
论文总页数:
22页
1引言1
2防火墙基本理论1
2.1防火墙技术分类2
2.1.1包过滤技术2
2.1.2代理技术2
2.1.3状态监视技术2
2.2包过滤防火墙工作原理2
2.3Iptables防火墙简介3
2.3.1Netfilter组件3
2.3.2Iptables组件3
2.4Iptables工作原理3
2.4.1Iptables规则表简介3
2.4.2Iptables的工作流程4
3.系统概述4
3.1系统摘要4
3.2系统设计模式4
4开发环境及工具5
4.1开发环境5
4.2开发工具6
5系统构成6
5.1系统基本构成6
5.2功能模块构成7
5.2.1添加规则功能模块7
5.2.2删除规则功能模块7
5.2.3插入规则功能模块7
5.2.4替换规则功能模块7
5.2.5状态机制功能模块7
5.2.6防火墙关闭/启动功能模块7
5.2.7防火墙重启模块7
5.2.8读取防火墙配置文件/规则链模块8
6系统设计8
6.1前台主页设计8
6.2基本设置功能的设计9
6.3状态机制功能设计10
6.4Iptables操作功能设计10
6.5Iptables配置文件/规则链读取功能设计11
7系统实现11
7.1基本设置及高级功能实现方法11
7.2Iptables操作功能实现15
7.3读取防火墙配置文件/规则链的实现16
8开发中遇到的问题及解决办法18
8.1所遇问题18
8.2解决办法18
9系统测试19
结论20
参考文献20
致谢21
声明22
1引言
随着网络技术的进步,特别是90年代以来Internet的迅速普及和发展,网络安全问题越来越引起人们的重视,网络安全技术也成为计算机网络方向的研究热点。
网络安全技术在人们的现实生活中有着广泛的应用,特别是近几年电子商务的蓬勃发展,电子银行,在线交易等已经成为人们日常生活的重要组成部分,这就要求网络服务提供相应的安全措施,以保障广大用户的权益。
Internet防火墙是这样的系统(或一组系统),它能增强机构内部网络的安全性。
防火墙是在内部和外部网之间实施安全防范的系统。
它可以被认为是一种访问控制机制,用于确定那些内部服务允许外部访问,以及允许哪些外部服务访问内部服务。
netfilter/Iptables防火墙是组成Linux平台下的包过滤防火墙,它是集成在Linux内核2.4.X中的。
Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能。
正是因为它的功能强大,一直是个人及企业级Linux用户构建网络安全平台的首选工具。
但是,由于技术上的原因,Iptables一直是使用命令模式配置防火墙,它在一定程度上有较高的灵活性,但同时也要求用户必须熟悉Iptables各种繁杂的命令。
所以,本系统立足初级用户,使用B/S模式作为Iptables防火墙的管理模式,用户只需要登陆到防火墙的管理页面便可以轻松配置防火墙。
这样简化了Iptables防火墙的配置程序,降低了配置门槛,适合初学者使用。
本系统采用的是基于Browser/Server即浏览器/服务器模式,在单网卡模式下实现Iptables的包过滤功能。
前台JSP页面提供用户管理界面,后台用java修改Iptables防火墙相应配置文件到达更改Iptables规则链的目的。
本系统主要由以下模块组成:
添加规则模块,删除规则模块,插入规则模块,替换规则模块,防火墙启动/关闭模块,防火墙重启模块,读取Iptables配置文件模块,读取Iptabels规则链模块。
2防火墙基本理论
Internet防火墙是这样的系统(或一组系统),它能增强机构内部网络的安全性。
防火墙是在内部和外部网之间实施安全防范的系统。
可认为它是一种访问控制机制,用于确定那些内部服务允许外部访问,以及允许哪些外部服务访问内部服务。
它可以根据网络传输的类型决定IP包是否可以传进或传出企业网。
防止非授权用户访问企业内部、允许使用授权机器的用户远程访问企业内部、管理企业内部人员对Internet的访问。
防火墙通过逐一审查收到的每个数据包,
判断它是否有相匹配的过滤规则,按规则的先后顺序以及每条规则的条件项
进行比较,直到满足某一条规则的条件,并做出规则的动作(停下或向前转发),从而来保护网络的安全。
2.1防火墙技术分类
2.1.1包过滤技术
包过滤防火墙的安全性是基于对包的IP地址的校验。
在互联网上,所有信息都是以包的形式传输的,信息包中包含发送方的IP地址,接收方的IP地址,TCP端口,TCP链路状态等信息读出,并按照预先设置的过滤原则过滤信息包,那些不符合规定的IP地址的信息包会被防火墙过滤掉,以保证网络系统的安全,这是一种基于网络层的安全技术,对于应用层的黑客行为是无能为力的。
2.1.2代理技术
代理服务器接收客户请求后会检查验证其合法性,如果合法,代理服务器向一台客户机取回所需的信息在转发给客户。
它将内部系统与外界隔离开来,从外面只能看到代理服务器而看不到任何内部资源。
代理服务器只允许有代理的服务通过,而其他所有服务都完全被封锁住。
这一点对系统安全是非常重要的,只有那些被认为“可信赖的”服务才允许通过防火墙结构对外部来讲是不可见的。
2.1.3状态监视技术
这是第三代网络安全技术。
状态监视服务的监视模块在不影响网络安全正常工作的前提下,才用抽取相关数据的方法对网络通信的各个层次实行监测,并作为安全决策的依据。
监视模块多种网络协议和应用协议,可以方便地实现应用和服务的扩充。
2.2包过滤防火墙工作原理
包过滤防火墙一般有一个包检查模块,该模块在操作系统或路由器转发包之前将拦截所有的数据包,并对其进行验证,查看时候满足过滤规则。
它的具体工作过程如下:
(1)数据包从外网传送到防火墙后,防火墙将在IP层向TCP层传送前,将数据包转发给包检查模块进行处理。
(2)首先与第一个过滤规则比较。
(3)如果与第一个模块相同,则对它进行审核,判断是否转发该数据包,这时审核结果是转发数据包,则将数据包发送到TCP层进行处理,否则就将它丢弃。
(4)如果与第一个过滤规则不同,则接着与第二个规则相比较,如果相同则对它进行审核,过程与(3)相同。
(5)如果与第二个过滤规则不同,则继续与下一个过滤规则比较,直到与所有过滤规则比较完成,要是不满足所有过滤规则,就按默认规则处理。
2.3Iptables防火墙简介
Netfilter/Iptables防火墙是组成Linux平台下的包过滤防火墙,它是集成在Linux内核2.4.X中的。
Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能;不仅如此Iptables还可以配置成状态检测型防火墙,它会检查数据的源和目的IP地址、源和目的端口、流入数据包的顺序号、TCP先后顺序的信息及头标记(SYN,ACK,FIN,RST等)的状态,并利用Linux内核跟踪整个连接会话,从而使整个过滤过程相互关联,这可以提高信息包过滤的效率和速度。
Netfilter/Iptables包过滤防火墙是由两个组件构成,一个是netfilter(内核组件),一个是Iptables(用户组件)。
2.3.1Netfilter组件
Netfilter组件称为内核空间,它集成在Linux的内核中。
Netfilter是一种内核中用于扩展各种网络服务的结构化底层框架。
Netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。
新的特性假如到内核中并不需要重新启动内核。
这样,可以通过简单地构造一个内核模块来实现网络新特性的扩展,给底层网络特性扩展带来了极大的便利,使更多从事网络底层研发人员能够集中精力实现新的网络特性。
Netfilter的目的是为用户提供一个专门用于包过滤的底层结构,用户和开发人员可以将其内建在Linux内核中。
Netfilter主要有信息包过滤表组成,它包含了控制IP包处理的规则集。
根据规则所处理的IP包的类型,规则被分组放在链中,从而使内核对来自某些源、前往某些目的地或具有某些协议类型的信息包处置方法,如完成信息包的处理、控制和过滤等工作。
2.3.2Iptables组件
Iptables组件是一个简洁强大的工具,它被称为用户空间,用户通过它来插入、删除和修改规则链中的规则,这些规则告诉内核中的netfilter组件如何去处理信息包。
2.4Iptables工作原理
2.4.1Iptables规则表简介
Iptables与其他包过滤防火墙一样,它的工作原理是对IP数据包和规则进行匹配,根据规则表中的规则对IP数据包进行进一步的处理。
Iptables的规则表是保存在一个规则链中的,而规则链是由Linux内核进行维护。
在Iptables中包含以下规则表:
(1)Filter表
Filter表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过滤符合条件的数据包。
对与防火墙而言,主要是利用在filter表中指定的一系列规则来实现对数据包的过滤操作。
(2)Nat表
Nat表主要用于网络地址转换NAT,该表可以实现一对一、一对多、多对多等NAT工作,Iptables就是使用该表实现共享上网的功能。
Nat表包含了PREROUTING链,OUTPUT链,和POSTROUTING链。
(3)Mangle表
Mangle表主要用于对指定的包进行修改,因为某些特殊应用可能需要去改写数据包的一些传输特性,例如更改数据包的TTL和TOS等。
Mangle表仅包含PREROUTING链和OUTPUT链。
2.4.2Iptables的工作流程
当一个数据包到达主机后,iptabels会按照下图的处理过程对数据包进行处理。
当主机收到数据包后首先会去匹配mangle和nat表,如果找到相应的匹配规则会按照规则处理,然后再判断是否是发往本机的数据包,如果是发往本机的数据包,则将数据包送往INPUT链做相应的处理,如果不是发往本机的,则将数据包发往FORWARD链做相应处理。
若是本机产生的数据包,则会先匹配OUTPUT链的相应规则后再做处理。
3.系统概述
3.1系统摘要
IptablesB/S管理模式实现是一个通过前台WEB界面管理单网卡模式下Iptables规则的系统。
它可以提供友好的用户管理界面,让用户在不用输入任何的命令的情况下修改Iptables的相应规则,关闭/启动及重启Iptables防火墙,并可以查看Iptables相应的配置文件及规则链。
本系统可以在WEB前台向Iptables添加、删除、替换和插入规则,并可以实现基于状态检测防火墙的规则。
3.2系统设计模式
本系统采用B/S开发模式,即浏览器/服务器模式。
这种模式可以节约客户端资源,客户端在不用安装任何软件的条件下即可使用该系统。
该系统由以下四大部分组成:
Iptables配置主页,Iptabels各功能界面,客户端表单验证,Iptabels相关文件及操作。
图1系统业务流程图
4开发环境及工具
4.1开发环境
表1开发环境表
类型
软件
版本
OS
Linux
RedHat9.0
WebServer
JDK
1.5.0
Tomcat
4.1.24
浏览器
InternetExplorer
6.0以上
JDK
JDK是Java开发工具包(JavaDevelopmentKit)的缩写。
它是一种用于构建在Java平台上发布的应用程序,Applet和组件的开发环境和运行环境。
JDK是一切Java应用程序的基础,所有的Java应用程序是构建在这个之上的。
它包括一组API和JRE(Java虚拟机),这些API也可以说是一些JavaClass,是构建Java应用程序的基础,而Java虚拟机是运行这些程序的基础。
JSP
JSP技术为创建显示动态生成内容的Web页面提供了一个简捷快速的方法。
JSP技术设计的目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。
JSP页面由Web服务器中的JSP引擎执行,JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面给客户端的响应。
JSP引擎实际上是把JSP标签、JSP页中的Java代码连同静态HTML内容都转换为Java代码,这些代码块被JSP引擎组织到JavaServlet中,然后Servlet自动把它们编译成Java字节码,这些字节码由Java虚拟机(JVM)解释执行。
Tomcat
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:
处理Html页面。
但是与Apache相比,它的处理静态Html的能力就不如Apache。
我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。
这种集成只需要修改一下Apache和Tomcat的配置文件即可。
4.2开发工具
Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。
通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
5系统构成
5.1系统基本构成
本系统主要由系统JSP前台页面,JavaBean,Java源代码,Linux下Iptables防火墙配置文件组成。
JSP前台做用户交互及数据传递操作;JavaBean可以提高代码的利用率,它封装了一些本系统重复使用的Java源代码,如:
读文件操作;Java源代码是嵌入到JSP程序中的,它实现一些基本的简单的功能;Iptabels配置文件,是用户在修改防火墙设置时,用于被Java程序修改的。
5.2功能模块构成
5.2.1添加规则功能模块
本功能模块主要是为添加Iptables防火墙规则所用,根据用户输入的源/目的IP,源/目的端口号,协议类型,链名等,修改Iptables的配置文件,将用户添加的规则放到Iptables配置文件中相应规则链的第一个。
用户在完成添加后,重启防火墙,所添加的规则即可生效。
5.2.2删除规则功能模块
本功能模块是为用户删除Iptables防火墙相应规则设计的。
用户需要在前台JSP页面中,输入欲删除的Iptables防火墙规则编号及规则链名,即可完成删除规则的操作。
用户在完成删除后,重启防火墙后规则生效。
5.2.3插入规则功能模块
本功能模块是为用户插入Iptables防火墙相应规则设计的。
用户可以利用此功能模块,向Iptables防火墙插入新的规则,新的规则在用户指定插入位置之前。
用户完成操作后,重启防火墙,新规则生效。
5.2.4替换规则功能模块
本功能模块是为用户替换Iptables防火墙中已存在的规则设计的。
用户在前面页面中输入欲替换的规则编号及替换后的规则,就可以替换Iptables中的相应规则。
用户完成操作后,重启防火墙后,规则生效。
5.2.5状态机制功能模块
本功能模块可以把Iptables配置成基于状态检测的防火墙。
用户可以根据JSP前台提供的选项完成相关配置工作,相关配置会自动写入Iptables配置文件中。
配置这种状态型防火墙可以提高Iptabels的工作效率。
同样,用户完成配置后,重启防火墙后,规则生效。
5.2.6防火墙关闭/启动功能模块
本功能模块完成Iptables防火墙的关闭/启动操作。
用户只需在前台点击相应按钮,就可实现防火墙的关闭/重启操作。
5.2.7防火墙重启模块
本功能模块完成防火墙的重启功能。
当用户配置完防火墙后,可以通过此模块功能重新启动防火墙,实现加载新规则功能。
5.2.8读取防火墙配置文件/规则链模块
本功能完成在前台读取防火墙配置文件/规则链的功能。
方便用户随时查看防火墙的工作状态及确定配置规则是否生效。
6系统设计
6.1前台主页设计
图2系统主页
前台主页是配置防火墙的主要页面。
前台主页包括:
基本设置,高级和Iptables的连接。
基本设置中有添加、删除、替换和插入规则功能;高级中有状态机制,通过状态机制的相关选项可以把防火墙配置成有状态机制的防火墙;Iptables操作栏中有关闭、启动、重启和删除所有规则的选项,每个选项完成相关操作;页面最上面有配置文件,Iptables规则链和帮助的连接,通过这些连接,用户可以轻松查看防火墙的相关状态。
6.2基本设置功能的设计
图3基本功能页面
基本设置中包括:
插入、替换、删除、添加功能。
四个功能的基本输入基本相同
用户输入如下:
表2基本功能输入数据表
类别
合法值
初始值
链名
INPUT/OUTPUT
INPUT
规则ID
大于1的整数
空
协议类型
Linux规定的协议编号/协议名
空
IP地址
合法IP地址,点分十进制表示
空
端口号
整数表示,系统所有端口
空
动作
ACCEPT/DROP
ACCEPT
基本设置中的相关功能是通过Java程序,修改Iptabels配置文件,完成上述功能。
6.3状态机制功能设计
图4状态功能页面
状态机制可以通过相关选项把Iptables防火墙配置成基于状态检测型防火墙。
状态机制页面选项如下:
表3状态机制输入数据表
类别
合法值
初始值
链名
INPUT/OUTPUT
INPUT
规则ID
大于1的整数
空
协议类型
Linux规定的协议编号/协议名
空
IP地址
合法IP地址/网络号,点分十进制表示
空
端口号
整数表示,系统所有端口
空
状态
NEW/ESTABLISHED/RELATED/INVALID
NEW
动作
ACCEPT/DROP
ACCEPT
6.4Iptables操作功能设计
Iptables操作功能包括:
防火墙的关闭/启动/重启/清空规则链功能。
每个功能有一个连接,(如主页图所示),点击连接后即可完成相关操作。
上述功能是通过Java调用Linux系统相关命令完成的。
6.5Iptables配置文件/规则链读取功能设计
Iptables配置文件/规则链读取是通过主页页面上的相关连接完成的。
在系统后台读取通过JavaBean和调用Linux系统相关命令完成此项功能。
7系统实现
7.1基本设置及高级功能实现方法
基本设置及高级功能实现方法主要是通过对Iptables配置文件的修改完成相关操作。
修改Iptables配置文件是通过Java程序实现的。
Java程序调用JavaIO包,先完成Iptabels配置文件的备份操作,然后删除Iptables配置文件,再
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSPIptables 防火墙 管理工具 设计 实现