过滤防火墙中Snort的入侵检测设计及实现_第1页
过滤防火墙中Snort的入侵检测设计及实现_第2页
过滤防火墙中Snort的入侵检测设计及实现_第3页
过滤防火墙中Snort的入侵检测设计及实现_第4页
过滤防火墙中Snort的入侵检测设计及实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第卷第期年月湖南科技学院学报、,包过滤防火墙中的入侵检测设计及实现杜敏王伟平(中南大学信息科学与工程学院,湖南长沙;湖南科技学院信息工程学院,湖南永州)摘要;提出利用作为嗅探器构建基于双宿主机包过滤防火墙的方案,实现的简单快速有效的入侵检测功能关键词:;防火墙:入侵检测中图分类号:文献标识码:引言防火墙是设置在不同网络或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许,拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。目前防火墙供应商提供的大部分都是具有安全操作系统的软硬件结合的防火墙,其中又以川作为操作系统的首选。结合的内

2、核的包过滤能力,使用当前出色免费的系统一设计防火墙已成为较为流行的方法。的特点是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志网络数据包的能力,能够进行协议分析,对内容进行搜索,匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,具有很好的扩展性和可移植性。还有,这个软件遵循通用公共许可证,所以只要遵守任何组织和个人都可以自由使用。防火墙系统分析通过分析对比双宿主机忙、屏蔽主机和屏蔽子网副这三种典型的防火墙配置方案,选择了双宿主堡垒主机方案作为设计方案。在上安装库和,设计了一个在网络层具有包过滤功能的防火墙。该防火墙可以在结合代理功能的基础上,设计完成具有结合型防火

3、墙功能的双宿主机,如图所示:该设计的特点是所有的流量都通过堡垒主机,外面的只向暴露屏蔽子网中的主机,内部的只向内图双宿主堡垒主机方案示意图部私有网暴露屏蔽子网中的主机,设计的双宿主机能够完成网络地址转换,并防止欺骗和会话劫持两种攻击。本设计将使用做为嗅探器来构建基于的防火墙,如下图:外网入包出包内网堡垒主机流向图防火墙逻辑分布示意图收稿日期:作者简介:杜敏),女,湖南永州人在职硕士研究生,主要研究方向为网络安全。王伟平,博士研究生,副教授,主要研究方向为网络与信息安全,网络优化算法等。 防火墙的总体设计思路零防火墙是麓乎酶包过滤型防灾壤,其糗满入侵翻完成褶应懿操作昀总俸流稷如下蓬:从下图不难糟

4、出本防火墙设计成功的难点是如何判断流经堡垒主机的数据包是否魁恶意攻击数据包。因此,设计使用米截获检测数据包。使用来检测数据包所使用的二维链袅袭簌瓣终主截获大量鳇糙数援包之精,接下来就必须快速地梭测网络攻击,及时发出报警。的规则库怒文本文件,可读性和可修改性都魄较好,袋熹是举魏箨蠹盔接辩数蠢绩构检测孳擎调用,因此,在每次启动时,郝需要对规则库文件进行解析,以生成可供检测稷序高效检索的数据结耱。采矮戆一耱二维缝裘鹃结麓,煞匿搿示:维链表横向的节点称为,纵向酶节窳凌秀。篾鬟库孛戆每条凝裂条图防火墙总攘设计流程图日分为两部分:和。其巾决定了该规则条目处于二维镳装横向昀那一个节点();决定了该规则条目处

5、予二维链表纵向的那一个节点()。印图所使用的品维锚表示意图规戴库审二维链表砖生蔑第一步:横向检索打开规则库文件,读入一行,首先撮取出该规则条目的避褥第二步;舞票援劐程该麓鳃条毽耱翔霹鳇节点,就定位在该处,进行第二步;第二步:缀囊竣索在该对应的纵内链表的末尾添加一个郝分,漤蓉二维链表懿搂起进行查找,懿象没有和该规则条目的相同的节点,就在链表的末尾添加一个,并将有荧部分戆糗溺丞数热入翻该豹处理丞数链表()中去,定位在该上,然后,然后根据该规则条目所包含的部分蠹容,识翔窭其孛鳇各令关键枣),设置该的参数,等),并将各个关键字所对应的处理函数添加到该的处理函数链表()中去。这样,每次读入一个规则条目,

6、分别分析它的和在二维链表中添加对应的节点(或),设置该节点的处理函数链表。当所有规则条目全部处理完之后,就生成了一个对应于该规则库文件的二维链表。数据包的检测过程由于本防火墙的实现基础函数是,下面结合来讲解一下防火墙的检测过程。防火墙从二维链表的第一个开始,依次调用该所对应的处理函数,将该所包含的信息和当前数据包生成的结构中的对应数据进行比较,如果有一个处理函数的返回值是,说明本数据包和该不符合,就定位到下一个,再开始新一轮处理函数的调用,检查本数据包与该是否符合;如果在某个上,所有处理函数都返回,说明本数据包和该符合(部分),那么就开始纵向链表的检索。先定位在该的第一个上,依次调用该所对应的

7、处理函数,对该数据包生成的结构中的对应数据进行检查,如果有一个处理函数的检查结果为,说明本数据包与该不符合,不具有该规则条目所定义的攻击特征,那么就定位到下一个,再开始新一轮处理函数的调用,检查本数据包是否具有该所对应的攻击特征;如果在某个上,所有处理函数的检查结果都是,说明本数据包和该符合,具有该所对应的攻击特征,此时就可以根据预先定义的响应函数对其做出处理。数据包分析和入侵检测的实现数据包分析和入侵检测的实现均采甩语言实现所有的功能。对照其检测过程,给出实现对数据包的分析和检测入侵的部分函数设计。首先分析的是函数,该函数通常有如下几个参数:全局变量,文件描述符。前面说过,叫可以实时采集网络

8、数据,也可以从文件读取数据进行分析。在不同情况打开文件(或设备)时,分别用来处理文件,或者网卡设备接口。是类型的指针,该结构包括实际的文件描述符,缓冲区,等等,用来处理从相应的文件获取信息。,表示总共要捕捉的包的数量。在函数初始化时,缺省设置为一,成为永真循环,一直捕捉直到程序退出。或者在命令行中设置要捕捉的包的数量。回调函数。该回调函数处理捕捉到的数据包。循环抓包时为,下面将详细解释该函数。在说明处理包的函数之前,有必要解释一下的实现。以下为的实现部分:(,):(;)循环一!)(,);产毒(),循环(,);():()();,遇到错误,返回():()();,到达指定数量,返回,只有以上两种返回

9、情况现在看看的实现。该函数是类型的,中类型的定义如下:()(士,宰,搴);第个参数这里没有什么用;第个参数为结构指针,记录时间戳、包长、捕捉的长度;第个参数字符串指针为数据包。函数如下:(宰,木);结构在中定义,用来记录数据包的各种信息,严,调用拆包函数,这里鲥是一个全局函数指针,已经在的调用中设置为正确的拆包函数吖(,);产,如果选择了详细显示方式,那么把包的数据,显示到标准输出吖();,指向预处理规则链表头。喾咯(),调用预处理函数处理包严如果工作在使一();用检测规则的方式,就调用进行检测,否则,仅仅进行日志,记录该包的信息,(!)()调用检测函数();,如果匹配,根据规则输出燃行日志,省略();】,清除缓冲区;结束语利用设计实现包过滤防火墙无疑是一种简单快速有效的方法。通过实验证明,本文提出的设计思想和实现方法是可行的,可通过结合代理完成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论