毕业设计(论文)-基于Linux的IPv4IPv6双栈防火墙管理系统的设计与实现.doc_第1页
毕业设计(论文)-基于Linux的IPv4IPv6双栈防火墙管理系统的设计与实现.doc_第2页
毕业设计(论文)-基于Linux的IPv4IPv6双栈防火墙管理系统的设计与实现.doc_第3页
毕业设计(论文)-基于Linux的IPv4IPv6双栈防火墙管理系统的设计与实现.doc_第4页
毕业设计(论文)-基于Linux的IPv4IPv6双栈防火墙管理系统的设计与实现.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

南 阳 理 工 学 院本科生毕业设计(论文)学院(系): 软件学院 专 业: 网络工程 学 生: 指导教师: 完成日期 2013 年 04 月南阳理工学院本科生毕业设计(论文)基于Linux的IPv4/IPv6双栈防火墙管理系统的设计与实现Design and Implementation of the IPv6/IPv4Dual Stack Linux-Based Firewall Management System总 计:毕业设计(论文) 42页表 格: 1个插 图: 24幅基于Linux的IPv4/IPv6双栈防火墙管理系统的设计与实现南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于Linux的IPv4/IPv6双栈防火墙管理系统的设计与实现Design and Implementation of the IPv6/IPv4Dual Stack Linux-Based Firewall Management System学 院(系): 软件学院 专 业: 网络工程 学 生 姓 名: 学 号: 指导教师(职称): 评 阅 教 师: 完 成 日 期: 2013年04月15日 南阳理工学院Nanyang Institute of Technology基于Linux的IPv4/IPv6双栈防火墙管理系统的设计与实现网络工程 蒋子奇摘 要随着IPv4向IPv6过渡的不断深入,防火墙技术的不断发展,以及linux,iptables,psad,fwsnort,fwknop等开源安全软件技术的成熟,针对IPv6的实施与应用以及IPv4向IPv6过渡时期的安全问题,本文设计并实现了一个基于linux的IPv4/IPv6双栈防火墙管理系统,该系统支持IPv4/IPv6双协议栈,将传统防火墙与入侵检测技术(IDS)相结合来保证网络安全。该系统具有编辑防火墙过滤策略,网络入侵检测,分析查看系统安全日志、登录日志等功能。通过对系统的全面测试,系统基本完成了功能需求,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。关键词网络入侵检测,双栈防火墙,包过滤防火墙Design and Implementation of the IPv6/IPv4Dual Stack Linux-Based Firewall Management SystemNetwork Engineering MajorJiang Zi QiAbstract:With the deepening of the IPv4 to IPv6 transition, the development of firewall technology, and open source security software technologies such as Linux, iptables, psad, fwsnort, fwknop mature. In view of the implementation and application of IPv6 and IPv4 to IPv6 transition of security problems, this article designs and implements an IPv4/IPv6 dual stack linux-based firewall management system. The system supports IPv4/IPv6 protocol stack, and combines the traditional firewall and intrusion detection system (IDS) technology to ensure network security. The system has editing firewall filtering strategy, network intrusion detection, analysis to check the system security log and log in logs, etc. Through comprehensive test of system, the system completed the function demand, all test items have been passed, realize the basic requirements, the system can run normally.Key words:IDS, dual stack firewall, package filter firewall目 录1 第一章 绪论11.1 本课题的研究背景与意义11.2 国内外相关课题研究现状11.3 论文主要内容及结构安排22 第二章 相关知识概述22.1 网络安全概述22.1.1 什么是网络安全22.1.2 常见网络攻击类型22.2 防火墙技术概述32.2.1 数据包过滤技术32.3 入侵检测技术概述42.4 IPv6技术概述52.5 双栈技术概述62.6 Linux技术概述62.7 shell技术概述72.8 iptables概述72.9 psad概述82.10 fwsnort概述82.11 fwknop简介83 第三章 系统设计83.1 防火墙系统的总体设计83.1.1 需求分析83.1.2 系统所要实现的功能93.2 防火墙系统的详细设计93.2.1 防火墙管理(Firewall management)93.2.2 防火墙日志管理(Firewall log management)104 第四章 系统实现114.1 系统环境搭建114.1.1 iptables114.1.2 psad124.1.3 fwsnort134.1.4 fwknop144.1.5 psad配置144.1.6 fwsnort配置154.1.7 fwknop配置154.2 系统实现164.2.1 add.sh模块实现164.2.2 default.sh模块实现164.2.3 delete.sh模块实现174.2.4 list.sh模块测试184.2.5 new.sh模块实现184.2.6 restore.sh模块实现194.2.7 search.sh模块实现194.2.8 write.sh模块实现204.2.9 log.sh模块实现204.2.10 psad_a.sh模块实现214.2.11 psad_w.sh模块实现214.2.12 fwsnort.sh模块实现215 第五章 系统测试225.1 进入防火墙管理系统225.2 防火墙管理模式的运行与测试225.2.1 new.sh 模块测试235.2.2 write.sh模块测试245.2.3 default.sh模块测试265.2.4 list.sh模块测试275.2.5 delete.sh模块测试295.2.6 restore.sh模块测试325.3 防火墙日志管理模式的运行与测试345.3.1 log.sh模块测试355.3.2 psad_a.sh模块测试365.3.3 psad_w.sh模块测试375.3.4 fwsnort.sh模块测试38结论40参考文献41致谢421 第一章 绪论1.1 本课题的研究背景与意义随着计算机网络的不断发展,全球信息化已经成为人类社会发展的必然趋势,但是由于计算机网络具有连接形式多样性、终端分布不均匀和网络的开放性、互联性等特性,导致网络极易受到黑客、恶意软件和其他不轨的攻击,所有网上信息的安全和保护是一个非常重要的问题【1】。并且,目前互联网所使用的IPv4协议,由于其先天设计的不足,随着Internet的迅猛发展和各种应用的深入,IPv4的地址空间变得越来越匮乏,由此带来的安全性的问题也越来越突出,已经使得Internet不堪重负【2】。因此,本文提出了基于Linux的IPv4/IPv6双栈防火墙管理系统的设想,并对其进行了初步的探讨和研究。本课题提出了一种基于Linux的IPv4/IPv6双栈防火墙和入侵检测技术相结合来保证网络安全的解决方案,即在Linux主机中实现IPv4/IPv6双栈防火墙的设计与实施。IPv6的采用,为设计防火墙提供了一个新思路。IPv6协议由于其先天的优势,特别是其巨大的地址空间,使其成为了防火墙设计中的新宠。由于,目前许多防火墙都是对网络攻击采用被动防御,很难发挥防火墙真正强大的威力。而入侵检测技术则实现了防火墙主动防御的功能,因此,IPv4/IPv6双栈防火墙技术与入侵检测技术相结合,能够使防火墙的功能更加适应未来的网络环境【3】。本课题也会在一定时期内既能满足IPv4的特点,又能满足IPv6的特点,这对防火墙安全性提出更高的要求,相应的防火墙技术也会得到更大的提高。1.2 国内外相关课题研究现状随着IPv6的正式启动,中国首个对IPv4向IPv6过渡中的防火墙设备的技术规范标准双栈防火墙设备技术要求也开始进入制定流程。此标准的制定由中国移动牵头,华为参与起草,预计在2013年完成。由于IPv4和IPv6将经历一个长期的共存期,发展IPv4向IPv6的过渡技术变得异常重要,同时对过渡时期防火墙设备的规范又提出了新的要求。同时,该标准主要定义了IPv4/IPv6双栈防火墙设备的技术规范,定义了防火墙具备IPv4/IPv6包处理的能力要求、防火墙安全策略、各种IPv4/IPv6共存场景中防火墙应支持的安全防护要求、IPv4和IPv6节点间通信情况下防火墙应支持的安全防护要求。1.3 论文主要内容及结构安排本文设计并实现了一个基于linux的IPv4/IPv6双栈防火墙管理系统,该系统支持IPv4/IPv6双协议栈,将传统防火墙与入侵检测技术(IDS)相结合来保证网络安全。该系统具有编辑防火墙过滤策略,网络入侵检测,分析查看系统安全日志、登录日志等功能。第一部分包括第一章和第二章,主要介绍了本课题的研究背景与意义以及相关技术原理。第二部分包括第三章和第四章,针对系统的总体设计和需求分析,对该防火墙系统实现的原理和具体的实现过程进行了讲述。其中,第三章设计了防火墙系统的系统实现的总体结构。第四章则根据第三章的系统设计,给出了系统的详细实现过程。第三部分对该防火墙系统进行测试,并且根据这些结果,分析了现有系统的不足和以后需要解决的问题。讲述了防火墙实现以后的运行界面,以及系统的测试过程以及对所实现的系统提出了改进意见,并对以后防火墙技术的发展进行展望。2 第二章 相关知识概述2.1 网络安全概述2.1.1 什么是网络安全网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。纵观网络安全的历史和现状,我们可以看出网络安全大致上具有如下5个特点【5】: 网络安全的设计面广,网络安全涉及的技术层面深,网络安全的黑盒性,网络安全的动态性,网络安全的相对性。2.1.2 常见网络攻击类型从以上的网络安全现状,可以看出网络安全问题已经成为互联网发展的主要障碍,也是社会信息化、网络化的绊脚石。因此,明确网络安全的目标、了解主要的网络攻击手段、研究网络安全的只要威胁因素,对于加强网络系统的安全建设、提高网络安全整体水平是很有意义的。常见的网络攻击有以下几种【7】:(1) 服务拒绝攻击服务拒绝攻击企图通过使服务器计算机崩溃或把它压垮来阻止服务,服务拒绝攻击是最容易实施的攻击行为,主要包括:ping of death,teardrop,UDP flood,SYN flood,Land攻击等。(2) 利用型攻击利用型攻击是一类试图直接对你的机器进行控制的攻击,最常见的有三种:口令猜测,特洛伊木马,缓冲区溢出(3) 信息收集型攻击信息收集型攻击并不对目标本身造成危害,这类攻击被用来为进一步入侵提供有用的信息。主要包括:扫描技术,体系结构刺探,利用信息服务扫描技术。(4) 假消息攻击用于攻击目标配置不正确的消息,主要包括:DNS高速缓存污染、伪造电子邮件。2.2 防火墙技术概述由于上述的网络的不安全因素的存在,就需要一个能够保证网络高度安全的防火墙。防火墙是一种行之有效的网络安全机制,它由软件或硬件设备组合而成。处于企业或网络群体计算机与Internet之间,限制外界用户对内部网络访问及管理内部用户访问外部网络的权限,作为内部网与外部网之间实现安全防范的系统。一般来说,防火墙具有以下几种功能【8】: 1、允许网络管理员定义一个中心点来防止非法用户进入内部网络。2、可以很方便的监视网络的安全性,并报警。3、可以作为部署NAT(Network Address Translation,网络地址变换)的地点,利用NAT技术,将有限的IP地址动态或静态的与内部的IP地址相对应起来,用来缓解地址空间短缺的问题。4、是审计和记录Internet使用费用的一个最佳地点。网络管理员可以在此向管理部门提供Internet连接的费用情况,查出潜在的带宽瓶颈位置,并能够依据本机构的核算模式提供部门级的统计。2.2.1 数据包过滤技术数据包过滤技术是防火墙最常用的技术。对于一个充满危险的网络,过滤路由器提供了一种方法,用这种方法可以阻塞某些主机和网络连入内部网络,也可以用来限制内部人员对一些危险站点的访问。(1) 包过滤的概念数据包过滤技术,顾名思义是在网络中适当的位置对数据包实施有选择的通过策略。选择依据,即为系统内设置的过滤规则(通常称为访问控制列表),只有满足过滤规则的数据包才可以被转发至相应的网络接口,其余数据包则被从数据流中删除。(2) 包过滤的模型包过滤防火墙一般有一个包检查模块,包过滤可以安装在一个双宿网关上或一个路由器上,当然也可以安装在一台服务器上。数据包过滤可以控制站点与站点、站点与网络和网络与网络之间的相互访问,但不能控制传输的数据内容,因为内容是应用层数据,不是包过滤系统所能辨认的,数据包过滤允许你在单个地方为整个网络提供特别的保护。包检查模块应该深入到操作系统的核心,在操作系统或路由器转发包之前拦截所有的数据包,当我们把包过滤防火墙安装在网关之后,包过滤检查模块深入到系统的网络层和数据链路层之间。因为数据链路层是事实上的网卡(NIC),网络层是第一层协议对堆栈,所以防火墙位于软件层次的最底层。通过检查模块,防火墙能拦截和检查所有出站和进站的数据包。防火墙检查模块首先验证这个包是否符合过滤规则,不管是否符合过滤规则,防火墙一般要记录数据包情况,不符合规则的包要进行报警或者通知管理员。对丢弃的数据包,防火墙可以给发送方返回一个消息,也可以不返回,这要取决于包过滤策略。如果返回一个消息,攻击者可能会根据返回的消息内容猜测包过滤规则的大致情况,所以是否对发送方返回消息,要慎重。包检查模块能检查包中的所有信息,一般是网络层的IP头和传输层的数据包头。包过滤一般要检查下面几项:IP源地址,IP目标地址,协议类型,TCP或UDP的源端口,TCP或UDP的目标端口,ICMP消息类型,TCP报头中的ACK位等。此外,TCP的序列号、确认号,IP检验和分割偏移也往往是要检查的选项。 2.3 入侵检测技术概述入侵检测系统(IDS)【9】【10】【11】是对入侵行为进行实时监控检测并提供报告的系统。IDS根据系统所检测的对象不同分为:基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS)。IDS按入侵检测模式可分为异常检测和误用检测。1、异常检测它可以检测利用系统和应用程序的漏洞所进行的攻击,可以防止非正常入侵。该方法直接对入侵行为进行特征化描述,建立某种或某类入侵的行为模式,如果发现当前行为与某个入侵模式一致,就表示发生了入侵。2、误用检测它作为检测非正常行为和电脑资源使用的系统,是为了防止恶意盗用或误用。该方法首先建立计算机系统中正常行为的描述模式。如果发现与该模式相异的行为,就表示有入侵发生。现行的入侵检测系统一般具有如下功能【12】:检测和分析用户系统的活动;审计系统的配置和脆弱性;评估关键系统和数据文件的一致性;识别反应已知攻击的活动模式;非正常活动模式统计分析;操作系统的审计跟踪管理,通过用户活动的识别反应策略。用于误用检测的技术专家系统主要用于滥用监测中。系统维护一个描述各种攻击的规则集。审计事件被描述成有语义的事实,推理引擎根据这些规则和事实判定,用基于规则的语言为已知攻击建模。但利用专家系统进行入侵检测具有一些不足,如难于抽取攻击知识,难于把这些知识表述成推理规则,它还具有同其他基于知识的方法一样,需要频繁地更新。修改补充攻击的特征集,另外对操作系统的依赖性较强。用于异常入侵检测技术统计分析是在异常检测中用的最普通的技术。该方法中用一些成为统计分析检测点的统计变量刻画用户或系统的行为。用于检测的5种统计模式:操作模式、方差、多元模型、马尔科夫过程和时间序列分析。统计分析的监测点的选取是一个关键技术,因为它的选取并不是根据特定的攻击,因此要选择有网络和系统特征意义的测量点。2.4 IPv6技术概述随着Internet的飞速发展,使用广泛的IPv4协议在Internet的发展过程中发挥了巨大的作用,但也暴露了越来越多的问题,例如IPv4地址短缺、缺乏安全性和移动性差等。为了彻底解决IPv4存在的问题,IETF提出和设计了下一代互联网协议,即IPv6协议。IP协议时TCP/IP协议族中最为核心的协议,所有的TCP、UDP和ICMP数据都是以IP数据报进行传输的。IP协议属于TCP/IP体系结构的网络层,通过该协议使得互联网内的任意两台计算机无论相距多远都可以进行相互的通信。现在使用的IP协议为IPv4协议,是1981年IETF的RFC791标准发布实施的,并且广泛地融入到互联网的各项应用中。事实证明,IPv4具有相当强盛的生命力,易于实现且互操作性良好,经受住了从早期小规模互联网络发展到如今全球范围Internet应用的考验。但是由于其设计的先天不足,随着Internet的迅猛发展和各种应用的深入,IPv4地址空间变得越来越匮乏,安全性的问题也越来越突出,已经使得Internet不堪重负。从总体上来说,IPv4的不足主要表现在以下五个方面:地址匮乏,路由效率低下,安全性差,缺乏服务保证,移动性支持不够。IPv6就是为了解决IPv4所存在的一些问题和不足而提出的,同时它还在许多方面提出了改进,例如路由、自动配置和安全等方面。经过一个较长时间的IPv4和IPv6共存的时期,IPv6最终将会完全取代IPv4,在互联网上占据统治地位。与IPv4相比,IPv6有如下的一些特点:巨大的地址空间,简化的报头,对移动性和安全性的更好支持,服务质量的满足,支持地址的自动配置。2.5 双栈技术概述双栈技术是指在一个系统中同时使用IPv4/IPv6两个可以并行工作的协议栈。IPv6和IPv4都属于TCP/IP体系结构中的网络层协议,两者都基于相同的物理平台,机关其实现的细节有很多的不同,但它们的原理是相似的,而且在其上的传输层协议TCP和UDP没有任何区别,主要的区别是针对不同的数据包所采用的协议栈各不相同。这就是双栈技术的工作机理。拥有双栈协议的主机在工作的时候,首先将在物理层截获下来的信息提交给数据链路层,在MAC层对接后到的帧进行分析,此时便可以根据帧中的相应字段区分是IPv4数据包还是IPv6数据包,处理结束后继续向上层递交,在网络层(IPv4/IPv6共存),根据从底层收上来的包是IPv4还是IPv6包来做相应的处理,处理结束后继续向上递交给传输层并进行相应的处理,直至上层用户的应用。与单协议栈相比,双栈主机的层与层之间都是利用了套接字来建立连接的。如表2.1所示,表2.1应用程序TCP/UDP协议IPv4协议IPv6协议物理网络两个协议栈并行工作的主要困难在于需要同时处理两套不同的地址方案。首先,双协议栈技术应该能独立地配置IPv4和IPv6的地址,双栈节点的IPv4地址能使用传统的DHCP、BOOTP或手动配置的方法来获得,IPv6的地址应能手动配置。其次,采用双协议栈还要解决域名服务器(DNS)问题。现有的32为域名服务器不能及巨额IPv6使用的128位地址命名问题。为此,IETF定义了一个IPv6下的DNS标准RFC1886,该标准定义了“AAAA”型的记录类型,用以实现主机域名与IPv6地址的映射。双协议栈技术的优点是互通性好、易于理解。缺点是需要给每个运行IPv6协议的网络设备和终端分配IPv4地址,不能解决IPv4地址匮乏的问题。在IPv6网络建设初期,由于IPv4地址相对充足,这种方案是可行的。当IPv6网络发展到一定阶段,为每个节点分配两个全局IPv4将很难实现。另外还有一种Limited Stack(有限双协议栈)模型(RFC2893),在这种模型下,服务器和路由器仍然是双栈的,而非服务器的主机只需要支持IPv6。这种机制可以节省大量的IPv4地址,但是在纯IPv6和纯IPv4节点之间的通信将会出现问题,为了解决这种问题,必须与其他技术结合使用。2.6 Linux技术概述在国内有几所大学已经或正在进行IPv6实验研究,并且建立了CERNET IPv6实验床。实验床网络中心最初的组网是通过主机配置Linux来完成的。在此基础之上,通过分析比较研究各种操作系统,最后选定用Linux作为IPv6作为实验平台。具体原因如下【13】【14】【15】:Linux作为开放的操作系统,启源代码完全公开,具有很强的灵活性,现在有很多自由软件联盟为Linux免费开发组件,故Linux具有很强的生命力和活力,而其他大部分由个别公司开发的操作系统,一方面源代码不公开,无法根据自己的要求修改内核,因此很难自由定制所需的功能。Linux操作系统很先进,已知跟踪关注网络的发展,用Linux组建Internet网络,建立网站,进行网络开发研究,都是很好的选择。并且其内核从2.2.0开始,就已经开始支持IPv6技术了,这就等于为我们提供了IPv6协议栈源代码,我们可以利用其共享代码做IPv6的研究开发。2.7 shell技术概述shell是一种具备特殊功能的程序,它提供了用户与内核进行交互的一种接口。它接收用户输入的命令,并把它送入内核去执行。内核是Linux系统的心脏,从开机自检时就驻留在计算机的内存中,直到计算机关闭为止,而用户的应用程序是存储在计算机的硬盘上,仅当需要时才被调入内存。shell是一种应用程序,当用户登录Linux系统是,shell就会被调入内存执行。shell独立于内核,它是连接内核和应用程序的桥梁,并由输入设备读取命令,再将其转换为计算机可以理解的机器代码,Linux内核才能执行该脚本【16】。2.8 iptables概述iptables防火墙是由Netfilter项目组开发,自2001年1月Linux 2.4内核发布以来,他就成为Linux的一部分了。多年来,iptables已发展成为一个功能强大的防火墙,它已具备通常只会在专有的商业防火墙中才能发现的大多数功能。比如,iptables提供了全面的协议状态跟踪、数据包的应用层检查、速率限制和一个强大的机制以制定过滤策略。所有主流的Linux发行版都包含了iptables,而且许多发行版在系统安装过程中就提示用户部署iptables策略。透过iptables防火墙用户可对与Linux系统进行交互的IP数据包执行高度的控制,而且这一控制是在Linux内核中实现的。由iptables构建的策略就像一个精力旺盛的交警-不允许通过的数据包将被忽视,并不在出现,而符合要求的数据包将继续他们的传输或经过修改符合本地网络的要求【17】。并且iptables是一个开源软件,可以用户自由定制,因此及适合用于Linux系统中。2.9 psad概述最终成为psad的软件项目一开始知识作为Bastille Linux的一个组成部分。1999年秋季,Bastille开发团队决定为Bastille提供一个轻量级的网络入侵检测组件。正好那时Peter Watkins在开发一个优秀的防火墙脚本,所以下一步工作任务自然就是开发一个基于防火墙日志所提供信息的IDS工具。此外,在那个时候,PortSentry存在一些架构设计问题,因而不适合与一个已被配置为默认丢弃的防火墙相结合使用。psad当前的版本可以检测到各种类型的可以流量,如有nmap、各种后门程序的探测器、分布式拒绝服务工具等生成的端口扫描和滥用网络协议的尝试。并且,psad是开源软件,可由用户自由定制,适合用于Linux系统中。2.10 fwsnort概述fwsnort由Perl语言编写,并且用于将snort规则转换为等价的iptables规则。fwsnort项目利用了iptables的过滤盒检查功能-包括大量的使用了iptables的string扩展,并尽可能接近的将snort规则转换成iptables规则。snort规则语言的灵活性和完整性使得snort可以搜索以高度描述性的表述所表示的基于网络的攻击,并在这些攻击穿越网络时进行回应。这正是这一特性牢牢巩固了snort在网络入侵检测和防御工具中的最佳地位。2.11 fwknop简介2004年6月fwkop作为遵循GNU公共许可证(GPL)的开源软件项目开始发布。它是第一个将加密端口碰撞和被动操作系统指纹识别结合起来的端口碰撞实现,这使得只允许Linux系统连接到ssh守护进程成为可能。fwknop端口碰撞组建基于iptables日志信息,并且使用iptables作为默认丢弃数据包过滤器。3 第三章 系统设计3.1 防火墙系统的总体设计Linux系统下实现IPv4/IPv6双栈防火墙的设计与实施,本质上就是基于主机的网络安全解决方案。因此,我们完全可以在对网络安全深入了解的基础上,选择合适的软硬件平台和相应的防火墙设计原理,自己开发出一套能够满足要求的防火墙系统。3.1.1 需求分析归纳起来,这里要实现的防火墙需要满足两大要求:第一,必须能够对主机提供安全保护,即对主机与局域网以外的主机进行数据传输时实施安全保护;第二,必须把该系统移植到IPv6网络环境下,并使其能够正常工作。能够提供安全访问,只是对该防火墙应有功能的基本要求。实际上,要想其达到实用水平,必须满足以下几点要求:安装配置简单:这要求处于主机的防火墙程序在初次配置的时候简单方便。外部通讯管理:防火墙只让那些标明可以通过的外部通讯访问本机,并且对允许通过的外部通讯也要进行严格的管理。使用方便灵活:一方面要求用户可以根据需要自由的选择来对防火墙进行配置;另一方面用户可以对日志系统进行查询,直观的了解防火墙的运行情况以及本机网络的运行情况;再一方面用户可以对本机的流量进行统计,得到本机的流量情况。3.1.2 系统所要实现的功能基于Linux的IPv4/IPv6防火墙系统主要具有以下功能:1、全过程动态包过滤:本防火墙在Linux下实现了全过程包过滤功能,通过分析数据包的地址、协议、端口和任何网络连接当前状态进行访问控制,从而大大提高了系统的性能和安全性。2、阻止黑客攻击功能:本防火墙可以有效阻断IP欺骗,Port Scan等黑客攻击行为。3、提供日志审计:本防火墙配置了完善的日志记录系统和查询工具,用于记录系统管理、系统访问及针对安全策略的网络访问情况。4、防火墙规则的编辑:本防火墙提供了便于修改防火墙策略规则的功能。3.2 防火墙系统的详细设计本系统共分为两个模式防火墙管理和防火墙日志管理,采用shell脚本实现,面向具有一定Linux管理经验的系统管理者而开发。3.2.1 防火墙管理(Firewall management)此模式用于对Linux防火墙的编辑和日常管理,包括8个模块:add.sh:用于向防火墙策略中添加新的策略。default.sh:用于恢复防火墙系统的默认策略。delete.sh:用于删除额外的、错误的、不适应的等策略,也可以删除整个防火墙策略。list.sh:用于列出IPv4或IPv6或IPv4/IPv6双栈防火墙策略。new.sh:用于建立新的防火墙控制策略。restore.sh:用于重新载入已保存的防火墙策略。search.sh:用于按协议、端口、服务等条件搜索相应防火墙策略。write.sh:用于保存已配置好的防火墙策略。3.2.2 防火墙日志管理(Firewall log management)此模式用于对Linux防火墙的日志系统进行分析和管理,以及对日志的分析结果进行入侵检测分析,对系统安全做出预警。此模式包括若干模块:log.sh:用于查看系统日志信息。psad_a.sh:用于查看psad日志分析信息。psad_w.sh: 此模块用于分析查看由psad处理的iptables策略配置详细信息。fwsnort.sh: 用于查看fwsnort将snort规则转换为iptables规则的统计信息。3.2.3 系统结构图下图3.1为本系统流程图,图3.1,系统流程图4 第四章 系统实现4.1 系统环境搭建4.1.1 iptables因为iptables被分为两个基本组件(内核模块和用户层管理程序),所以iptables的安装同时涉及Linux内核和用户层二进制程序的编译和安装。内核源代码包含许多Netfilter子系统,基本的包过滤功能在未经修改的权威内核中默认是启用的,但是,为了保持Linux内核精简,许多Netfilter特性都没有启用,所以,建立一个可以作为iptables防火墙的Linux系统所需要的最重要的步骤是正确的配置和编译Linux内核。在开始编译内核之前,必须建立一个内核配置文件。使用命令$make menuconfig即可。make menuconfig命令打开ncurses界面进行选择各种编译选项。在执行命令make menuconfig之后,将会出现若干配置内容,既有成熟代码级的选项,也有库例程。在大多数内核中,netfilter编译选项都位于Networking-Networking Options-Network Packet Filtering Framework(Netfilter)中。(1) 基本Netfilter编译选项在内核配置文件中要启用的一些要重要的选项包括Netfilter连接跟踪、日志记录和包过滤等。在Network Packet Filtering Framework(Netfilter)中还有两个额外的配置内容Core Netfilter Configuration和IP:Netfilter Configuration。Core Netfilter配置Core Netfilter配置中包含的一些重要选项都应该被启用,所需启用的选项如下所示:Comment match support;FTP support;Length match support;Limit match support;MAC address match support;MARK target support;Netfilter connection tracking support;Netfilter LOG over NFNETLINK interface;Netfilter netlink interface;Netfilter Xtables support;State match support;String match support;IPv6 protocol support;IP:Netfilter配置在完成Core Netfilter配置之后,进行IP:Netfilter配置。本节需要启用的选项如下所示:ECN target support;Full NAT support;IP addtess range match support;IP tables support;IPv4 connection tracking support;IPv6 connection tracking support;LOG target support;MASQUERADE target support;Owner match support;Packet filtering support;Packet mangling support;Raw table support;Recent match support;REJECT target support;TOS match support;TOS target support;TTL match support;TTL target support;ULOG target support;在通过menuconfig配置完所需Netfilter支持之后,选择Exit,会看到信息“Do you wish to save your new kernel configuration?”,选择Yes保存内核配置文件。(2) 安装iptables用户层二进制文件安装并将系统启动到一个支持Netfilter挂接的内核中后,安装iptables用户层程序。首先,在/usr/local/src目录中下载并解压缩iptables源代码,然后将下载压缩包的MD5 sum与上公布的值比较,检查下载的包是否完整无错误。$cd /usr/local/src$wget /projects/iptables/files/iptables-1.3.7.tar.bz2$md5sum iptables-1.3.7.tar.bz2$tar jxvf iptables-1.3.7.tar.bz2$cd iptables-1.3.7下载得到完整无错误的iptables源码包并解压后,进入解压后的文件夹,执行以下命令安装iptables用户层程序。$./configure$make $make install执行完以上命令后,为了测试iptables是否安装成功,执行命令iptables -version查看iptables版本。$iptables -versioniptables v如果系统显示版本信息,则iptables安装成功。4.1.2 psadpsad可以检测到各种类型的可以流量,如有Nmap、各种后门程序的探测器、分布式拒绝服务工具等生成的端口扫描和滥用网络协议的尝试。如果和fwsnort结合使用,psad可以检测并为60多的snort规则生成警报。psad比较出色的特性是它可以被动式识别扫描或其他恶意攻击来源主机系统。例如,如果有人从windows机器发起TCP connect()扫描,psad通常就能够告诉你这次扫描是来自Windows XP、2000还是NT主机。在某些情况下,它甚至可以检测到远程系统的Service Pack版本。此外,psad还提供了详细的电子邮件和系统日志警报、基于危险级别阈值自动阻止IP地址的能力、集成的whois支持等特性。(1) psad的安装在安装psad之前,首先从/psad/download上下载psad源码包。执行以下命令下载安装psad:$cd /usr/local/src$wget /psad/download/psad-2.0.8.tar.bz2$md5dum psad-2.0.8.tar.bz2$tar jxvf psad-2.0.8.tar.bz2$su -Password:#cd /usr/local/src/psad-2.0.8#./install.pl#psad -V+ psad v2.0.8执行完以上命令并看到版本信息,则安装成功。(2) psad的管理一旦安装好了psad,本小节将介绍如何启动psad服务。和psad捆绑在一起的初始化脚本适合在Red Hat、Fedora、Slackware、Debian、Mandrake和Gentoo Linux系统中使用。与许多系统守护进程一样,psad通常是通过init脚本来启动和停止的:#/etc/init.d/psad start *Starting pasd .ok#/etc/init.d/psad stop *Stopping psadwatchd .ok *Stopping kmsgsd .ok *Stopping psad .ok通过init脚本启动psad后,有3个守护进程开始运行:psad主守护进程、kmsgsd和psadwatchd。Kmsgsd的用途是通过管道/var/lib/psad/psadfifo读取所有iptables日志信息,并将它们写入文件/var/log/fwdata以便psad进行自动分析。这种方式给psad提供的是只包含iptables日志信息的纯数据流。psadwatchd守护进程知识用于确保psad和kmsgsd守护进程都在运行,如果其中有一个进程没有在运行,他讲重启该进程并给列在/etc/psad/psad.conf配置文件中的电子邮件地址发送一个警报邮件。4.1.3 fwsnortfwsnort项目关注的是如何加强Linux内核与那些与Linux系统进行通信或通过Linux系统传输的数据包进行控制的能力。结合了Snort签名语言的威力、Linux内核的速度以及iptables命令的简单性,fwsnort能够增强现有IDS/IPS基础设施的安全能力。将fwsnort与其他IDS/IPS部署在一起是非常简单的,因为fwsnort知识建立shell脚本来执行iptables命令。此外,因为iptables是以县内模式处理网络流量的,所以fwsnort的稳定性和速度都是经过严格测试的。执行以下命令下载安装fwsnort源码包:$cd /usr/local/src$wget /fwsnort/download/fwsnort-1.0.tar.bz2$md5sum fwsnort-1.0.tar.bz2$tar jxvf fwsnort-1.0.tar.bz2$su -Password:#cd /usr/local/src/fwsnort-1.0#./install.pl#fwsnort+ Testing /sbin/iptables for supported capabilities.=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

温馨提示

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

最新文档

评论

0/150

提交评论