ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:1.63MB ,
资源ID:7645820      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7645820.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于snort和iptables的简单ips系统的设计与实现学位论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、基于snort和iptables的简单ips系统的设计与实现学位论文本 科 生 毕 业 设 计(申请学士学位)论文题目 基于snort和iptables的简单IPS系统 的设计与实现 作者姓名 周伟伟 所学专业名称 网络工程 指导教师 戴支祥 2014年5月25日学 生: (签字)学 号:2010211262答 辩 日 期:2014年 6月14日指 导 教 师: (签字)基于snort和iptables的简单IPS系统的设计与实现摘要:面对日益严峻的网络安全形势,传统的网络安全技术显得力不从心。针对入侵检测系统(Intrusion Detection System,IDS)和传统防火墙的缺陷,

2、本文设计并实现了一个Ubuntu系统下将传统防火墙iptables和入侵检测系统snort相互联动的简单IPS系统。运用snort记录攻击事件,采用Java编写了实时监控程序,实时监测snort报警日志,如果监测到攻击事件,系统动态生成规则,应用iptables实时阻断攻击。该系统使用Browser/Server模式,管理员登录系统后才可以进行远程操作,支持通过Web页面关闭/启动系统,插入/删除/查看iptables规则,插入/删除/查看snort规则,管理管理员的基本信息等。管理员配置的所有规则都通过MySQL数据库进行保存,所有的攻击事件和iptables防火墙的响应事件也保存在数据库中

3、,方便管理员日后进行查找和分析。同时搭建了一个测试平台来测试系统的可靠性。关键词:iptables;snort;Browser/Server;联动Design and Implementation ofSimple 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 shorta

4、ge 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 snorts alarm log. If IPS

5、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/del

6、eting/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 w

7、ords: iptables; snort; Browser/Server; cooperation 1 绪论1.1研究现状随着Internet的快速发展,诸如电子商务、电子化办公等已经或正在成为现代生活的重要组成部分。但是Internet让工作及生活变的越来越方便的同时,也使得网络安全风险不断增加。我们必须面对和解决网络安全隐患。2013年的“斯诺登事件”,就是一个典型的网络安全事件。网络安全的重要性不言而喻。为了解决日益严重的网络安全隐含,许多网络安全技术被推出,防火墙和入侵检测系统就是其中两种比较成熟的技术。防火墙是一个成熟的网络安全技术,主要作用是访问控制和身份认证,它是保障网络安全的

8、的第一道安全门,但是防火墙自身也存在着一些缺陷。首先,它是一种静态的网络安全技术,因为它的安全策略需要事先设计好。其次,防火墙无法拦截所有类型的攻击,比如一些协议漏洞发起的攻击和来自网络内部的攻击。基于以上问题,为了保障网络的安全就需要网络管理员实时查看网络的状态,及时发现攻击,并对攻击进行分析重新制定安全策略。导致了大量的人力浪费在重复的劳动上1。入侵检测系统是保障网络安全的第二道安全门,它是一种被动型的网络安全技术,主要是用来监听网络运行状态,并判断是否有入侵行为发生,并记录入侵行为的基本信息。但是相对防火墙来说,IDS缺少阻断攻击的能力。随着网络安全形势的日益严峻,单纯的防火墙和入侵检测

9、系统都不能有效保障网络安全。真正的纵深防御技术应该不仅能够发现攻击事件,而且能够及时地、主动地阻止攻击,防止攻击对用户造成危害。正是基于这种思想,一种新的网络安全技术入侵防御系统(Intrusion Prevention System,IPS)被研究出来。2002年一些国际网络安全组织首次提出入侵防御系统的概念,并随着网络安全问题的日益突出,越来越多的人开始关注IPS。IPS在随后的几年里得到了快速发展。 2003年6月Gartner公司副总裁Richard Stiennon在其发表的著名的题为Intrusion Detection Is Dead-Long Live Intrusion Pr

