论文部分内容阅读
当越来越多的公司及政府部门将其核心业务向互联网转移的时候,网络安全作为一个无法回避的问题呈现在人们面前。传统上,公司及政府部门一般采用防火墙作为其安全防线,而随着攻击者知识的日趋成熟,攻击工具与手法的日趋复杂多样,单纯的防火墙策略已经无法满足对安全高度敏感的部门的需要。致命的原因就是防火墙不是“智能”的。防火墙只能做到允许或者阻止某地址向某地址的特定端口,但是对于针对开放端口的攻击,防火墙就鞭长莫及了。其次,防火墙完全不能阻止来自内部的袭击。而通过调查发现,50%的攻击都来自于内部,对于公司及政府部门内部心怀不满的员工来说,防火墙形同虚设。再者,由于性能的限制,防火墙通常不能提供实时的入侵检测能力,对于现在层出不穷的攻击技术来说,这显然是致命的弱点。第四,防火墙对于病毒也束手无策。因此,以为在Internet入口处部署防火墙系统就足够安全的想法是不切实际的。 网络的防卫必须采用一种纵深、多样的手段,在这种环境下,入侵检测系统成为了安全市场上新的热点,不仅愈来愈多的受到人们的关注,而且已经开始在各种不同的环境中发挥其关键作用。入侵检测意味着检测未经许可的访问和对一个系统或网络的攻击,它既能发现并且处理外部攻击,又能发现并处理来自内部的攻击,在发现入侵后,会及时做出响应,包括切断网络连接、记录事件和告警等。在个人防火墙中将防火墙与入侵检测技术结合起来,将更好的为用户提供安全保护。 《带入侵检测的Linux个人防火墙的研究与实现》即以此背景立题开发研究。 本文对防火墙技术以及入侵检测技术进行了概述,重点讨论了Linux下的防火墙及入侵检测技术,包括其基本原理、体系结构、网络数据包的拦截、检测引擎如何对网络数据包进行检测,防火墙与入侵检测的联动。结合桌面操作系统用户的需求,利用这两项技术开发了Linux桌面系统的个人防火墙。 本文研究的关键技术、创新点和所做的工作如下: ● Netfilter是Linux内核实现数据包过滤/数据包处理/NAT等的功能框架,本文讨论了在此框架上如何实现防火墙,以及如何将入侵检测的功能融合进防火墙中。 ● 使用iptables及Netfilter可进行数据包过滤,但在现实中由于其配置较复杂,iptables经常被束之高阁。本文将介绍iptables防火墙规则以及通过工具配置规则,以帮助用户高效的使用防火墙。 ● 对进出网络的数据包进行实时监控,当检测到攻击信息时及时通知用户。攻击信息会显示在各列表中,同时还能将这些信息导出保存以作为证据提交给用户的ISP。 ● 检测引擎是入侵检测实现的核心,准确性和快速性是衡量其性能的重要指标,前者主要取决于对入侵行为特征码提炼的精确性和规则撰写的简洁实用性,后者主要取决于引擎的组织结构,是否能够快速地进行规则匹配。到目前为止共有3066个可用的规则,并且还在不断加入更多规则,同时提供规则描述语言,这种语言灵活而强大,以便用户可以添加自己的检测规则。 ● 入侵检测中所用到的检测分析方法属于误用检测(Misuse Detection),该方法对已知攻击的特征模式进行匹配,包括进行协议分析,以及对一系列数据包解释分析特征。 ● 入侵检测能够进行协议分析,内容的搜索/匹配。现在能够分析的协议有TCP、UDP、ICMP、IP和ARP。能够检测多种方式的攻击和探测,例如:缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测操作系统指纹特征的企图等等。 ● 对于TCP攻击,如果攻击者使用一个程序每次发送只有一个字节的TCP包,完全