收藏 分销(赏)

基于snort和iptables的简单ips系统的设计与实现-学位论文.doc

上传人:a199****6536 文档编号:2177284 上传时间:2024-05-22 格式:DOC 页数:47 大小:2.84MB
下载 相关 举报
基于snort和iptables的简单ips系统的设计与实现-学位论文.doc_第1页
第1页 / 共47页
基于snort和iptables的简单ips系统的设计与实现-学位论文.doc_第2页
第2页 / 共47页
点击查看更多>>
资源描述
本 科 生 毕 业 设 计 (申请学士学位) 论文题目 基于snort和iptables的简单IPS系统 的设计与实现 作者姓名 周伟伟 所学专业名称 网络工程 指导教师 戴支祥 2014年5月25日 学 生: (签字) 学 号:2010211262 答 辩 日 期:2014年 6月14日 指 导 教 师: (签字) 目 录 摘要 1 Abstract 1 1 绪论 2 1.1研究现状 2 1.2系统设计的主要意义 3 1.3文章结构 3 2 相关技术和理论基础 4 2.1 snort简介 4 2.1.1 snort概述 4 2.1.2 snort工作原理 4 2.1.3 snort规则 5 2.2 iptables简介 6 2.2.1 iptables概述 6 2.2.2 iptables工作原理 6 2.2.3 iptables规则 7 2.3 入侵检测系统和防火墙的联动 8 2.3.1 联动基本概念 8 2.3.2 联动工作原理 8 3 系统需求分析 9 3.1业务流程 9 3.2可行性分析 10 4 总体设计 11 4.1系统结构设计 11 4.2数据库设计 12 4.2.1 概念设计 12 4.2.2 逻辑设计 14 5 系统实现 16 5.1 系统开发环境 16 5.2 系统主页面 16 5.3管理员登入模块 17 5.4管理员信息管理模块 20 5.4联动响应模块 24 5.5攻击统计图模块 25 5.6邮件通知模块 27 5.7系统启动关闭模块 28 5.7事件查看模块 30 5.8 snort规则管理模块 31 5.9 iptables规则管理模块 35 6 系统测试 37 6.1系统测试的方法 37 6.2测试环境 37 6.3管理模块测试 37 6.3.1 snort规则管理模块测试 37 6.3.2 iptables规则管理模块测试 39 6.4联动模块测试 39 6.4.1 防御ping攻击测试 39 6.4.2 防御Nmap扫描测试 40 6.5攻击查看测试 40 结束语 40 参考文献 41 致 谢 42 滁州学院本科毕业设计 基于snort和iptables的简单IPS系统的设计与实现 摘要:面对日益严峻的网络安全形势,传统的网络安全技术显得力不从心。针对入侵检测系统(Intrusion Detection System,IDS)和传统防火墙的缺陷,本文设计并实现了一个Ubuntu系统下将传统防火墙iptables和入侵检测系统snort相互联动的简单IPS系统。运用snort记录攻击事件,采用Java编写了实时监控程序,实时监测snort报警日志,如果监测到攻击事件,系统动态生成规则,应用iptables实时阻断攻击。该系统使用Browser/Server模式,管理员登录系统后才可以进行远程操作,支持通过Web页面关闭/启动系统,插入/删除/查看iptables规则,插入/删除/查看snort规则,管理管理员的基本信息等。管理员配置的所有规则都通过MySQL数据库进行保存,所有的攻击事件和iptables防火墙的响应事件也保存在数据库中,方便管理员日后进行查找和分析。同时搭建了一个测试平台来测试系统的可靠性。 关键词:iptables;snort;Browser/Server;联动 Design and Implementation of Simple IPS System Based on snort and iptables   Abstract: Facing the increasingly serious situation of network security,the traditional network security technology is insufficient. Aiming at the shortage of traditional firewall and intrusion detection system, this article designs an Intrusion Prevent System (IPS) to link intrusion detection system snort and the firewall iptables under Ubuntu. IPS uses the snort recording attacks, runs a program written in Java to monitor snort’s alarm log. If IPS detects an intrusion, it can dynamically generate rules and call iptables blocking attacks in time. The system adopts Browser/Server mode, admintors can remotely operate system after logging in system. All of these functions are supported through web pages, such as shut down / startup, inserting/deleting/viewing rules of snort and iptables, managing the basic information of administrators and so on. All the rules,attacks and responds are stored in the MySQL database in order to facilitate the administrator to search and analysis. At the same time, a platform for testing purpose is built . Key words : iptables; snort; Browser/Server; cooperation 1 绪论 1.1研究现状 随着Internet的快速发展,诸如电子商务、电子化办公等已经或正在成为现代生活的重要组成部分。但是Internet让工作及生活变的越来越方便的同时,也使得网络安全风险不断增加。我们必须面对和解决网络安全隐患。2013年的“斯诺登事件”,就是一个典型的网络安全事件。网络安全的重要性不言而喻。为了解决日益严重的网络安全隐含,许多网络安全技术被推出,防火墙和入侵检测系统就是其中两种比较成熟的技术。防火墙是一个成熟的网络安全技术,主要作用是访问控制和身份认证,它是保障网络安全的的第一道安全门,但是防火墙自身也存在着一些缺陷。首先,它是一种静态的网络安全技术,因为它的安全策略需要事先设计好。其次,防火墙无法拦截所有类型的攻击,比如一些协议漏洞发起的攻击和来自网络内部的攻击。基于以上问题,为了保障网络的安全就需要网络管理员实时查看网络的状态,及时发现攻击,并对攻击进行分析重新制定安全策略。导致了大量的人力浪费在重复的劳动上[1]。 入侵检测系统是保障网络安全的第二道安全门,它是一种被动型的网络安全技术,主要是用来监听网络运行状态,并判断是否有入侵行为发生,并记录入侵行为的基本信息。但是相对防火墙来说,IDS缺少阻断攻击的能力。 随着网络安全形势的日益严峻,单纯的防火墙和入侵检测系统都不能有效保障网络安全。真正的纵深防御技术应该不仅能够发现攻击事件,而且能够及时地、主动地阻止攻击,防止攻击对用户造成危害。正是基于这种思想,一种新的网络安全技术——入侵防御系统(Intrusion Prevention System,IPS)被研究出来。 2002年一些国际网络安全组织首次提出入侵防御系统的概念,并随着网络安全问题的日益突出,越来越多的人开始关注IPS。IPS在随后的几年里得到了快速发展。 2003年6月Gartner公司副总裁Richard Stiennon在其发表的著名的题为《Intrusion Detection Is Dead-Long Live Intrusion Prevention》的研究报告中提出:IDS不但不能给网络带来安全性,反而会增加网络管理员的困扰,建议用户使用IPS来代替IDS[2]。 经过多年研究,国外一些公司推出了各自的IPS产品,比如CISOC公司的IPS 4300/4500系列、Juniper公司的Juniper Networks,Symantec公司的ManHunt和Intruder Alert、TopLayer公司的ips 5500、McAfee的IntruShield系列和Entercept系列、NetScreen的IDP系列等[3]。 相比较国外,国内对于IPS的研究起步较晚,直到2004年方正科技公司才推出了方正方通入侵防御系统[4]。2005年9月15日,绿盟科技也推出自己的入侵防御系统ICEYE NIPS[5]。不久后,北京启明星辰信息技术有限公司推出了其自主研发的天清系列入侵防御系统,比如天清入侵防御系统NIPS860[6]。华为公司在2013安捷信合作伙伴大会上推出了一款功能强大的入侵检测系统NIP5000入侵防御系统,并在同年5月份发布了一款世界领先的万兆级入侵防御系统NIP5500[7]。IPS已经逐渐成为网络安全市场的主流产品,并且还在继续研发并完善中。 1.2系统设计的主要意义 防火墙是一种基于规则库在外部网络和内部网络之间实行访问控制的系统。逻辑上,防火墙是由限制器和分离器组成;实际中,防火墙一般是由一些硬件设备和软件设备组成。它按照预制的规则和配置,检测然后过滤网络流量,从而保护网络安全。但是它的缺点也很明显:防火墙的规则是固定的,不能依据网络运行情况进行动态调整,也不能记录攻击行为用于事后分析和取证等[8]。 总之,防火墙存在以下几个问题: ⑴防火墙的规则编写较难。编写过于严格,网络的正常运行则会受到影响;编写过于宽松,网络安全则难以保障。 ⑵ 防火墙是一种静态的技术,它不能动态地处理入侵事件。 ⑶ 防火墙无法阻止不经过它的入侵。比如来自内网的入侵等。 ⑷ 防火墙无法阻止一些基于协议的入侵。比如针对Web、FTP等协议的攻击。 入侵检测系统是指可以通过规则库检测入侵行为,并对被检测出的入侵行为做出正确响应的系统。根据其工作原理的不同,可分为主机型、网络型和分布式型三种。入侵检测系统虽然能够实时的检测网络安全状态,但是它也有一些缺点: ⑴ 无法检测非面向连接的攻击。 ⑵ 无法检测拒绝服务攻击。 ⑶ 入侵检测的可靠性不高。 ⑷ 当有针对系统本身的攻击时,会影响系统正常运行。 防火墙和入侵检测系统在实际网络环境中都有一些不足之处,因此将二者相互联动,组建IPS系统可以取长补短,更好的保护网络安全。 相比较于传统防火墙和入侵检测系统,入侵防御系统是一种主动的、积极的网络安全技术[9]。但是商业IPS的价格高昂,许多中小型企业不具备购买能力。因此,本设计选用开源的snort和Ubuntu操作系统自带的iptables相互联动来实现简单的IPS系统。开源软件的免费特性使得企业无需考虑系统部署成本,开放性使得企业不用担心被一家或某几家商业软件绑架,丰富的技术参考资料和大量已有的部署案例为成功进行系统部署提供了技术参考和保障。同时本设计的开发模式使用B/S模式,前台Web界面提供用户管理IPS的功能,后台采用JAVA 监控snort报警日志并将攻击方添加到iptables阻止规则链中。 1.3文章结构 本设计共分为六部分。第一部分剖析了本设计的研究背景和研究意义,并且简单介绍了IPS的国内外研究现状和主要产品。第二部分介绍了snort和iptables规则的构成以及各自的工作原理。同时也分析了snort和iptables的优缺点,并描述了IPS的工作原理及特征。第三部分分析了本系统的市场需求和应用价值,然后对系统的开发进行了业务流程分析和可行性分析。第四部分首先对系统每个模块进行了设计和功能介绍,然后对数据库进行了概念设计和逻辑设计。第五部分介绍了系统主要功能模块的关键代码,并展示了运行界面。第六部分介绍了测试使用的攻击手段,并展示了测试的结果。最后是结束语,对系统进行了简单的介绍和概括。 2 相关技术和理论基础 2.1 snort简介 2.1.1 snort概述 snort是一款轻量级网络入侵检测系统(Network Intrusion Detection System,NIDS)。它是以Sniffer为基础,通过不断地重写代码,改进功能,才成为了一款流行的NIDS。本质上snort是一款网络数据包嗅探器,但是它的创新性在于使用规则来检测数据包。snort的检测是基于规则库的,所有snort规则都被保存在文本文件中,并按照攻击类型保存为不同名称的文件,这些文件构成了规则库。snort在启动时通过配置文件来读取规则检测数据包以发现入侵事件,并进行处理,可供选择的方式有:忽略、记录或报警。 snort有诸多优点: ⑴ 支持多种硬件平台和所有的操作系统平台,用户可自行选择。 ⑵ 采用模块化结构,具有较强的可扩展性,对于新的攻击手段,只需简单的添加新的规则就可以检测到。 ⑶ 规则存储在文本文件中,方便用户改写规则。用户可以添加自己的规则,也可以删除规则库中的规则。 ⑷ snort是开源的、免费的软件。 snort也有一些缺点: ⑴ snort的正确安装非常困难,各个组件相互协调才能保证系统稳定的运行。 ⑵ snort依赖的Libpcap自身存在缺陷,流量超过百兆就导致系统奔溃。 ⑶ 容易产生误报警,对于合法流量只要匹配规则就会报警。 ⑷ 文本形式的规则反而加大了用户的配置难度,对于新手很难真确配置。 2.1.2 snort工作原理 snort的模块化结构,使得系统具有较好的可扩展型。它是由下列几个部分组成:包解码器、检测引擎及插件、预处理器插件和报警输出模块等。各个模块相互合作,当检测到snort规则库中已定义的的攻击特征时,产生指定形式的报警信息[10]。snort的工作原理如图2-1所示。 图 2-1 snort工作原理 snort的运行是基于插件的,所有的插件都是依据snort官方提供的函数接口开发的。用户自由安装功能插件,也可以自己开发出适合自己的插件,这使得功能扩展更加简单。 2.1.3 snort规则 snort作为一款流行的NIDS,它出类拔萃之处在于它的规则文件被设计成可编辑的文本文件。完整的snort规则应该由两部分构成:括号前面的规则头和括号里面的规则体。比如alert tcp any any -> any any (flags: A; ack: 0; msg: “NMAP TCP ping”;)就是个典型的规则。 规则头是规则不可或缺的一部分,规则头可以定义攻击的一些简单特征,比如源地址、目的地址、源端口、目的端口、协议类型等基本信息,并且它定义了对于入侵事件snort应该采取哪种规则动作。概括起来规则头可以分为7个部分:规则动作、协议类型、源地址、源端口、目的地址、目的端口和方向操作符。 规则动作是构成规则头的第一个部分,它告诉snort当检测到入侵时,探测引擎将会采取什么样的响应。Snort规则动作可分为预置规则动作和自定义规则动作。 5种预置的动作如表2-1所示: 表2-1 snort预置规则动作 规则动作 含义 alert 应用默认机制产生告警,以及做相应记录 log 对包应用规定机制进行记录 pass 忽略这个数据包 activate 先告警,接着activate一个不同的dynamic dynamic 待一条规则激活,接着记录日志 自定义规则动作可以使用以下通用结构来定义: ruletype动作名称 { Action definition } 自定义动作定义是在大括号内完成,动作名称的则是在大括号外的ruletype关键字之后。规则动作定义完成之后,必须放在snort的配置文件中才可以直接调用动作名称使用。 协议类型是构成规则头的第二部分,主要是用来对比数据包的协议类型。当前,最新版的snort可以支持IP、TCP、UDP和ICMP四种协议类型的数据包检测。协议部分仅在规则头部起作用,与规则选型无关。 在规则头中,有两个地址部分用来检测数据包的源地址、源端口、目的地址和目的端口。地址可以是主机地址或者网络地址,也可以用关键字any来代表所有地址或者端口。采用的无类别域间路由地址,符合当前网络地址的标准形式。当用户想排除掉某些地址或端口时,可采用非运算符“!”。 在snort规则方向操作符是一个非常重要的概念,指明了哪一边是源,哪一边是目的。方向操作符主要有三种: ⑴ ->表示数据包从左边定义的地址发送给右边定义的地址。 ⑵ <-表示数据包从右边定义的地址发送给左边定义的地址。 ⑶ <>表示规则被应用在两个方向。 规则体属于可选内容,主要用来对数据包进行深层次攻击特征检测。它由多个规则选项组成,每个选项之间使用“;”分开,便于snort区分各个选项。只有所有规则选项定义的攻击特征被满足时,规则头中定义的规则动作才被使用。规则选项的关键字有许多,最新的版本中规则选项关键字将近50个。一些常见snort规则选项关键字如表2-2所示。 表2-2常见选项关键字 选项关键字 含义 sid 规则号 msg 告警信息 ttl 判断IP包的TTL值 classtype 规则类型 2.2 iptables简介 2.2.1 iptables概述 iptables是一款工作于用户空间的防火墙应用软件,自从Linux 2.4发布后,它就已经成为了Linux操作系统自带的防火墙。经过多年的研究与完善,它已发展成为一款功能强大的流行的防火墙,具备了许多商业防火墙才有的功能。比如,iptables能够检测数据包的应用层、能够跟踪协议、能够制定过滤规则和访问控制等功能。基本上所有版本的Linux都预置了iptables。 从工作原理上来看,iptables仅仅是用户和防火墙之间的控制接口,真正的防火墙是Netfilter框架。Netfilter框架是由Rusty Russell提出的Linux内核防火墙框架。简单的说表由链组成,而链又由规则组成。Netfilter有Filter表、NAT表、Mangle表和 Raw表四个表,一般情况下默认使用Filter表。而iptables则只是用来管理表、链和规则的工具。 2.2.2 iptables工作原理 基于iptables的策略机制,用户可以通过iptables对数据包进行严格地包过滤。完整的iptables策略是由一组的iptables规则组成,它的主要作用是让Linux内核知道如何处理一些特定的数据包。规则建立在链中,一个链就是一个完整的规则集。防火墙通过规则对数据包进行特征比较,然后对数据包做出响应动作[11]。 iptables的工作原理如图2-2所示。 图2-2 iptables的工作原理 2.2.3 iptables规则 iptables主要是用来增加、删除和修改链,在链中创建、删除和更改过滤规则的管理工具。它的功能强大,但是用法简单。常见的iptables命令格式为: iptables [ -t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转] “-t 表名”是指需要进行操作的表,通常使用Filter表、Nat表、Raw表和Mangle表四个中的一个。如果该项缺省则系统默认使用Filter表。Filter表用来保存过滤规则,Nat表用来保存NAT规则,Mangle表用来保存修改分组数据的特定规则,而Raw表用来保存在连接跟踪前处理数据包的规则。 “命令选项”是用来对链或规则进行操作的,常见的命令选项表2-3所示。 表2-3常见的命令选项 选项 含义 -A 向指定链中追加规则 -D 从指定链中删除指定规则 -F 清空指定链中的所有规则 -I 在指定规则前插入规则 -L 显示指定链中的所有规则 -N 建立用户自定义链 -R 替换指定链中某条规则 -X 删除不在使用的用户自定义链 “链”是指要被操作的链名,它分为内置链和自定义链两种。在Filter表中最重要的内置链是OUTOUT链(输出链)、INPUT链(输入链)和FORWARD链(转发链)。 “条件匹配”指匹配数据包时的规则特征,只有当数据包匹配这些条件时,才可以进行该规则指定的动作。常见的匹配选项如表2-4所示。 表2-4 常见的匹配选项 选项 含义 -s 匹配源IP地址或网络 -d 匹配目标IP地址或网络 -p 匹配协议类型 -i 流入接口 -o 流出接口 “目标动作或跳转”是当数据包的特征匹配规则时触发的动作。常见的动作如表2-5所示。 表2-5 常见的动作 选项 含义 ACCEPT 允许数据包通过 DROP 丢弃数据包,并不对数据包进行进一步处理 LOG 将数据包信息记录到syslog REJECT 丢弃数据包,同时发送适当的响应报文 RETURN 在调用链中继续处理数据包 2.3 入侵检测系统和防火墙的联动 2.3.1 联动基本概念 snort和iptables各自都存在一些缺陷,为了解决这些缺陷带来的网络安全问题,联动机制的概念被提出来了。通过将iptables和snort相互联动,iptables能通过snort及时发现符合规则的入侵行为,snort能够使用iptables对入侵行为进行处理。基于联动机制实现的简单IPS能够更有效地保障网络安全,进一步提高了防护性能,并且与商业IPS相比较,它大大降低了成本[12]。 2.3.2 联动工作原理 数据包进入系统之后,iptables防火墙按照规则对数据包进行特征比较,满足规则的数据包按照规则中的动作进行处理,通过检查的数据包交给snort进行进一步的检测。如果发现数据包的信息与规则库中规则匹配,则调用联动模块将数据包的源地址加入到iptables的阻止链中并记录信息。联动的工作原理如图2-3所示。 图2-3 联动工作原理 3 系统需求分析 3.1业务流程 系统可分概括为两大部分:系统联动部分和Web管理部分。 联动部分主要是面对snort和iptables,数据包首先通过iptables的初步过滤,判断是否匹配过滤规则。如果满足iptables规则就对数据包执行该规则定义的规则动作,如果不满足iptables规则就交给snort进行进一步的检测。snort通过规则库对数据包进行特征匹配,如果特征匹配失败,数据包则通过检测。如果匹配成功,snort就向报警日志中添加新的报警信息。当联动模块监测到报警日志有新的报警信息时,就对其进行分析,提取攻击行为的各种信息,并将这些信息插入到数据库中,方便日后取证调查。然后联动模块会根据攻击行为的信息生成一个规则,并插入到iptables过滤规则库中。当攻击者再次攻击时,攻击数据包就会被iptables过滤,从而达到保障网络安全的作用。图3-1为联动部分业务流程图。 Web管理部分主要是面对管理员,管理员登入系统后才可对系统进行操作,支持通过Web页面进行系统的关闭/启动、snort规则查看/删除/添加,iptables规则查看/删除/添加,管理员的基本信息管理等。所有管理员添加的规则信息和联动模块保存的信息都保存在数据库中,可以说数据库就是联动模块和Web管理模块之间的接口。图3-2为Web管理部分业务流程图。 图3-1联动部分业务流程图 图3-2 Web管理部分业务流程图 3.2可行性分析 为了确保本系统的可行性,本文对以下三个方面进行了分析: ⑴ 技术可行性 本系统核心代码采用Java语言编写,数据库使用MySQL,前台界面使用JSP。这些都是广泛使用的技术和软件,据有较好的跨平台性和可靠性。 ⑵ 经济可行性 联动使用的入侵检测系统是轻量级的snort,防火墙采用Ubuntu自带iptables防火墙。snort和iptables都是开源的免费的,但是它们却具备商业安全软件才具备大部分功能,这样很大程度的降低了系统的开发成本。 ⑶ 操作可行性 系统使用的联动软件都是占用系统资源较少的,一般的PC机就可以当做运行平台,不需要购买专用服务器。 4 总体设计 4.1系统结构设计 本系统主要分为以下几个模块:管理员登入、管理员信息管理、联动响应模块、攻击统计图、邮件通知、系统启动和关闭、事件查看、snort规则管理、iptables规则管理。 ⑴ 管理员登入 用户必须登入后才能对系统进行操作,并且系统会记录下管理员的登入时间。 ⑵ 管理员信息管理 初级网络工程师和中级网络工程师级别的管理员只能对自己的基本信息进行修改,高级网络工程师级别的管理员能够修改所有管理员的信息,也能添加新的管理员或删除已有的管理员。 ⑶ 联动响应模块 该模块实时的监测snort的告警日志,如果有新的攻击发生,就会在数据库中记录,并生成规则,调用iptables阻断攻击。被阻断的攻击源地址直到管理员手动解闭后才能正常与本机通信。 ⑷ 攻击统计图生成 该模块从数据库中的Alert表获得攻击事件,统计不同协议类型的攻击的数目。然后通过JFreeChart包来生成饼状图,直观的展示了攻击事件的类型和比例。 ⑸ 邮件通知 当有攻击发生时,系统会发送邮件通知管理员。如果管理员没有登入系统,管理员可以通过手机邮件查看攻击的信息。 ⑹ 系统启动和关闭 管理员可以通过该模块来启动或者关闭IPS系统。 ⑺ 事件查看 通过该模块管理员能够查看保存在数据库中的攻击事件和响应事件,并且通过可以解闭攻击地址,使得具有该地址的数据包不会被iptables阻止。 ⑻ snort规则管理 管理员可以通过该模块,对snort规则进行增加、删除和查看。 ⑼ iptables规则管理 管理员可以通过该模块,对iptablest规则进行增加、删除和查看。 系统功能结构如图4-1所示。 图4-1 系统功能结构图 4.2数据库设计 4.2.1 概念设计 概念模型是对真实世界中问题的事件描述,它是面向现实世界的数据模型,E-R图就是一种典型概念模型。图4-2至图4-6是各个数据表的实体图。 ⑴ 管理员employee的实体图 图4-2管理员信息表employee的实体图 ⑵ snort告警日志信息表alert的实体图 图4-3 snort告警日志信息表alert的实体图 ⑶ iptables响应事件信息表iptable_prevent的实体图 图4-4 Iptable响应事件信息表iptable_prevent的实体图 ⑷ snort规则表snort_rule的实体图 图4-5 snort规则表snort_rule的实体图 ⑸ iptables规则表iptables_rule的实体图 图4-6 iptables规则表iptables_rule的实体图 ⑹ 系统总体E-R图 图4-7 系统总体E-R图 4.2.2 逻辑设计 逻辑结构设计是把概念设计转化为与选用的数据库管理系统支持的数据模型的逻辑结构。具体表现为表的设计,根据实体图,可以得到下列表: ⑴ 管理员信息表employee 管理员信息表employee是用来保存管理员的基本信息。结构如表4-1所示。 表4-1 employee的结构 字段表代号 字段名 字段类型 是否为主键 employeeID 管理员编号 int(11) 是 employeeName 管理员姓名 varchar(20) 否 employeeSex 管理员性别 int 否 employeeBirth 管理员生日 date 否 employeePhone 管理员电话 varchar(20) 否 employeePlace 管理员地址 varchar(50) 否 joinTime 登入时间 date 否 password 登入密码 varchar(20) 否 employeeEmail 管理员邮箱 varchar(50) 否 authority 权限 Int 否 ⑵ snort报警日志信息表alert snort报警日志信息表alert是用来保存联动模块分析snort报警日志得到的攻击事件的基本信息。结构如表4-2所示。 表4-2 alert的结构 字段表代号 字段名 字段类型 是否为主键 alertid 报警编号 varchar(50) 是 fromaddress 源地址 varchar(50) 否 toaddress 目的地址 varchar(50) 否 alertmsg 攻击提示 varchar(100) 否 protocol 协议名称 varchar(50) 否 alerttime 报警时间 varchar(50) 否 priority 报警级别 varchar(50) 否 state 是否阻止 varchar(50) 否 ⑶ iptables响应事件信息表iptable_prevent iptables响应事件信息表iptable_prevent是用来保存联动模块生成的响应事件的基本信息。结构如表4-3所示。 表4-3 iptable_prevent的结构 字段表代号 字段名 字段类型 是否为主键 preventid 阻止编号 int 是(自动增加) alertid 报警编号 varchar(50) 外键 preventtime 阻止时间 date 否 preventmsg 阻止信息 varchar(100) 否 ⑷ snort规则表snort_rule snort规则表snort_rule是用来保存管理员添加的snort规则的基本信息。结构如表4-4所示。 表4-4 snort_rule的结构 字段表代号 字段名 字段类型 是否为主键 sid snort规则id int 是(自动增加) rule_header 规则头 text 否 rule_action 规则动作 text 否 add_time 添加时间 date 否 employeeID 添加者id varchar(50) 外键 rule_msg 规则描述 varchar(50) 否 ⑸ iptables规则表iptables_rule iptables规则表iptables_rule是用来保存管理员添加的iptables规则基本信息。结构如表4-5所示。 表4-5 iptables_rule的结构 字段表代号 字段名 字段类型 是否为主键 id iptables规则id int 是(自动增加) rule 规则体 text 否 add_time 添加时间 date 否 employeeID 添加者id varchar(50) 外键 rule_msg 规则描述 varchar(50) 否 5 系统实现 5.1 系统开发环境 表5-1 系统运行环境及开发工具 类型 软件 版本 操作系统 Linux Ubuntu 11.10 Java运行环境 OpenJDK 1.6.0_27 Web Server Tomcat 7.0 浏览器 火狐 10.4.2 入侵检测系统 snort 2.8.5.1-1 防火墙 iptables 1.4.17 开发工具 Eclipse Eclipse IDE for Java EE Developers 数据库 MySQL 5.2.6 虚拟机 Vmware Workstation 10.0.1 本系统的运行平台是Vmware Workstation虚拟机中安装的Ubuntu系统,所有的开发都是在Ubuntu系统下完成并测试的。Ubuntu是一个新兴的Linux系统,但是它却能够从众多的Linux发行版本中脱颖而出,主要是因为它的四个优点:便利化、国际化、免费性、安全性[13]。 本系统使用Eclipse开发,这是一款功能强大的开发环境,可以集成各种插件来满足开发者的需求。它同时也是一款开源的、免费的的开发平台[14]。 5.2 系统主页面 IPS系统主页面是管理员登入系统后的页面,它包括的主要内容有:管理员基本信息显示、IPS系统启动和关闭、攻击统计饼状图显示等内容。 系统主页面运行效果如图5-1所示。 图5-1 系统主页面 5.3管理员登入模块 管理员登入模块是系统安全运行的保障,只有经过登入验证的用户才可以对系统进行操作。用户填入账号和密码,并点击“登入”按钮,系统将输入的账号和密码交给Javascript进行登入验证,判断用户输入的内容是否为空。如果账号或密码为空,弹出用户名或密码为空的警告;如果账号和密码不为空,就将账号和密码传给LoginServlet。LoginServlet通过调用数据库操作类查询数据库中的表employee,判断管理员是否存在。如果用户存在,就跳转到系统主页面;不存在,则返回登入页面。 Login.jsp中完成收集用户信息的关键代码如下: <form action="LoginServlet"> <div class="row-fluid"> <h1>ips管理系统</h1> <p> <label>帐&nbsp;&nbsp;&nbsp;号:<input type="text" id="uid" name="uid" value="请输入帐号" onfocus="deleteUser()" onblur="showUser()"/></label> </p> <p> <label>密&nbsp;&nbsp;&nbsp;码:<input type="password" id="pwd" name="pwd" /></label> </p> <p class="pcode"> </p> <p class="tip">&nbsp; <%String msg=(String)request.getSession().getAttribute("msg");%> <%if(msg!=null){%> <%=msg %> <% } %> <
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服