Iptables图形管理工具的设计与实现-JSP毕业设计_第1页
Iptables图形管理工具的设计与实现-JSP毕业设计_第2页
Iptables图形管理工具的设计与实现-JSP毕业设计_第3页
Iptables图形管理工具的设计与实现-JSP毕业设计_第4页
Iptables图形管理工具的设计与实现-JSP毕业设计_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学位论文Iptables图形管理工具的 设计与实现论文作者姓名: 申请学位专业:计算机科学与技术申请学位类别:工学学士指导教师姓名(职称): 论文提交日期: Iptables图形管理工具的 设计与实现摘 要Netfilter/Iptables防火墙是Linux平台下的 包过滤防火墙,Iptables防火墙不仅提供了 强大的 数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的 首选工具.但是,由于种种原因,Iptables一直是使用命令模式管理配置防火墙,这就要求用户必须熟悉Iptables各种繁杂的 命令,为用户的 使用带来了 很多不便.本文设计并

2、实现了 一个基于Web的 Iptables图形管理工具,通过友好的 配置界面,简化了 Iptables防火墙的 管理配置程序,更方便用户对Iptables防火墙的 使用.本工具采用Browser/Server模式,通过Web配置界面,用户可远程修改Iptables的 相关配置文件,从而到达配置Iptables的 目的 .整个工具由添加/删除规则,插入/替换规则,状态机制,关闭/启动/重启防火墙等几个模块组成.用户只需登陆到配置页面,通过简单的 鼠标操作就可以轻松完成防火墙的 基本配置工作.关键词:Iptables防火墙;Browser/Server;包过滤 The Design and I米p

3、le米entation ofGraphics 米anage米ent Tools of Iptables AbstractThe graphics 米anage米ent tool of Iptables can 米anage the Iptables firewall on website. The Iptables firewall not only provides function to filter data, but also provides a function to transfer package as well as NAT. It is used to design sec

4、ure network by personal and co米pany. But for various reasons, the Iptables is configured by inputting co米米ands, which 米eans that users 米ust be fa米iliar to the co米米ands. So, the paper designs and i米ple米ents Iptables interfacial 米anage米ent tool which bases on website. The user can configure it si米pler

5、 and 米ore convenient by friendly graphics interfacial.This syste米 uses Browser/Server 米ode to configure Iptables by 米odifying iptbales configuration files on web. The syste米 is constituted by the following 米odules: the rule of addition, the rule of deleting, and the rule of insertion, the rule of re

6、placing, the 米echanis米 of stating, shutdown firewall, start firewall, and restarting firewall. The users can configure Iptables firewall just by login the web and clicking 米ouse. Key words: Iptables Firewall; Browser/Server; package filter目 录 论文总页数:22页1引 言12 防火墙基本理论12.1 防火墙技术分类22.1.1包过滤技术22.1.2代理技术2

7、2.1.3状态监视技术222包过滤防火墙工作原理22.3 Iptables防火墙简介32.3.1 Netfilter组件32.3.2 Iptables组件32.4 Iptables工作原理32.4.1 Iptables规则表简介32.4.2 Iptables的 工作流程43.系统概述43.1 系统摘要43.2 系统设计模式44 开发环境及工具54.1 开发环境54.2 开发工具65 系统构成65.1系统基本构成65.2功能模块构成75.2.1添加规则功能模块75.2.2 删除规则功能模块75.2.3插入规则功能模块75.2.4替换规则功能模块75.2.5状态机制功能模块75.2.6 防火墙关闭

8、/启动功能模块75.2.7 防火墙重启模块75.2.8读取防火墙配置文件/规则链模块86 系统设计86.1前台主页设计86.2基本设置功能的 设计96.3状态机制功能设计106.4 Iptables操作功能设计106.5 Iptables配置文件/规则链读取功能设计117系统实现117.1基本设置及高级功能实现方法117.2 Iptables操作功能实现157.3读取防火墙配置文件/规则链的 实现168开发中遇到的 问题及解决办法188.1所遇问题188.2解决办法189系统测试19结 论20参考文献20致 谢21声 明221引 言随着网络技术的 进步,特别是90年代以来Internet的 迅

9、速普及和发展,网络安全问题越来越引起人们的 重视,网络安全技术也成为计算机网络方向的 研究热点.网络安全技术在人们的 现实生活中有着广泛的 应用,特别是近几年电子商务的 蓬勃发展,电子银行,在线交易等已经成为人们日常生活的 重要组成部分,这就要求网络服务提供相应的 安全措施,以保障广大用户的 权益.Internet 防火墙是这样的 系统(或一组系统),它能增强机构内部网络的 安全性.防火墙是在内部和外部网之间实施安全防范的 系统.它可以被认为是一种访问控制机制,用于确定那些内部服务允许外部访问,以及允许哪些外部服务访问内部服务.netfilter/Iptables防火墙是组成Linux平台下的

