1、目录第一章 绪 论1引言1课题设计介绍1第二章 防火墙介绍22.1 什么是防火墙及防火墙的作用22.2 防火墙的架构22.3防火墙的技术实现22.4 防火墙的特点3第三章 硬件防火墙43.1硬件防火墙的基本功能43.2防火墙实现基础原理53.2.1 包过滤防火墙63.2.2 应用网关防火墙63.2.3 状态检测防火墙73.2.4 复合型防火墙8第四章 网络防火墙的硬件实现94.1 网络防火墙的硬件结构94.1.2 USB2.0接口芯片CY7C68013104.2 TCP/IP协议栈在UCOSII下的实现10第五章 利用PLD做一个硬件防火墙125.1MAX+PLUS软件安装和使用125.1.1
2、概述125.2 MAX+PLUS设计硬件防火墙程序实例145.2.1 设计程序部分145.2.2波形仿真部分19结束语20致 谢21参考文献22第一章 绪 论引言随着现代科学技术的迅猛发展,能源问题、环境问题的日益成为人民所关注的问题。在电子科学领域也在以前所未有的革新速度,向着功能多样化,体积最小化、功耗最低化的方向迅速发展。 现代电子产品在设计上有了新的突破:大量使用大规模的可编程逻辑器件,以提高产品的性能,缩小产品的体积,降低产品的消耗;广泛使用现代计算机技术,以提高电子设计的自动化程度,缩短开发周期,提高产品的竞争力。CPLD就是这样一个例子,PLD技术的发展,将大量复杂电路缩小到一块
3、小芯片上实现原来电路的功能。课题设计介绍 本设计就以硬件防火墙的实现为主要内容,简单介绍各类防火墙的实现,应用、及功能。然后就PLD为设计实例来具体说明硬件防火墙的原理实现。1、 就硬件防火墙而言,一般具备一下的基本功能要求:(1) 当设置的特真码与输入的代码相同时输出就按照防火墙的功能对其处理。(2) 当设置的特真码与输入的代码不同时输出原代码。2、对PLD设计硬件防火墙的要求:(1) 能在MAX+ PLUS II平台上设计硬件代码,并编译通过。(2) 用仿真能实现防火墙的基本功能。第二章 防火墙介绍2.1 什么是防火墙及防火墙的作用防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公
4、共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。随着网络规模的扩大和开放性的增强,网络上的很多敏感信息和保密数据将受到很多主动和被动的人为攻击。一种解决办法是为需要保护的网络上的每个工作站和服务器装备上强大的安全特征(例如入侵检测),但这几乎是一种不切合实际的方法,因为对具有几百个甚至上千个节点的网络,它们可能运行着不同的操作系统,当发现了安全缺陷时,每个可能被影响的节点都必须加以改进以修复这个缺陷。另一种选择就是
5、防火墙 (Firewall),防火墙是用来在安全私有网络(可信任网络)和外部不可信任网络之间安全连接的一个设备或一组设备,作为私有网络和外部网络之间连接的单点存在。防火墙是设置在可信任的内部网络和不可信任的外部网络之间的一道屏障,它可以实施比较广泛的安全策略来控制信息流,防止不可预料的潜在的入侵破坏. DMZ外网和内部局域网的防火墙系统。2.2 防火墙的架构 防火墙产品的三代体系架构主要为: 第一代架构:主要是以单一cpu作为整个系统业务和管理的核心,cpu有x86、powerpc、mips等多类型,产品主要表现形式是pc机、工控机、pc-box或risc-box等; 第二代架构:以np或as
6、ic作为业务处理的主要核心,对一般安全业务进行加速,嵌入式cpu为管理核心,产品主要表现形式为box等; 第三代架构:iss(integrated security system)集成安全体系架构,以高速安全处理芯片作为业务处理的主要核心,采用高性能cpu发挥多种安全业务的高层应用,产品主要表现形式为基于电信级的高可靠、背板交换式的机架式设备,容量大性能高,各单元及系统更为灵活。2.3防火墙的技术实现 从Windows软件防火墙的诞生开始,这种安全防护产品就在跟随着不断深入的黑客病毒与反黑反毒之争,不断的进化与升级。从最早期的只能分析来源地址,端口号以及未经处理的报文原文的封包过滤防火墙,后来
7、出现了能对不同的应用程序设置不同的访问网络权限的技术;近年来由ZoneAlarm等国外知名品牌牵头,还开始流行了具有未知攻击拦截能力的智能行为监控防火墙;最后,由于近来垃圾插件和流氓软件的盛行,很多防火墙都在考虑给自己加上拦截流氓软件的功能。综上,Windows软件防火墙从开始的时候单纯的一个截包丢包,堵截IP和端口的工具,发展到了今天功能强大的整体性的安全套件。2.4 防火墙的特点一般防火墙具备以下特点:1、控制对特殊站点的访问,广泛的服务支持:通过将动态的、应用层的过滤能力和认证相结合,可实现浏览器、HTTP服务器、FTP等。2、提供监视Internet安全和预警的方便端点,对私有数据的加
8、密支持,保证通过Internet进行的虚拟私人网络和商务活动不受损坏。3、客户端认证只允许指定的用户访问内部网络或选择服务,过滤掉不安全服务和非法用户。4、反欺骗:欺骗是从外部获取网络访问权的常用手段,它令数据包像是来自网络内部。防火墙能监视这样的数据包并扔掉它们。5、C/S模式和跨平台支持:能使运行在一平台的管理模块控制另一平台的监视模块。 6、邮件保护:保护网络免受对电子邮件服务的攻击。第三章 硬件防火墙硬件防火墙是指把防火墙程序做到芯片里面,由硬件执行这些功能,能减少CPU的负担,使路由更稳定。网络级防火墙一般根据源、目的地址做出决策,输入单个的IP包。一台简单的路由器是“传统的”网络级
9、防火墙,因为它不能做出复杂的决策,不能判断出一个包的实际含意或包的实际出处。现代网络级防火墙已变得越来越复杂,可以保持流经它的接入状态、一些数据流的内容等等有关信息。许多网络级防火墙之间的一个重要差别是防火墙可以使传输流直接通过,因此要使用这样的防火墙通常需要分配有效的IP地址块。网络级防火墙一般速度都很快,对用户很透明。3.1硬件防火墙的基本功能防火墙的基本功能防火墙系统可以说是网络的第一道防线,因此一个企业在决定使用防火墙保护内部网络的安全时,它首先需要了解一个防火墙系统应具备的基本功能,这是用户选择防火墙产品的依据和前提。一个成功的防火墙产品应该具有下述基本功能:防火墙的设计策略应遵循安
10、全防范的基本原则“除非明确允许,否则就禁止”;防火墙本身支持安全策略,而不是添加上去的;如果组织机构的安全策略发生改变,可以加入新的服务;有先进的认证手段或有挂钩程序,可以安装先进的认证方法;如果需要,可以运用过滤技术允许和禁止服务;可以使用FTP和Telnet等服务代理,以便先进的认证手段可以被安装和运行在防火墙上;拥有界面友好、易于编程的IP过滤语言,并可以根据数据包的性质进行包过滤,数据包的性质有目标和源IP地址、协议类型、源和目的TCP/UDP端口、TCP包的ACK位、出站和入站网络接口等。如果用户需要NNTP(网络消息传输协议)、XWindow、HTTP和Gopher等服务,防火墙应
11、该包含相应的代理服务程序。防火墙也应具有集中邮件的功能,以减少SMTP服务器和外界服务器的直接连接,并可以集中处理整个站点的电子邮件。防火墙应允许公众对站点的访问,应把信息服务器和其他内部服务器分开。防火墙应该能够集中和过滤拨入访问,并可以记录网络流量和可疑的活动。此外,为了使日志具有可读性,防火墙应具有精简日志的能力。虽然没有必要让防火墙的操作系统和公司内部使用的操作系统一样,但在防火墙上运行一个管理员熟悉的操作系统会使管理变得简单。防火墙的强度和正确性应该可被验证,设计尽量简单,以便管理员理解和维护。防火墙和相应的操作系统应该用补丁程序进行升级且升级必须定期进行。正像前面提到的那样,Int
12、ernet每时每刻都在发生着变化,新的易攻击点随时可能会产生。当新的危险出现时,新的服务和升级工作可能会对防火墙的安装产生潜在的阻力,因此防火墙的可适应性是很重要的。3.2防火墙实现基础原理 防火墙通常使用的安全控制手段主要有包过滤、状态检测、代理服务。下面,我们将介绍这些手段的工作机理及特点。 包过滤技术是一种简单、有效的安全控制技术,它通过在网络间相互连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、TCP端口号等规则,对通过设备的数据包进行检查,限制数据包进出内部网络。包过滤的最大优点是对用户透明,传输性能高。但由于安全控制层次在网络层、传输层,安全控制的力度也只限于源地址、目的
13、地址和端口号,因而只能进行较为初步的安全控制,对于恶意的拥塞攻击、内存覆盖攻击或病毒等高层次的攻击手段,则无能为力。 状态检测是比包过滤更为有效的安全控制方法。对新建的应用连接,状态检测检查预先设置的安全规则,允许符合规则的连接通过,并在内存中记录下该连接的相关信息,生成状态表。对该连接的后续数据包,只要符合状态表,就可以通过。这种方式的好处在于:由于不需要对每个数据包进行规则检查,而是一个连接的后续数据包(通常是大量的数据包)通过散列算法,直接进行状态检查,从而使得性能得到了较大提高;而且,由于状态表是动态的,因而可以有选择地、动态地开通1024号以上的端口,使得安全性得到进一步地提高。 代
14、理服务型防火墙,代表某个专用网络同互联网进行通讯的防火墙,类似在股东会上某人以你的名义代理你来投票。当你将浏览器配置成使用代理功能时,防火墙就将你的浏览器的请求转给互联网;当互联网返回响应时,代理服务器再把它转给你的浏览器。代理服务器也用于页面的缓存,代理服务器在从互联网上下载特定页面前先从缓存器取出这些页面。内部网络与外部网络之间不存在直接连接。 代理服务器提供了详细的日志和审计功能,大大提高了网络的安全性,也为改进现有软件的安全性能提供了可能。但会降低网络性能,所以在一般情况下都不使用。3.2.1 包过滤防火墙 包过滤防火墙一般在路由器上实现,用以过滤用户定义的内容,如IP地址。包过滤防火
15、墙的工作原理是:系统在网络层检查数据包,与应用层无关。这样系统就具有很好的传输性能,可扩展能力强。但是,包过滤防火墙的安全性有一定的缺陷,因为系统对应用层信息无感知,也就是说,防火墙不理解通信的内容,所以可能被黑客所攻破。图4.1 包过滤防火墙工作原理图3.2.2 应用网关防火墙 应用网关防火墙检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性。然而,应用网关防火墙是通过打破客户机服务器模式实现的。每个客户机服务器通信需要两个连接:一个是从客户端到防火墙,另一个是从防火墙到服务器。另外,每个代理需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针
16、对此应用的服务程序,否则不能使用该服务。所以,应用网关防火墙具有可伸缩性差的缺点。(图4.2) 图4.2 应用网关防火墙工作原理图 3.2.3 状态检测防火墙 状态检测防火墙基本保持了简单包过滤防火墙的优点,性能比较好,同时对应用是透明的,在此基础上,对于安全性有了大幅提升。这种防火墙摒弃了简单包过滤防火墙仅仅考察进出网络的数据包,不关心数据包状态的缺点,在防火墙的核心部分建立状态连接表,维护了连接,将进出网络的数据当成一个个的事件来处理。可以这样说,状态检测包过滤防火墙规范了网络层和传输层行为,而应用代理型防火墙则是规范了特定的应用协议上的行为。(图4.3) 图4.3 状态检测防火墙工作原理
17、图 3.2.4 复合型防火墙 符合型防火墙是指综合了状态检测与透明代理的新一代的防火墙,进一步基于ASIC架构,把防病毒、内容过滤整合到防火墙里,其中还包括VPN、IDS功能,多单元融为一体,是一种新突破。常规的防火墙并不能防止隐蔽在网络流量里的攻击,在网络界面对应用层扫描,把防病毒、内容过滤与防火墙结合起来,这体现了网络与信息安全的新思路。它在网络边界实施OSI第七层的内容扫描,实现了实时在网络边缘布署病毒防护、内容过滤等应用层服务措施。(图4.4) 图4.4 复合型防火墙工作原理第四章 网络防火墙的硬件实现概述 网络防火墙是一种控制用户计算机网络访问的软件或硬件。通过对它的各种规则设置,使
18、得合法的链路得以建立;而非法的连接将被禁止,同时通过各种手段屏蔽掉用户的隐私信息,以保障用户的对网络访问的安全。目前一般个人电脑是用的软件防火墙,随着微电子的快速发展,我们可以完全利用嵌入式系统来实现硬件防火墙,从而提高系统的网络访问性能。4.1 网络防火墙的硬件结构在本系统中,主芯片采用EPF10K100QC208-3。网络芯片采用的Realtek公司的RTL8019AS,它是一款10M的网络芯片。PC机的通信芯片采用Cypress的USB2.0的接口芯片CY7C68013,它可以完成PC机和硬件防火墙的高速通信。在本系统中还提供2M字节的FLASH和512K字节的RAM,它们分别由芯片SS
19、T39VF160和IS61LV25616AL来实现。如图1:图5.1网络防火墙系统的硬件结构4.1.1 网络通信芯片RTL8019 RTL8019AS网络芯片是REALTEK公司生产的,基于ISA接口的10M以太网通信芯片。 它采用全双工方式来进行接收以太网数据,非常容易和微处理器接口。该芯片集成了以太网的物理层以及以太网的收发器,数据封包形式完全符合IEEE802.3标准。4.1.2 USB2.0接口芯片CY7C68013 CY7C68013是Cypress公司生产的一款USB2.0的接口芯片。它内部集成了8051的核,可以单独对该芯片编程。由该芯片完成USB2.0接口,跟PC机的通信速率可
20、以高达10Mbyte/s。我们利用该款芯片来实现一个数据FIFO,即对微处理器来讲,它只要将数据写入该FIFO,然后该芯片就会将数据按照USB2.0的协议发送4.2 TCP/IP协议栈在UCOSII下的实现TCP/IP协议分为四层,分别为应用层、传输层、网络层,物理层。本系统中物理层主要包括8019的驱动程序,网络层包括IP协议和ARP协议,传输层主要包括TCP协议和UDP协议,应用层主要包括FTP、HTTP、SNMP和一些用户应用程序。由于该协议实现很复杂,这也是本系统实现的难点,下面给出该协议栈实现的函数框图:用户过滤层。该层主要实现对一些非法端口裁定行屏蔽TCPICMPIGMPUDP用户
21、过滤层,该层主要实现对IP地址和控制命令屏蔽IPARP物理层 图5.2 箭头表示函数的调用关系,该协议栈是一个较完整的TCP/IP协议栈,它提供标准的SOCKET API函数,非常方便用户来实现INTERNET通信。并集成了简单的路由协议,可以跨越网关收发数据。TCP/TP协议栈的实现都是通过调用图5.2框图来实现的。第五章 利用PLD做一个硬件防火墙5.1MAX+PLUS软件安装和使用5.1.1概述MAX+PLUS开发系统是易学易用的完全集成化的EDA设计开发环境。该软件与LATTICE公司的iSPEXPERT 及XILINX 的ISE 等软件一样都是CPLD/FPGA的基本开发环境,是CPLD/FPGA开发所必须的,它包含了开发CPLD/FPGA器件的全过程。下面将以MAX+PLUS的基本使用为基础介绍CPLD/FPGA器件的开发方法,CPLD/FPGA 器件及其开发系统是极其复杂的,因此在学习使用时应注意如下特点: