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

news/2024/10/21 5:31:36/

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.ppmy.cn/news/61353.html

相关文章

【fluent】axial、radial、tangentia的含义和区别,axial/radial/tangentia coordination表达的意义

Reference 本文主要参考fluent的官方文档。 ANSYS FLUENT 12.0 User’s Guide - 31.2 Velocity Reporting Options 笛卡尔坐标系——Cartesian coordinate system 不管什么坐标系,都要讲究维数。这个维数根据问题难度确定,对于3D问题需要用三维坐…

大模型商业的搅局者?除了谷歌和微软,你可能忘记了它!

夕小瑶科技说 原创 作者 | 小戏、iven 大模型的商业大戏愈发精彩了,这边是谷歌和 OpenAI 剑拔弩张军备竞赛,那边是各路豪强的大模型应用雪花般的涌来,你方唱罢我登场。 而在这串作为大模型先行者而出现的公司以及研究院的名字中,…

MySQL5.7和MySQL8.0的区别是什么

MySQL5.7和MySQL8.0的区别是什么 1.MySQL5.7和MySQL8的区别? MySQL 5.7和MySQL 8.0之间有以下几个主要区别: 版本功能区别:MySQL 5.7版本已经是一个非常稳定的成熟的版本,主要是针对5.7以下的版本进行常规的bug修复和性能优化&a…

视频里的音乐怎么转换成mp3格式?

视频里的音乐怎么转换成mp3格式?视频里的音乐转换为mp3的原因有很多,主要是因为mp3格式是一种音频格式,文件大小较小,更易于存储和传输。相比之下,视频格式则是一种视频文件格式,虽然包含音频,但…

springboot+vue心灵治愈交流平台(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的心灵治愈交流平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

【二叉搜索树】

1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 : 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左…

I2C工作流程

FM33A0XX的I2C接口只用作主机,且不支持多主机,因此挂在总线上的其他设备都是从机。总线上总是由主机提供同步时钟SCL,SDA数据流方向可以是主机发送从机接收,或者从机发送主机接收。 数据发送流程 1、主机发起 START 时序 2、主机…

第4章-虚拟机栈(多使用到jclasslib工具查看字节码)

虚拟机栈 简介 虚拟机栈的出现背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的【如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的CPU架…