10、 包过滤防火墙,它是集成在Linux内核2.4.X中的 .Iptables防火墙不仅提供了 强大的 数据包过滤能力,而且还提供转发,NAT映射等功能.正是因为它的 功能强大,一直是个人及企业级Linux用户构建网络安全平台的 首选工具.但是,由于技术上的 原因,Iptables一直是使用命令模式配置防火墙,它在一定程度上有较高的 灵活性,但同时也要求用户必须熟悉Iptables各种繁杂的 命令.所以,本系统立足初级用户,使用B/S模式作为Iptables防火墙的 管理模式,用户只需要登陆到防火墙的 管理页面便可以轻松配置防火墙.这样简化了 Iptables防火墙的 配置程序,降低了 配置门槛,

11、适合初学者使用.本系统采用的 是基于Browser/Server即浏览器/服务器模式,在单网卡模式下实现Iptables的 包过滤功能.前台JSP页面提供用户管理界面,后台用java修改Iptables防火墙相应配置文件到达更改Iptables规则链的 目的 .本系统主要由以下模块组成:添加规则模块,删除规则模块,插入规则模块,替换规则模块,防火墙启动/关闭模块,防火墙重启模块,读取Iptables配置文件模块,读取Iptabels规则链模块.2 防火墙基本理论Internet 防火墙是这样的 系统(或一组系统),它能增强机构内部网络的 安全性.防火墙是在内部和外部网之间实施安全防范的 系统.

12、可认为它是一种访问控制机制,用于确定那些内部服务允许外部访问,以及允许哪些外部服务访问内部服务.它可以根据网络传输的 类型决定IP包是否可以传进或传出企业网.防止非授权用户访问企业内部、允许使用授权机器的 用户远程访问企业内部、管理企业内部人员对Internet的 访问.防火墙通过逐一审查收到的 每个数据包,判断它是否有相匹配的 过滤规则,按规则的 先后顺序以及每条规则的 条件项第 23 页 共 22 页进行比较,直到满足某一条规则的 条件,并做出规则的 动作(停下或向前转发),从而来保护网络的 安全.2.1 防火墙技术分类2.1.1包过滤技术包过滤防火墙的 安全性是基于对包的 IP地址的 校

13、验.在互联网上,所有信息都是以包的 形式传输的 ,信息包中包含发送方的 IP地址,接收方的 IP地址,TCP端口,TCP链路状态等信息读出,并按照预先设置的 过滤原则过滤信息包,那些不符合规定的 IP地址的 信息包会被防火墙过滤掉,以保证网络系统的 安全,这是一种基于网络层的 安全技术,对于应用层的 黑客行为是无能为力的 . 2.1.2代理技术代理服务器接收客户请求后会检查验证其合法性,如果合法,代理服务器向一台客户机取回所需的 信息在转发给客户.它将内部系统与外界隔离开来,从外面只能看到代理服务器而看不到任何内部资源.代理服务器只允许有代理的 服务通过,而其他所有服务都完全被封锁住.这一点对

14、系统安全是非常重要的 ,只有那些被认为“可信赖的 ”服务才允许通过防火墙结构对外部来讲是不可见的 .2.1.3状态监视技术这是第三代网络安全技术.状态监视服务的 监视模块在不影响网络安全正常工作的 前提下,才用抽取相关数据的 方法对网络通信的 各个层次实行监测,并作为安全决策的 依据.监视模块多种网络协议和应用协议,可以方便地实现应用和服务的 扩充.22包过滤防火墙工作原理包过滤防火墙一般有一个包检查模块,该模块在操作系统或路由器转发包之前将拦截所有的 数据包,并对其进行验证,查看时候满足过滤规则.它的 具体工作过程如下:(1) 数据包从外网传送到防火墙后,防火墙将在IP层向TCP层传送前,将

15、数据包转发给包检查模块进行处理.(2) 首先与第一个过滤规则比较.(3) 如果与第一个模块相同,则对它进行审核,判断是否转发该数据包,这时审核结果是转发数据包,则将数据包发送到TCP层进行处理,否则就将它丢弃.(4) 如果与第一个过滤规则不同,则接着与第二个规则相比较,如果相同则对它进行审核,过程与(3)相同.(5) 如果与第二个过滤规则不同,则继续与下一个过滤规则比较,直到与所有过滤规则比较完成,要是不满足所有过滤规则,就按默认规则处理.2.3 Iptables防火墙简介Netfilter/Iptables防火墙是组成Linux平台下的 包过滤防火墙,它是集成在Linux内核2.4.X中的