10、evention的研究报告中提出:IDS不但不能给网络带来安全性,反而会增加网络管理员的困扰,建议用户使用IPS来代替IDS2。经过多年研究,国外一些公司推出了各自的IPS产品,比如CISOC公司的IPS 4300/4500系列、Juniper公司的Juniper Networks,Symantec公司的ManHunt和Intruder Alert、TopLayer公司的ips 5500、McAfee的IntruShield系列和Entercept系列、NetScreen的IDP系列等3。相比较国外,国内对于IPS的研究起步较晚,直到2004年方正科技公司才推出了方正方通入侵防御系统4。200

11、5年9月15日,绿盟科技也推出自己的入侵防御系统ICEYE NIPS5。不久后,北京启明星辰信息技术有限公司推出了其自主研发的天清系列入侵防御系统,比如天清入侵防御系统NIPS8606。华为公司在2013安捷信合作伙伴大会上推出了一款功能强大的入侵检测系统NIP5000入侵防御系统,并在同年5月份发布了一款世界领先的万兆级入侵防御系统NIP55007。IPS已经逐渐成为网络安全市场的主流产品,并且还在继续研发并完善中。1.2系统设计的主要意义防火墙是一种基于规则库在外部网络和内部网络之间实行访问控制的系统。逻辑上,防火墙是由限制器和分离器组成;实际中,防火墙一般是由一些硬件设备和软件设备组成。

12、它按照预制的规则和配置,检测然后过滤网络流量,从而保护网络安全。但是它的缺点也很明显:防火墙的规则是固定的,不能依据网络运行情况进行动态调整,也不能记录攻击行为用于事后分析和取证等8。总之,防火墙存在以下几个问题:防火墙的规则编写较难。编写过于严格,网络的正常运行则会受到影响;编写过于宽松,网络安全则难以保障。防火墙是一种静态的技术,它不能动态地处理入侵事件。防火墙无法阻止不经过它的入侵。比如来自内网的入侵等。防火墙无法阻止一些基于协议的入侵。比如针对Web、FTP等协议的攻击。入侵检测系统是指可以通过规则库检测入侵行为,并对被检测出的入侵行为做出正确响应的系统。根据其工作原理的不同,可分为主

13、机型、网络型和分布式型三种。入侵检测系统虽然能够实时的检测网络安全状态,但是它也有一些缺点:无法检测非面向连接的攻击。无法检测拒绝服务攻击。入侵检测的可靠性不高。 当有针对系统本身的攻击时,会影响系统正常运行。防火墙和入侵检测系统在实际网络环境中都有一些不足之处,因此将二者相互联动,组建IPS系统可以取长补短,更好的保护网络安全。相比较于传统防火墙和入侵检测系统,入侵防御系统是一种主动的、积极的网络安全技术9。但是商业IPS的价格高昂,许多中小型企业不具备购买能力。因此,本设计选用开源的snort和Ubuntu操作系统自带的iptables相互联动来实现简单的IPS系统。开源软件的免费特性使得

14、企业无需考虑系统部署成本,开放性使得企业不用担心被一家或某几家商业软件绑架,丰富的技术参考资料和大量已有的部署案例为成功进行系统部署提供了技术参考和保障。同时本设计的开发模式使用B/S模式,前台Web界面提供用户管理IPS的功能,后台采用JAVA 监控snort报警日志并将攻击方添加到iptables阻止规则链中。1.3文章结构本设计共分为六部分。第一部分剖析了本设计的研究背景和研究意义,并且简单介绍了IPS的国内外研究现状和主要产品。第二部分介绍了snort和iptables规则的构成以及各自的工作原理。同时也分析了snort和iptables的优缺点,并描述了IPS的工作原理及特征。第三部

15、分分析了本系统的市场需求和应用价值,然后对系统的开发进行了业务流程分析和可行性分析。第四部分首先对系统每个模块进行了设计和功能介绍,然后对数据库进行了概念设计和逻辑设计。第五部分介绍了系统主要功能模块的关键代码,并展示了运行界面。第六部分介绍了测试使用的攻击手段,并展示了测试的结果。最后是结束语,对系统进行了简单的介绍和概括。2 相关技术和理论基础2.1 snort简介2.1.1 snort概述snort是一款轻量级网络入侵检测系统(Network Intrusion Detection System,NIDS)。它是以Sniffer为基础,通过不断地重写代码,改进功能,才成为了一款流行的NI

16、DS。本质上snort是一款网络数据包嗅探器,但是它的创新性在于使用规则来检测数据包。snort的检测是基于规则库的,所有snort规则都被保存在文本文件中,并按照攻击类型保存为不同名称的文件,这些文件构成了规则库。snort在启动时通过配置文件来读取规则检测数据包以发现入侵事件,并进行处理,可供选择的方式有:忽略、记录或报警。snort有诸多优点:支持多种硬件平台和所有的操作系统平台,用户可自行选择。采用模块化结构,具有较强的可扩展性,对于新的攻击手段,只需简单的添加新的规则就可以检测到。规则存储在文本文件中,方便用户改写规则。用户可以添加自己的规则,也可以删除规则库中的规则。snort是开

17、源的、免费的软件。snort也有一些缺点:snort的正确安装非常困难,各个组件相互协调才能保证系统稳定的运行。snort依赖的Libpcap自身存在缺陷,流量超过百兆就导致系统奔溃。容易产生误报警,对于合法流量只要匹配规则就会报警。文本形式的规则反而加大了用户的配置难度,对于新手很难真确配置。2.1.2 snort工作原理snort的模块化结构,使得系统具有较好的可扩展型。它是由下列几个部分组成:包解码器、检测引擎及插件、预处理器插件和报警输出模块等。各个模块相互合作,当检测到snort规则库中已定义的的攻击特征时,产生指定形式的报警信息10。snort的工作原理如图2-1所示。图 2-1

18、snort工作原理snort的运行是基于插件的,所有的插件都是依据snort官方提供的函数接口开发的。用户自由安装功能插件,也可以自己开发出适合自己的插件,这使得功能扩展更加简单。2.1.3 snort规则snort作为一款流行的NIDS,它出类拔萃之处在于它的规则文件被设计成可编辑的文本文件。完整的snort规则应该由两部分构成:括号前面的规则头和括号里面的规则体。比如alert tcp any any - any any (flags: A; ack: 0; msg: “NMAP TCP ping”;)就是个典型的规则。规则头是规则不可或缺的一部分,规则头可以定义攻击的一些简单特征,比如源

19、地址、目的地址、源端口、目的端口、协议类型等基本信息,并且它定义了对于入侵事件snort应该采取哪种规则动作。概括起来规则头可以分为7个部分:规则动作、协议类型、源地址、源端口、目的地址、目的端口和方向操作符。规则动作是构成规则头的第一个部分,它告诉snort当检测到入侵时,探测引擎将会采取什么样的响应。Snort规则动作可分为预置规则动作和自定义规则动作。5种预置的动作如表2-1所示:表2-1 snort预置规则动作规则动作含义alert应用默认机制产生告警,以及做相应记录log对包应用规定机制进行记录pass忽略这个数据包activate先告警,接着activate一个不同的dynamic

20、dynamic待一条规则激活,接着记录日志自定义规则动作可以使用以下通用结构来定义:ruletype动作名称 Action definition自定义动作定义是在大括号内完成,动作名称的则是在大括号外的ruletype关键字之后。规则动作定义完成之后,必须放在snort的配置文件中才可以直接调用动作名称使用。协议类型是构成规则头的第二部分,主要是用来对比数据包的协议类型。当前,最新版的snort可以支持IP、TCP、UDP和ICMP四种协议类型的数据包检测。协议部分仅在规则头部起作用,与规则选型无关。在规则头中,有两个地址部分用来检测数据包的源地址、源端口、目的地址和目的端口。地址可以是主机地

