带入侵检测的Linux个人防火墙的研究与实现.ppt

上传人:仙人指路1688 文档编号:2231970 上传时间:2023-02-03 格式:PPT 页数:33 大小:496.50KB
返回 下载 相关 举报
带入侵检测的Linux个人防火墙的研究与实现.ppt_第1页
第1页 / 共33页
带入侵检测的Linux个人防火墙的研究与实现.ppt_第2页
第2页 / 共33页
带入侵检测的Linux个人防火墙的研究与实现.ppt_第3页
第3页 / 共33页
带入侵检测的Linux个人防火墙的研究与实现.ppt_第4页
第4页 / 共33页
带入侵检测的Linux个人防火墙的研究与实现.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《带入侵检测的Linux个人防火墙的研究与实现.ppt》由会员分享,可在线阅读,更多相关《带入侵检测的Linux个人防火墙的研究与实现.ppt(33页珍藏版)》请在三一办公上搜索。

1、1,带入侵检测的Linux个人防火墙的研究与实现,贵州大学计算机软件与理论研究所,2,选题背景及意义,随着Internet高速发展,个人、企业以及政府部门越来越多地依靠网络传递信息,然而网络的开放性与共享性容易使它受到外界的攻击与破坏,信息的安全保密性受到严重影响。网络安全问题已成为世界各国政府、企业及广大网络用户最关心的问题之一。虽然防火墙是阻止黑客攻击的一种有效手段,但随着攻击技术的发展,这种单一的防护手段已不能确保网络的安全,它存在以下的弱点和不足:1)防火墙对信息流的控制缺乏灵活性 2)在攻击发生后,利用防火墙保存的信息难以调查和取证 为了确保计算机网络安全,必须建立一整套的安全防护体

2、系,进行多层次、多手段的检测和防护。入侵检测就是安全防护体系中重要的一环,它能够及时识别网络中发生的入侵行为并实时报警。入侵检测所具有的实时性、动态检测和主动防御等特点,弥补了防火墙等静态防御工具的不足。将入侵检测与防火墙配合使用,可以极大地提高网络的安全防御能力,对信息安全的防范有参考价值。,贵州大学计算机软件与理论研究所,3,Netfilter是Linux内核实现数据包过滤/数据包处理/NAT等的功能框架,它在Linux内核中的IPv4、IPv6和DECnet等网络协议栈中都有相应的实现,基于netfilter内核更加安全可靠,且运行时占用资源较少。讨论了在此框架上如何实现防火墙,以及如何

3、将入侵检测的功能融合进防火墙中。iptables是专门针对Linux内核的Netfilter制作的核外配置工具,通过socket接口对Netfilter进行操作,是操作核内Netfilter的用户界面。使用iptables及Netfilter可进行数据包过滤,但在现实中由于其配置较复杂,iptables经常被束之高阁。设计的软件向用户屏蔽掉晦涩复杂的iptables配置语法,取而代之的是提供方便、简易的操作模式。对进出网络的数据包进行实时监控,当检测到攻击信息时及时通知用户。完善的访问记录功能,可显示所有被拦截的访问记录,包括访问的时间、来源、类型等都详细地记录下来,您可以清楚地看到是否有入侵

4、者想连接到您的机器,从而制定更有效的防护规则。并且可将所有访问记录进行保存,以便用户在日后进行深入分析或者作为证据提交给用户的ISP。,本文所做的主要工作与创新之处,贵州大学计算机软件与理论研究所,4,检测引擎是入侵检测实现的核心,准确性和快速性是衡量其性能的重要指标,前者主要取决于对入侵行为特征码提炼的精确性和规则撰写的简洁实用性,后者主要取决于引擎的组织结构,是否能够快速地进行规则匹配。到目前为止共有3066个可用的规则,并且还在不断加入更多规则,同时提供规则描述语言,这种语言灵活而强大,以便用户可以添加自己的检测规则。入侵检测能够进行协议分析,内容的搜索/匹配。现在能够分析的协议有TCP

5、、UDP、ICMP、IP和ARP。能够检测多种方式的攻击和探测,例如:缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测操作系统指纹特征的企图等等。入侵检测模块支持各种形式的插件、扩充和定制。目前有三类插件:预处理插件、检测插件和输出插件,包括数据库日志输出插件、破碎数据包检测插件、端口扫描检测插件、HTTP URI normalization插件、XML插件等。预处理插件是在捕获分组时对分组作的一些“预处理”动作,比如探测过小的IP碎片,重组IP分组,重组TCP报文等;检测插件则是按照规则文件中定义的规则依次地分析每个数据包;输出插件负责信息的输出。,本文所做的主要工作与创新之处,贵州大