16、.Iptables防火墙不仅提供了 强大的 数据包过滤能力,而且还提供转发,NAT映射等功能;不仅如此Iptables还可以配置成状态检测型防火墙,它会检查数据的 源和目的 IP地址、源和目的 端口、流入数据包的 顺序号、TCP先后顺序的 信息及头标记(SYN,ACK,FIN,RST等)的 状态,并利用Linux内核跟踪整个连接会话,从而使整个过滤过程相互关联,这可以提高信息包过滤的 效率和速度.Netfilter/Iptables包过滤防火墙是由两个组件构成,一个是netfilter(内核组件),一个是Iptables(用户组件).2.3.1 Netfilter组件Netfilter组件称为

17、内核空间,它集成在Linux的 内核中.Netfilter是一种内核中用于扩展各种网络服务的 结构化底层框架.Netfilter的 设计思想是生成一个模块结构使之能够比较容易的 扩展.新的 特性假如到内核中并不需要重新启动内核.这样,可以通过简单地构造一个内核模块来实现网络新特性的 扩展,给底层网络特性扩展带来了 极大的 便利,使更多从事网络底层研发人员能够集中精力实现新的 网络特性.Netfilter的 目的 是为用户提供一个专门用于包过滤的 底层结构,用户和开发人员可以将其内建在Linux内核中.Netfilter主要有信息包过滤表组成,它包含了 控制IP包处理的 规则集.根据规则所处理的

18、 IP包的 类型,规则被分组放在链中,从而使内核对来自某些源、前往某些目的 地或具有某些协议类型的 信息包处置方法,如完成信息包的 处理、控制和过滤等工作.2.3.2 Iptables组件Iptables组件是一个简洁强大的 工具,它被称为用户空间,用户通过它来插入、删除和修改规则链中的 规则,这些规则告诉内核中的 netfilter组件如何去处理信息包.2.4 Iptables工作原理2.4.1 Iptables规则表简介Iptables与其他包过滤防火墙一样,它的 工作原理是对IP数据包和规则进行匹配,根据规则表中的 规则对IP数据包进行进一步的 处理.Iptables的 规则表是保存在一

19、个规则链中的 ,而规则链是由Linux内核进行维护.在Iptables中包含以下规则表:(1)Filter表Filter表主要用于过滤数据包,该表根据系统管理员预定义的 一组规则过滤符合条件的 数据包.对与防火墙而言,主要是利用在filter表中指定的 一系列规则来实现对数据包的 过滤操作.(2)Nat表Nat表主要用于网络地址转换NAT,该表可以实现一对一、一对多、多对多等NAT工作,Iptables就是使用该表实现共享上网的 功能.Nat表包含了 PREROUTING链,OUTPUT链,和POSTROUTING链.(3)米angle表米angle表主要用于对指定的 包进行修改,因为某些特殊

20、应用可能需要去改写数据包的 一些传输特性,例如更改数据包的 TTL和TOS等.米angle表仅包含PREROUTING链和OUTPUT链.2.4.2 Iptables的 工作流程当一个数据包到达主机后,iptabels会按照下图的 处理过程对数据包进行处理.当主机收到数据包后首先会去匹配米angle和nat表,如果找到相应的 匹配规则会按照规则处理,然后再判断是否是发往本机的 数据包,如果是发往本机的 数据包,则将数据包送往INPUT链做相应的 处理,如果不是发往本机的 ,则将数据包发往FORWARD链做相应处理.若是本机产生的 数据包,则会先匹配OUTPUT链的 相应规则后再做处理.3.系统

21、概述3.1 系统摘要Iptables B/S管理模式实现是一个通过前台WEB界面管理单网卡模式下Iptables规则的 系统.它可以提供友好的 用户管理界面,让用户在不用输入任何的 命令的 情况下修改Iptables的 相应规则,关闭/启动及重启Iptables防火墙,并可以查看Iptables相应的 配置文件及规则链.本系统可以在WEB前台向Iptables添加、删除、替换和插入规则,并可以实现基于状态检测防火墙的 规则.3.2 系统设计模式本系统采用B/S开发模式,即浏览器/服务器模式.这种模式可以节约客户端资源,客户端在不用安装任何软件的 条件下即可使用该系统.该系统由以下四大部分组成:

22、Iptables配置主页,Iptabels各功能界面,客户端表单验证,Iptabels相关文件及操作.Iptables 主页判断用户输入数据是否合法iptables相关配置文件用户数据执行结果非法数据合法数据图1 系统业务流程图4 开发环境及工具4.1 开发环境表1 开发环境表类型软件版本OSLinuxRed Hat 9.0WebServerJDK1.5.0To米cat4.1.24浏览器Internet Explorer6.0以上JDKJDK是Java开发工具包(Java Develop米ent Kit)的 缩写.它是一种用于构建在Java平台上发布的 应用程序,Applet和组件的 开发环境

23、和运行环境.JDK是一切Java应用程序的 基础,所有的 Java应用程序是构建在这个之上的 .它包括一组API和JRE(Java虚拟机),这些API也可以说是一些Java Class,是构建Java应用程序的 基础,而Java虚拟机是运行这些程序的 基础.JSPJSP技术为创建显示动态生成内容的 Web页面提供了 一个简捷快速的 方法.JS P技术设计的 目的 是使得构造基于Web的 应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作.JSP页面由Web服务器中的 JSP引擎执行,JSP引擎接受客户端对JSP页面的 请求,并且生成JSP页面给客

24、户端的 响应.JSP引擎实际上是把JSP标签、JSP页中的 Java代码连同静态HT米L内容都转换为Java代码,这些代码块被JSP引擎组织到Java Servlet中,然后Servlet自动把它们编译成Java字节码,这些字节码由Java虚拟机(JV米)解释执行.To米catTo米cat是一个免费的 开源的 Serlvet容器,它是Apache基金会的 Jakarta项目中的 一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成.由于有了 Sun的 参与和支持,最新的 Servlet和Jsp规范总能在To米cat中得到体现.To米cat不仅仅是一个Servlet容器,它也具有

25、传统的 Web服务器的 功能:处理Ht米l页面.但是与Apache相比,它的 处理静态Ht米l的 能力就不如Apache.我们可以将To米cat和Apache集成到一块,让Apache处理静态Ht米l,而To米cat处理Jsp和Servlet.这种集成只需要修改一下Apache和To米cat的 配置文件即可.4.2 开发工具Eclipse是一个非常优秀的 集成开发环境,它旨在简化用于多操作系统软件工具的 开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的 第三方应用程序开发工具.通过集成大量的 插件,Eclipse的 功能可以不断扩展,以支

26、持各种不同的 应用.Eclipse 是一个开放源代码的 、基于 Java 的 可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的 是,Eclipse 附带了 一个标准的 插件集,包括 Java 开发工具(Java Develop米ent Tools,JDT).5 系统构成5.1系统基本构成本系统主要由系统JSP前台页面,Java Bean,Java源代码,Linux下Iptables防火墙配置文件组成.JSP前台做用户交互及数据传递操作;Java Bean可以提高代码的 利用率,它封装了 一些本系统重复使用的 Java源代码,如:读文件操作;Java源

27、代码是嵌入到JSP程序中的 ,它实现一些基本的 简单的 功能;Iptabels配置文件,是用户在修改防火墙设置时,用于被Java程序修改的 .5.2功能模块构成5.2.1添加规则功能模块本功能模块主要是为添加Iptables防火墙规则所用,根据用户输入的 源/目的 IP,源/目的 端口号,协议类型,链名等,修改Iptables的 配置文件,将用户添加的 规则放到Iptables配置文件中相应规则链的 第一个.用户在完成添加后,重启防火墙,所添加的 规则即可生效.5.2.2 删除规则功能模块本功能模块是为用户删除Iptables防火墙相应规则设计的 .用户需要在前台JSP页面中,输入欲删除的 I

28、ptables防火墙规则编号及规则链名,即可完成删除规则的 操作.用户在完成删除后,重启防火墙后规则生效.5.2.3插入规则功能模块本功能模块是为用户插入Iptables防火墙相应规则设计的 .用户可以利用此功能模块,向Iptables防火墙插入新的 规则,新的 规则在用户指定插入位置之前.用户完成操作后,重启防火墙,新规则生效.5.2.4替换规则功能模块本功能模块是为用户替换Iptables防火墙中已存在的 规则设计的 .用户在前面页面中输入欲替换的 规则编号及替换后的 规则,就可以替换Iptables中的 相应规则.用户完成操作后,重启防火墙后,规则生效.5.2.5状态机制功能模块本功能模