21、址或者网络地址,也可以用关键字any来代表所有地址或者端口。采用的无类别域间路由地址,符合当前网络地址的标准形式。当用户想排除掉某些地址或端口时,可采用非运算符“!”。在snort规则方向操作符是一个非常重要的概念,指明了哪一边是源,哪一边是目的。方向操作符主要有三种:-表示数据包从左边定义的地址发送给右边定义的地址。-表示数据包从右边定义的地址发送给左边定义的地址。表示规则被应用在两个方向。规则体属于可选内容,主要用来对数据包进行深层次攻击特征检测。它由多个规则选项组成,每个选项之间使用“;”分开,便于snort区分各个选项。只有所有规则选项定义的攻击特征被满足时,规则头中定义的规则动作才被

22、使用。规则选项的关键字有许多,最新的版本中规则选项关键字将近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能够检测数据包的应用层、能够跟踪协议、能够制定过滤规则和

23、访问控制等功能。基本上所有版本的Linux都预置了iptables。从工作原理上来看,iptables仅仅是用户和防火墙之间的控制接口,真正的防火墙是Netfilter框架。Netfilter框架是由Rusty Russell提出的Linux内核防火墙框架。简单的说表由链组成,而链又由规则组成。Netfilter有Filter表、NAT表、Mangle表和 Raw表四个表,一般情况下默认使用Filter表。而iptables则只是用来管理表、链和规则的工具。2.2.2 iptables工作原理基于iptables的策略机制,用户可以通过iptables对数据包进行严格地包过滤。完整的iptab

24、les策略是由一组的iptables规则组成,它的主要作用是让Linux内核知道如何处理一些特定的数据包。规则建立在链中,一个链就是一个完整的规则集。防火墙通过规则对数据包进行特征比较,然后对数据包做出响应动作11。iptables的工作原理如图2-2所示。图2-2 iptables的工作原理2.2.3 iptables规则iptables主要是用来增加、删除和修改链,在链中创建、删除和更改过滤规则的管理工具。它的功能强大,但是用法简单。常见的iptables命令格式为:iptables -t 表名 命令选项 链名 条件匹配 -j 目标动作或跳转“-t 表名”是指需要进行操作的表,通常使用Fi

25、lter表、Nat表、Raw表和Mangle表四个中的一个。如果该项缺省则系统默认使用Filter表。Filter表用来保存过滤规则,Nat表用来保存NAT规则,Mangle表用来保存修改分组数据的特定规则,而Raw表用来保存在连接跟踪前处理数据包的规则。“命令选项”是用来对链或规则进行操作的,常见的命令选项表2-3所示。表2-3常见的命令选项选项含义-A向指定链中追加规则-D 从指定链中删除指定规则-F 清空指定链中的所有规则-I在指定规则前插入规则-L显示指定链中的所有规则-N建立用户自定义链-R替换指定链中某条规则-X删除不在使用的用户自定义链“链”是指要被操作的链名,它分为内置链和自定

26、义链两种。在Filter表中最重要的内置链是OUTOUT链(输出链)、INPUT链(输入链)和FORWARD链(转发链)。“条件匹配”指匹配数据包时的规则特征,只有当数据包匹配这些条件时,才可以进行该规则指定的动作。常见的匹配选项如表2-4所示。表2-4 常见的匹配选项选项含义-s匹配源IP地址或网络-d 匹配目标IP地址或网络-p 匹配协议类型-i流入接口-o流出接口“目标动作或跳转”是当数据包的特征匹配规则时触发的动作。常见的动作如表2-5所示。表2-5 常见的动作选项含义ACCEPT允许数据包通过DROP丢弃数据包,并不对数据包进行进一步处理LOG将数据包信息记录到syslogREJEC