6、学计算机软件与理论研究所,5,个人防火墙概述 关键技术详解与实现 系统设计与实现 论文工作的实际应用、进一步研究构想,内容提要,贵州大学计算机软件与理论研究所,6,个人防火墙的概念,在逻辑上讲,个人防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了个人主机和Internet之间的任何活动,保证了个人主机的安全。进一步说,个人防火墙是一个位于单台PC之上的软件。它可以截取PC上进行的入站和出站TCP/IP网络连接尝试,并使用预先定义的规则允许或禁止其连接。,贵州大学计算机软件与理论研究所,7,个人防火墙的特点,防火墙强化了网络安全策略,实现了快速方便的安全管理。防火墙能防止非授权用户进

7、入用户主机。防火墙可以方便的监视网络的安全性并报警。由于所有的访问都经过防火墙,防火墙是审计和记录网络的访问和使用的最佳位置。一个好的个人防火墙具备:1)所有的入站和出站网络数据流必须经过防火墙 2)只有符合安全策略的数据流才能通过防火墙 3)防火墙自身应具有非常强的抗攻击免疫力,贵州大学计算机软件与理论研究所,8,个人防火墙策略,在构筑防火墙之前,需要制定一套完整有效的安全策略。网络服务访问策略:-一种高层次的具体到事件的策略,主要用于定义在网络中允许或禁止的服务。防火墙设计策略:-一种是”一切未被允许的都是禁止的”,一种是“一切未被禁止的都是允许的”。第一种的特点是安全性好,但是用户所能使

8、用的服务范围受到严格限制。第二种的特点是可以为用户提供更多的服务,但是在日益增多的网络服务面前,很难为用户提供可靠的安全防护。,贵州大学计算机软件与理论研究所,9,个人防火墙概述关键技术详解与实现系统设计与实现论文工作的实际应用、进一步研究构想,内容提要,贵州大学计算机软件与理论研究所,10,静态包过滤技术,根据流经防火墙的数据包地址信息,决定是否允许该数据包通过。判断依据有(只考虑IP包):-数据包协议类型:TCP、UDP、ICMP、IGMP等-源、目的IP地址-源、目的端口:FTP、HTTP、DNS等-IP选项:源路由、记录路由等-TCP选项:SYN、ACK、FIN、RST等-其它协议选项

9、:ICMP ECHO、ICMP ECHO REPLY等-数据包流向:in或out-数据包流经网络接口:eth0、eth1,贵州大学计算机软件与理论研究所,11,Linux中的静态包过滤系统,Netfilter是Linux 核心中一个抽象、通用化的框架,该框架定义的的一个子功能的实现就是包过滤子系统,它提供了一系列的“表”(tables),每个表由若干“链”(chains)组成,而每条链中可以有一条或数条“规则”(rule)组成。我们可以这样来理解,netfilter是表的容器,表是链的容器,而链又是规则的容器,如下图所示,贵州大学计算机软件与理论研究所,12,Linux中的静态包过滤系统,Ne

10、tfilter框架包含以下三部分:1为每种网络协议(IPv4、IPv6等)定义一套钩子函数(IPv4定义了5个钩子函数),这些钩子函数在数据包流过协议栈的几个关键点被调用。在这几个点中,协议栈将把数据包及钩子函数标号作为参数调用netfilter框架。2内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当某个数据包被传递给netfilter框架时,内核能检测是否有任何模块对该协议和钩子函数进行了注册。若注册了,则调用该模块在注册时使用的回调函数,这样这些模块就有机会检查(可能还会修改)该数据包、丢弃该数据包及指示 netfilter将该数据包传入用户空间的队列。3那些排队的数

11、据包被传递给用户空间异步地进行处理。一个用户进程能检查数据包,修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数中注入到内核中。,贵州大学计算机软件与理论研究所,13,Linux中的静态包过滤系统,Netfilter在IPv4中的结构数据包按照下图所示过程通过Netfilter系统:,贵州大学计算机软件与理论研究所,14,Linux中的静态包过滤系统,从图中可以看到IPv4一共有5个钩子函数,分别为:1 NF_IP_PRE_ROUTING 2 NF_IP_LOCAL_IN 3 NF_IP_FORWARD 4 NF_IP_POST_ROUTING 5 NF_IP_LOCAL_OUT

