当前位置: 首页 > 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表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过

未完待续...

相关文章:

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

Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因&#x…...

什么是数据库分片?

什么是数据库分片? 数据库分片是指将一个大型数据库拆分成多个小型数据库,每个小型数据库称为一个分片。通过这种方式,可以将数据库的负载分散到多个服务器上,从而提高数据库的性能和可伸缩性。 为什么需要数据库分片&#xff1f…...

软件工程知识点

软件工程提出的时代和背景 软件工程化的层次 软件开发过程 敏捷与计划开发 演化式开发和DevOps 软件配置管理过程和相关工具名 软件质量和代码异味 能够分析常见的代码异味和bug 代码复杂度和计算圈复杂度 了解代码异味和重构行为的关系 了解自动化单元测试框架xunit…...

华为OD机试 - 投篮大赛(Python)

题目描述 你现在是一场采用特殊赛制投篮大赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。 你会得到一个记录操作的字符串列表 ops,其中ops[i]是你需要记录的第i项操作,ops遵循下述规则: 整数x-表示本回合…...

《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析

引言: 人工智能是当今科技领域的热门话题,自然语言处理是人工智能的重要分支。自然语言处理的目标是让计算机能够理解和生成自然语言,实现人机交互和智能服务。近年来,随着深度学习的发展,自然语言处理领域出现了许多创…...

【Python入门】Python的判断语句(if else 语句)

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…...

(4.28-5.4)【大数据新闻速递】数字中国峰会成功举办;“浙江数据知识产权登记平台”上线;贵州大数据活跃;AI教父从谷歌离职

01【2023年数字中国建设峰会数字福建分论坛成功举办】 2023年数字中国建设峰会数字福建分论坛由福建省人民政府主办,福建省数字福建建设领导小组办公室、数字中国研究院(福建)和福建省大数据集团承办。分论坛于2023年4月28日下午14:30 -17:3…...

领域驱动设计(Domain Driven Design)之建立领域模型

文章目录 用领域模型表达领域概念建立模型使用通用语言验证模型识别构造块类型设计聚合如何使用领域模型再次思考总结用领域模型表达领域概念 在实际项目中,模型设计者往往过早陷入具体构造块类型的识别,比如实体、聚合、领域服务,而忽略了领域模型表达领域概念的目的。我们…...

有研究员公开了一个解析并提取 Dell PFS BIOS 固件的工具(下)

导语:研究员公开了一个解析并提取 Dell PFS BIOS 固件的工具。 Apple EFI IM4P分配器 介绍 解析苹果多个EFI固件.im4p文件,并将所有检测到的EFI固件分割为单独的SPI/BIOS映像。 使用 你可以拖放或手动输入包含Apple EFI IM4P固件的文件夹的完整路径。…...

iOS开发系列--Swift语言

概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中你可以看到C#、Java、Javascript、Pyth…...

【MOMO】高水平期刊目录(持续更新)

高水平期刊目录 引言1 顶级期刊目录(A)1.1 IEEE Transactions on Intelligent Transportation Systems1.2 IEEE Transactions on Neural Networks and Learning Systems1.3 Engineering 2 权威期刊目录(A)2.1 Measurement 3 鼓励期…...

LVS负载均衡集群--DR模式

一、LVS-DR集群介绍 LVS-DR(Linux Virtual Server Director Server)工作模式,是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式,Director Server 作为群集的访问入口,不作为网关使用&#xff0…...

RabbitMQ --- 死信交换机

一、简介 1.1、什么是死信交换机 什么是死信? 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false…...