27、T丢弃数据包,同时发送适当的响应报文RETURN在调用链中继续处理数据包2.3 入侵检测系统和防火墙的联动2.3.1 联动基本概念snort和iptables各自都存在一些缺陷,为了解决这些缺陷带来的网络安全问题,联动机制的概念被提出来了。通过将iptables和snort相互联动,iptables能通过snort及时发现符合规则的入侵行为,snort能够使用iptables对入侵行为进行处理。基于联动机制实现的简单IPS能够更有效地保障网络安全,进一步提高了防护性能,并且与商业IPS相比较,它大大降低了成本12。 2.3.2 联动工作原理数据包进入系统之后,iptables防火墙按照规则对数

28、据包进行特征比较,满足规则的数据包按照规则中的动作进行处理,通过检查的数据包交给snort进行进一步的检测。如果发现数据包的信息与规则库中规则匹配,则调用联动模块将数据包的源地址加入到iptables的阻止链中并记录信息。联动的工作原理如图2-3所示。图2-3 联动工作原理3 系统需求分析3.1业务流程系统可分概括为两大部分:系统联动部分和Web管理部分。联动部分主要是面对snort和iptables,数据包首先通过iptables的初步过滤,判断是否匹配过滤规则。如果满足iptables规则就对数据包执行该规则定义的规则动作,如果不满足iptables规则就交给snort进行进一步的检测。s

29、nort通过规则库对数据包进行特征匹配,如果特征匹配失败,数据包则通过检测。如果匹配成功,snort就向报警日志中添加新的报警信息。当联动模块监测到报警日志有新的报警信息时,就对其进行分析,提取攻击行为的各种信息,并将这些信息插入到数据库中,方便日后取证调查。然后联动模块会根据攻击行为的信息生成一个规则,并插入到iptables过滤规则库中。当攻击者再次攻击时,攻击数据包就会被iptables过滤,从而达到保障网络安全的作用。图3-1为联动部分业务流程图。Web管理部分主要是面对管理员,管理员登入系统后才可对系统进行操作,支持通过Web页面进行系统的关闭/启动、snort规则查看/删除/添加,

30、iptables规则查看/删除/添加,管理员的基本信息管理等。所有管理员添加的规则信息和联动模块保存的信息都保存在数据库中,可以说数据库就是联动模块和Web管理模块之间的接口。图3-2为Web管理部分业务流程图。图3-1联动部分业务流程图图3-2 Web管理部分业务流程图3.2可行性分析为了确保本系统的可行性,本文对以下三个方面进行了分析:技术可行性本系统核心代码采用Java语言编写,数据库使用MySQL,前台界面使用JSP。这些都是广泛使用的技术和软件,据有较好的跨平台性和可靠性。经济可行性联动使用的入侵检测系统是轻量级的snort,防火墙采用Ubuntu自带iptables防火墙。snor

31、t和iptables都是开源的免费的,但是它们却具备商业安全软件才具备大部分功能,这样很大程度的降低了系统的开发成本。操作可行性系统使用的联动软件都是占用系统资源较少的,一般的PC机就可以当做运行平台,不需要购买专用服务器。4 总体设计4.1系统结构设计本系统主要分为以下几个模块:管理员登入、管理员信息管理、联动响应模块、攻击统计图、邮件通知、系统启动和关闭、事件查看、snort规则管理、iptables规则管理。管理员登入用户必须登入后才能对系统进行操作,并且系统会记录下管理员的登入时间。管理员信息管理初级网络工程师和中级网络工程师级别的管理员只能对自己的基本信息进行修改,高级网络工程师级别的管理员能够修改所有管理员的信息,也能添加新的管理员或删除已有的管理员。联动响应模块该模块实时的监测snort的告警日志,如果有新的攻击发生,就会在数据库中记录,并生成规则,调用iptables阻断攻击。被阻断的攻击源地址直到管理员手动解闭后才能正常与本机通信。攻击统计图生成该

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1