12、数据包从左边进入系统,进行IP校验以后,数据包经过第一个钩子函数NF_IP_PRE_ROUTING1进行处理;然后就进入路由代码,其决定该数据包是需要转发还是发给本机的;若该数据包是发给本机的,则该数据经过钩子函数NF_IP_LOCAL_IN2处理以后然后传递给上层协议;若该数据包应该被转发则它被NF_IP_FORWARD3处理;经过转发的数据包经过最后一个钩子函数NF_IP_POST_ROUTING 4处理以后,再传输到网络上。本地产生的数据经过钩子函数NF_IP_LOCAL_OUT 5处理以后,进行路由选择处理,然后经过NF_IP_POST_ROUTING4处理以后发送到网络上。,贵州大学

13、计算机软件与理论研究所,15,Linux中的静态包过滤系统,从上面关于IPv4的netfilter的讨论,可以看到钩子函数是如何被激活的。内核模块可以对一个或多个这样的钩子函数进行注册挂接,并且在数据包经过这些钩子函数时被调用,从而模块可以修改这些数据包,并向netfilter返回如下值:NF_ACCEPT 继续正常传输数据包NF_DROP 丢弃该数据包,不再传输NF_STOLEN 模块接管该数据包,不要继续传输该数据包NF_QUEUE 对该数据包进行排队(通常用于将数据包给用户空间的进程进行处理)NF_REPEAT 再次调用该钩子函数,贵州大学计算机软件与理论研究所,16,Linux中的静态

14、包过滤系统,图三、数据包过滤过程,贵州大学计算机软件与理论研究所,17,入侵检测模块,软件中的检测模块是基于规则检测的数据包检测,即针对每一种入侵行为,都提炼出它的特征值并按照规范写成检验规则,从而形成一个规则数据库。其次将捕获得数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。入侵检测模块通过钩子函数注册到内核中去,并设置优先级使得netfilter先调用检测程序进行数据检测,再调用iptables进行数据拦截。也就是将入侵检测引擎放在防火墙模块之前在这种情况下,入侵检测模块能接收到防火墙外网络接口的所有信息,管理员可以清楚地看到所有来自Internet 的攻击,当与防火墙联动时,

15、防火墙可以动态阻断发生攻击的连接。,贵州大学计算机软件与理论研究所,18,入侵检测模块,入侵检测模块运行的一个流程如下:-获取数据分组-TCP/IP协议栈分析-规则检测-日志和报警|预处理插件|检测插件|输出插件|-图四、入侵检测处理流程预处理是模块在捕获分组时对分组作的一些“预处理”动作,比如探测过小的IP碎片,重组IP分组,重组TCP报文等。检测部分则是按照模块规则文件中定义的规则依次的分析每个数据包。输出插件负责信息的输出,触发告警或日志事件。,贵州大学计算机软件与理论研究所,19,入侵检测模块,根据其流程检测模块的结构主要分为三个部分:解析子系统 该子系统的功能为对获取的数据按照TCP

16、/IP协议的不同层次将数据包进行解析。对于解析机制来说,能够处理数据包的类型的多样性非常重要。检测引擎 检测引擎的工作流程可以用预处理、规则处理两大模块划分。入侵检测模块的核心还是单数据包检测,因此可以想像为数据包在进入检测引擎后,先进入预处理模块,最后进入规则处理模块日志及报警子系统 入侵检测系统的输出结果系统的必要特征是实时性和多样性,前者指能够在检测到入侵行为的同时及时记录和报警,后者是指能够根据需求选择多种方式进行记录和报警。,贵州大学计算机软件与理论研究所,20,个人防火墙概述关键技术详解与实现系统设计与实现论文工作的实际应用、进一步研究构想,内容提要,贵州大学计算机软件与理论研究所

17、,21,个人防火墙的体系结构,使用入侵检测技术和防火墙技术共同构建网络安全防护体系有多种组合方法,可以根据需要进行选择。1)入侵检测引擎放在防火墙模块之前 在这种情况下,入侵检测模块能接收到防火墙外网络接口的所有信息,用户可以清楚地看到所有来自Internet 的攻击,当与防火墙联动时,防火墙可以动态阻断发生攻击的连接。在Firestarter个人防火墙中将会采用这种组合方法。2)入侵检测引擎放在防火墙模块之后 在这种情况下,只有穿透了防火墙的攻击才能被入侵检测模块监听到,用户可以清楚地看到哪些攻击真正对自己的网络构成了威胁。如果入侵检测模块检测到了本应该被防火墙过滤掉的攻击,就可以判断防火墙

