当前位置: 首页 > news >正文

JSP基于Iptables图形管理工具的设计与实现(源代码+论文)

Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因,Iptables一直是使用命令模式管理配置防火墙,这就要求用户必须熟悉Iptables各种繁杂的命令,为用户的使用带来了很多不便。本文设计并实现了一个基于Web的Iptables图形管理工具,通过友好的配置界面,简化了Iptables防火墙的管理配置程序,更方便用户对Iptables防火墙的使用。

本工具采用Browser/Server模式,通过Web配置界面,用户可远程修改Iptables的相关配置文件,从而到达配置Iptables的目的。整个工具由添加/删除规则,插入/替换规则,状态机制,关闭/启动/重启防火墙等几个模块组成。用户只需登陆到配置页面,通过简单的鼠标操作就可以轻松完成防火墙的基本配置工作。

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.3 Iptables防火墙简介

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

2.3.1 Netfilter组件

Netfilter组件称为内核空间,它集成在Linux的内核中。Netfilter是一种内核中用于扩展各种网络服务的结构化底层框架。Netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性假如到内核中并不需要重新启动内核。这样,可以通过简单地构造一个内核模块来实现网络新特性的扩展,给底层网络特性扩展带来了极大的便利,使更多从事网络底层研发人员能够集中精力实现新的网络特性。

Netfilter的目的是为用户提供一个专门用于包过滤的底层结构,用户和开发人员可以将其内建在Linux内核中。Netfilter主要有信息包过滤表组成,它包含了控制IP包处理的规则集。根据规则所处理的IP包的类型,规则被分组放在链中,从而使内核对来自某些源、前往某些目的地或具有某些协议类型的信息包处置方法,如完成信息包的处理、控制和过滤等工作。

2.3.2 Iptables组件

Iptables组件是一个简洁强大的工具,它被称为用户空间,用户通过它来插入、删除和修改规则链中的规则,这些规则告诉内核中的netfilter组件如何去处理信息包。

2.4  Iptables工作原理

2.4.1 Iptables规则表简介

Iptables与其他包过滤防火墙一样,它的工作原理是对IP数据包和规则进行匹配,根据规则表中的规则对IP数据包进行进一步的处理。Iptables的规则表是保存在一个规则链中的,而规则链是由Linux内核进行维护。在Iptables中包含以下规则表:

(1)Filter表

Filter表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过

未完待续...

http://www.lryc.cn/news/65355.html

相关文章:

  • 什么是数据库分片?
  • 软件工程知识点
  • 华为OD机试 - 投篮大赛(Python)
  • 《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析
  • 【Python入门】Python的判断语句(if else 语句)
  • (4.28-5.4)【大数据新闻速递】数字中国峰会成功举办;“浙江数据知识产权登记平台”上线;贵州大数据活跃;AI教父从谷歌离职
  • 领域驱动设计(Domain Driven Design)之建立领域模型
  • 有研究员公开了一个解析并提取 Dell PFS BIOS 固件的工具(下)
  • iOS开发系列--Swift语言
  • 【MOMO】高水平期刊目录(持续更新)
  • LVS负载均衡集群--DR模式
  • RabbitMQ --- 死信交换机
  • 如何在个人web项目中使用会话技术(cookiesession)?
  • 创建线索二叉树
  • HNU-操作系统OS-实验Lab2
  • 如何使用HTML和CSS创建有方向感知的按钮
  • java 线程安全
  • 移动硬盘修复后文件丢失恢复方法
  • 直线飙升到10万+star的AutoGpt,有多强?帮我写了个网页!
  • rk3568平台调试typec口实现uvc输出,网络共享等功能
  • java基础知识——26.反射
  • 【容器化】Docker 简介和安装
  • 性能测试场景分析并设计?超细案例讲解,看这篇就够了
  • JAVA9新特性
  • ( 数组和矩阵) 645. 错误的集合 ——【Leetcode每日一题】
  • 2023年全国最新道路运输从业人员精选真题及答案63
  • Kettle安装与使用
  • C51 - DS18B20
  • 手把手教你使用vue2搭建微前端micro-app
  • DDR3(MIG核配置官方demoFPGA代码实现及仿真)