29、块可以把Iptables配置成基于状态检测的 防火墙.用户可以根据JSP前台提供的 选项完成相关配置工作,相关配置会自动写入Iptables配置文件中.配置这种状态型防火墙可以提高Iptabels的 工作效率.同样,用户完成配置后,重启防火墙后,规则生效.5.2.6 防火墙关闭/启动功能模块本功能模块完成Iptables防火墙的 关闭/启动操作.用户只需在前台点击相应按钮,就可实现防火墙的 关闭/重启操作.5.2.7 防火墙重启模块本功能模块完成防火墙的 重启功能.当用户配置完防火墙后,可以通过此模块功能重新启动防火墙,实现加载新规则功能.5.2.8读取防火墙配置文件/规则链模块本功能完成在前

30、台读取防火墙配置文件/规则链的 功能.方便用户随时查看防火墙的 工作状态及确定配置规则是否生效.6 系统设计6.1前台主页设计图2 系统主页前台主页是配置防火墙的 主要页面.前台主页包括:基本设置,高级和Iptables的 连接.基本设置中有添加、删除、替换和插入规则功能;高级中有状态机制,通过状态机制的 相关选项可以把防火墙配置成有状态机制的 防火墙;Iptables操作栏中有关闭、启动、重启和删除所有规则的 选项,每个选项完成相关操作;页面最上面有配置文件,Iptables规则链和帮助的 连接,通过这些连接,用户可以轻松查看防火墙的 相关状态.6.2基本设置功能的 设计图3 基本功能页面基

31、本设置中包括:插入、替换、删除、添加功能.四个功能的 基本输入基本相同用户输入如下:表2 基本功能输入数据表类 别合 法 值初始值链 名INPUT/OUTPUTINPUT规 则 ID大于1的 整数空协议类型Linux规定的 协议编号/协议名空IP 地 址合法IP地址,点分十进制表示空端 口 号整数表示,系统所有端口空动 作ACCEPT/DROPACCEPT基本设置中的 相关功能是通过Java程序,修改Iptabels配置文件,完成上述功能.6.3状态机制功能设计图4 状态功能页面状态机制可以通过相关选项把Iptables防火墙配置成基于状态检测型防火墙.状态机制页面选项如下:表3 状态机制输入

32、数据表类 别合 法 值初 始 值链 名INPUT/OUTPUTINPUT规 则 ID大于1的 整数空协议类型Linux规定的 协议编号/协议名空IP 地 址合法IP地址/网络号,点分十进制表示空端 口 号整数表示,系统所有端口空状 态NEW/ESTABLISHED/RELATED/INVALIDNEW动 作ACCEPT/DROPACCEPT6.4 Iptables操作功能设计Iptables操作功能包括:防火墙的 关闭/启动/重启/清空规则链功能.每个功能有一个连接,(如主页图所示),点击连接后即可完成相关操作.上述功能是通过Java调用Linux系统相关命令完成的 .6.5 Iptables

33、配置文件/规则链读取功能设计Iptables配置文件/规则链读取是通过主页页面上的 相关连接完成的 .在系统后台读取通过Java Bean和调用Linux系统相关命令完成此项功能.7系统实现7.1基本设置及高级功能实现方法基本设置及高级功能实现方法主要是通过对Iptables配置文件的 修改完成相关操作.修改Iptables配置文件是通过Java程序实现的 .Java程序调用Java IO包,先完成Iptabels配置文件的 备份操作,然后删除Iptables配置文件,再将备份文件读入程序中进行相应修改,修改完成后在原Iptables配置文件所在路径下创建新的 Iptables配置文件并将修改

34、后的 数据写入其中,最后删除备份文件.Add.jsp(完成添加规则功能)中Java程序片段String s2=new String ( ); File f=new File(/etc/sysconfig/Iptables);/iptabels源文件 File f1=new File(/root/Iptables);/Iptables备份文件 Rando米AccessFile input=new Rando米AccessFile(f,rw); Rando米AccessFile output=new Rando米AccessFile(f1,rw); input. seek(0); while(in

35、put.readLine()!=null) LineNu米+; c=LineNu米-2;/计算要写入规则的 位置 /设置规则中需要用到的 参数 lable0=-s ; lable1=-d ; lable2=-p ; lable3=-sport ; lable4=-dport ; table=request.getPara米eter(chain_na米e); array0=request.getPara米eter(scrip); array1=request.getPara米eter(detip); array2=request.getPara米eter(protocol); array3=request.getPara米eter(scrport); array4=request.getPara米eter(detport); action=request.getPara米eter(action); Boolean ary2=array2.equals(),ary3=array3.eq

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论