如何在个人web项目中使用会话技术(cookiesession)?

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 服务器软件:apache-tomcat-8.5.27 目录 一. 什么是会话?二. 为什么要使用会话技术?三. 如何使用会话技术?3.1 Cookie(客户端的会话技术…...

创建线索二叉树

创建线索二叉树 一、创建线索二叉树一、案例1、前序线索二叉树2、中序线索二叉树3、后序线索二叉树 一、创建线索二叉树 现将某结点的空指针域指向该结点的前驱后继,定义规则如下: 若结点的左子树为空,则该结点的左孩子指针指向其前驱结点。…...

HNU-操作系统OS-实验Lab2

OS_Lab2_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 前言 实验一过后大家做出来了一个可以启动的系统,实验二主要涉及操作系统的物理内存管理。操作系统为了使用内存,还需高效地管理…...

如何使用HTML和CSS创建有方向感知的按钮

在互联网应用中,按钮是一种常见的控件,用户通过点击按钮来触发相应的操作。考虑到用户体验和交互设计,设计有方向感知的按钮可以使得用户更加易于理解按钮的功能和状态。 在本文中,我们将介绍如何使用HTML和CSS来创建具有方向感知…...

java 线程安全

内部锁 在 Java 中,每个对象都有一个内部锁,也称为监视器锁或对象锁。内部锁是通过在代码块或方法前加上 synchronized 关键字来实现的。当一个线程执行一个带有 synchronized 关键字的方法或代码块时,它必须先获得该对象的内部锁&#xff0…...

移动硬盘修复后文件丢失恢复方法

最近收到很多这样的咨询: 问1:移动硬盘目录损坏用chkdsk修复后,文件被删除,怎么才可以恢復文件? 问2:移动硬盘出错然后修复,然后文件都没有了怎么处理啊!!!&a…...

直线飙升到10万+star的AutoGpt,有多强?帮我写了个网页!

先来感受一下10万的star,到底有多强! 从4月2日开始,直线飙升到10万star Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的功能。这个程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的…...

rk3568平台调试typec口实现uvc输出,网络共享等功能

一、修改kernel相关配置 注意:一定要知道主控接线,那个物理口是otg的,然后要找准与之所连接的phy和控制器。然后处理CC1 CC2识别芯片,fusb302。默认sdk自带有驱动,需要配上中断脚和提供VBUS 5V的脚。用来判断角色是DF…...

java基础知识——26.反射

这篇文章我们来讲一下java的代理与反射,这是很重要的一部分内容。 目录 1.什么是反射 2.获取class对象的三种方式 3.反射获取构造方法 4.利用反射来获取成员变量 5.利用反射来获取成员方法 6.反射的作用 7.反射小结 1.什么是反射 首先,我们来看…...

【容器化】Docker 简介和安装

【容器化】Docker 简介和安装 DockerDocker的应用场景Docker 的优点1、快速,一致地交付您的应用程序2、响应式部署和扩展3、在同一硬件上运行更多工作负载 Docker 架构Docker 安装Ubuntu Docker 、Debian Docker 安装使用官方安装脚本自动安装手动安装使用 Shell 脚…...

性能测试场景分析并设计?超细案例讲解,看这篇就够了

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试场景&…...

JAVA9新特性

JAVA9新特性 概述 ​ 经过4次推迟,历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统,在最初设想的时候并没有想过那么复杂,花费的时间超出预估时间。距离java8大约三年时间。 ​ Java 9提供了超过150项新功能特性&#x…...

( 数组和矩阵) 645. 错误的集合 ——【Leetcode每日一题】

❓645. 错误的集合 难度:简单 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了…...

2023年全国最新道路运输从业人员精选真题及答案63

百分百题库提供道路运输安全员考试试题、道路运输从业人员考试预测题、道路安全员考试真题、道路运输从业人员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 119.在危险货物道路运输过程中,(&#x…...

Kettle安装与使用

一、Kettle简介 Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。它由Java开发,…...

C51 - DS18B20

Thermometer 1> 实验概述2> 硬件设计3> DS18B203.1> 原理框图3.2> 数据格式 4> 单总线(1-Wire)通讯协议4.1> 初始化(复位)时序4.2> 写-DS18B20时序4.3> 读-DS18B20时序4.4> 命令 5> 程序设计5.1…...

手把手教你使用vue2搭建微前端micro-app

​ 简述 本文主要讲述新手小白怎么搭建micro-app,几乎是每一步都有截图说明。上手应该很简单。 研究背景 这段时间在网上找了很多有关微前端相关的知识,起初本来是想着先搭建一个single-spa,但是奈何网上能找到的内容都是千篇一律。我也是…...