18、的配置存在失误。,贵州大学计算机软件与理论研究所,22,个人防火墙的体系结构,3)防火墙模块前后都装有入侵检测引擎 在这种情况下,可以检测来自内部和外部的所有攻击,用户可以清楚地看出是否有攻击穿透防火墙,对自己网络所面对的安全威胁了如指掌。,贵州大学计算机软件与理论研究所,23,Firestarter个人防火墙的工作流程,根据防火墙软件构架的分析,构建其第一级工作流程如图所示:,图五、Firestarter一级工作流程,贵州大学计算机软件与理论研究所,24,Firestarter个人防火墙的工作流程,其第二级工作流程如图所示:,图六、Firestarter二级工作流程,贵州大学计算机软件与理论

19、研究所,25,Firestarter个人防火墙,Firestarter是一个Linux内核防火墙模块(Netfilter/Iptables)的GTK+前端。它的作用就是为现代先进的防火墙技术提供一个安全、易用的图形前端,让用户更方便地配置自己的防火墙。Firestarter具有以下特点:支持Linux 2.4/2.6内核,基于netfilter框架更加安全可靠,且运行时占用资源较少。完善的访问记录,可显示所有被拦截的访问记录,包括访问的时间、来源、类型等都详细地记录下来,您可以清楚地看到是否有入侵者想连接到您的机器,从而制定更有效的防护规则。并且可将所有访问记录进行保存,以便用户在日后进行深入

20、分析。,贵州大学计算机软件与理论研究所,26,Firestarter个人防火墙,实时监控,在检测到非法访问时会给出告警提示。可以处理IP、TCP、UPD、ICMP和IGMP协议,完全管控TCP/IP网络封包。灵活方便的规则设置,可以设置了一系列安全规则,允许特定主机的相应服务,拒绝其它主机的访问要求。用户还可以根据自已的实际情况,添加、删除、修改安全规则,保护本机安全。方便快捷的断开/连接网络功能,可以通过单击鼠标来停止或恢复所有互联网通信。为你的局域网设置网络地址转换(NAT,Network Address Translation)或端口转发。安装十分容易,有安装向导引导,即使是对Linux

21、软件不熟悉的用户也能通过向导轻松完成防火墙的安装和配置。,贵州大学计算机软件与理论研究所,27,个人防火墙概述关键技术详解与实现系统设计与实现论文工作的实际应用、进一步研究构想,内容提要,贵州大学计算机软件与理论研究所,28,本文工作的实际应用,本文软件产品已经在北京共创开源软件有限公司得到实际应用,应用于北京市多个区委,并已经成功运用。,贵州大学计算机软件与理论研究所,29,软件截图,贵州大学计算机软件与理论研究所,30,发表论文及科研课题研究,在读研究生期间,已在国家中文核心期刊微机发展、网络安全技术与应用发表两篇科研论文。参与研究的课题北京市科委课题Linux下的防火墙 北京市科委课题数

22、字版权管理(DRM,Digital Rights Management)北京市科委课题下一代安全计算基础(NGSCB,Next-Generation Secure Computing Base),贵州大学计算机软件与理论研究所,31,论文工作总结,本文对防火墙技术以及入侵检测技术进行了概述,重点讨论了Linux下的防火墙及入侵检测技术,包括其基本原理、体系结构、网络数据包的拦截、检测引擎如何对网络数据包进行检测,防火墙与入侵检测的联动。结合桌面操作系统用户的需求,利用这两项技术开发了Linux桌面系统的个人防火墙。,贵州大学计算机软件与理论研究所,32,论文工作的进一步研究构想,防火墙日趋走向

23、一个大而全、协同工作的趋势,单一的纯防火墙已经不复存在,网络安全的概念不仅包括网络安全产品,而且还涉及用户的管理和维护方面的问题。技术发展也因此具备智能化、高速度、分布式、复合型、专业化等发展趋势。设计一个既完整,效率又高的规则生成和查找机制、规则管理机制以及Linux系统下的连接跟踪机制。保证将安全组件的运行对系统效率的影响降到最低。实现对数据流的深包检测必将成为防火墙技术的主流方向。加强同各大高校、学院的合作,建立网络安全实验室也是我们的工作方向之一。时代在变化,技术在提高,防火墙技术也在不断的发展,因此,进一步提高防火墙的稳定性、多变性、适应力。,贵州大学计算机软件与理论研究所,33,致谢,衷心感谢我的导师李祥教授!从论文的选题、可行性研究、文献的收集到研究工作的开展,特别是论文的撰写,导师都给予了无微不至的关怀,提出了许多宝贵的建设性意见。感谢答辩委员会主席,感谢各位评委,感谢在座的各位来宾!最后,我还要感谢我的家人及朋友对我的学习工作的全力支持。谢 谢!2006年5月,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号