《网络与信息安全技术》
防火墙技术浅谈
班 级: 11计算机科学与技术3班
学 号: *************
***************** 王 志 成
分 数:
2013年12月12日
防火墙技术浅谈
摘要:随着计算机网络的发展,全球上网的人数在不断地增大,网上的资源也不断地增加,网络的开放性、共享性、互连程度也随之不断扩大。然而,因特网的迅猛发展在给人们的生活带来了极大方便的同时,因特网本身也正遭遇着前所未有的威胁。所以,网络的安全问题也越来越成为人们现在考虑的十分重视的问题。
本文主要介绍讨论了防火墙的定义、特点、基本功能,数据包头分析后与过滤规则的匹配、对数据包的拒绝和日志数据库的存储。
关键词:防火墙技术 数据包过滤 数据库
引言
网络的安全问题正越来越成为人们现在十分重视的问题。如何使用有效、可行的方法使网络危险降到人们可接受的范围之内已越来越受到人们的关注。而如何实施防范策略,首先取决于当前系统的安全性。对网络安全的各元素——防火墙、漏洞扫描、入侵检测和反病毒等进行风险评估也是很有必要的。防火墙技术作为时下比较成熟的一 种技术,其安全性直接关系到用户的切身利益。针对网络安全元素——防火墙技术,判断系统的安全等级,实现对目标网络的网络安全风险评估,为提高系统的安全性提供科学依据。对网络安全的威胁主要表现在:非授权访问,冒充合法用户,破坏数据完整性,干扰系统的安全等级;其中,对网络安全的威胁表现在:非授权访问,冒充合法用户,破坏数据完整性,干扰正常运行,利用网络传播病毒,线路窃听等方面,实现对目标网络的网络安全风险评估以及对风险的防范,为提高系统的安全性提供科学依据。
1. 防火墙概述
1.1防火墙的定义
所谓“防火墙”,是在两个网络之间执行说控制策略的一个或一组系统,包括硬伯和软件,目的是保护网络不被他人侵扰。它是一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信。
防火墙是由管理员为保护自己的网络免遭外界非授权访问但又允许与因特网连接而发展起来的。防火墙可以看成是安装在两个网络之间的一道栅栏,根据安全计划和安全策略中的定义来保护其后面的网络。
1.2 防火墙的类型及其各类型的特点、原理及基本功能
(1)防火墙的类型
防火墙的类型有个人防火墙、网络层防火墙、应用层防火墙。
◆个人防火墙
个人防火墙是防止您电脑中的信息被外部侵袭的一项技术,在您的系统中监控、阻止任何未经授权允许的数据进入或发出到互联网及其他网络系统。个人防火墙产品如著名Symantec公司的诺顿、Network Ice公司的BlackIce Defender、McAfee公司的思科及Zone Lab的 free ZoneAlarm 等,都能帮助您对系统进行监控及管理,防止特洛伊木马、spy-ware 等病毒程序通过网络进入您的电脑或在您未知情况下向外部扩散。这些软件都能够运行于整个系统中或针对对个别程序、项目,所以在使用时十分方便及实用。
◆网络层防火墙
网络层防火墙可视为一种 IP 封包过滤器,运作在底层的 TCP/IP 协议堆栈上。我们可以以枚举的方式,只允许符合特定规则的封包通过,其余的一概禁止穿越防火墙。这些规则通常可以经由管理员定义或修改,不过某些防火墙设备可能只能套用内置的规则。
◆应用层防火墙
应用层防火墙是在 TCP/IP 堆栈的“应用层”上运作,您使用浏览器时所产生的数据流或是使用 FTP 时的数据流都是属于这一层。应用层防火墙可以拦截进出某应用程序的所有封包,并且封锁其他的封包(通常是直接将封包丢弃)。理论上,这一类的防火墙可以完全阻绝外部的数据流进到受保护的机器里。
(2) 防火墙的基本功能
●防火墙能够强化安全策略
因为因特网上每天都有上百万人浏览信息、交换信息,不可避免地会出现个别品德不良或违反规则的人。防火墙是为了防止不良现象发生的“交通”,它执行站点的安全策略,仅仅容许“认可的”和符合规则的请求通过。
●防火墙能有效地记录因特网上的活动
因为所有进出信息都必须通过防火墙,所以防火墙非常适用收集关于系统和网络使用和误用的信息。作为访问的唯一点,防火墙记录着被保护的网络和外部网络之间进行的所有事件。
●防火墙暴露用户点
防火墙驹用来隔开网络中的一个网段与另一个网段。这样,就能够有效控制影响一个网段的问题通过整个网络传播。
●防火墙是一个安全策略的检查站
所有进出网络的信息都必须通过防火墙,防火墙便成为一个安全检查点,使可疑的访问被拒绝于门外。
1.3. 防火墙的体系结构
目前,防火墙的体系结构一般有3种:双重宿主主机体系结构、主机过滤体系结构和子网过滤体系结构。
(1)双重宿主主机体系结构
双重宿主主机体系结构是围绕具有双重宿主的主体计算机而构筑的。该计算机至少有两个网络接口,这样的主机可以充当与这些接口相连的网络之间的路由器,并能够从一个网络向另一个网络发送IP数据包。防火墙内部的网络系统能与双重宿主主机通信,同时防火墙外部的网络系统(在因特网上)也能与双重宿主主机通信。通过双重宿主主机,防火墙内外的计算机便可进行通信了。
双重宿主主机的防火墙体系结构是相当简单的,双重宿主主机位于两者之间,并且被连接到因特网和内部的网络。
(2)主机过滤体系结构
双重宿主主机结构中提供安全保护的是一台同时连接在内部与外部网络的双重宿主主机。而主机过滤体系结构则不同,在主机过滤体系结构中提供安全保护的主机仅仅与内部网络相连。另外,主机过滤体系结构还有一台单独的路由器。在这种体系结构中,主要的安全由数据包过滤提供。
(3)子网过滤体系结构
子网过滤体系结构添加了额外的安全层到主机过滤体系结构中,即通过添加参数网络,更进一步地把内部网络与因特网隔离开。
2. 目前防火墙中的最新技术及发展情况
由于传统的防火墙设置在网络边界,位于内、外部互联网之间,所以称为"边界防火墙(Perimeter Firewall)"。随着人们对网络安全防护要求的提高,边界防火墙明显感觉到力不从心,因为给网络带来安全威胁的不仅是外部网络,更多的是来自内部网络。但边界防火墙无法对内部网络实现有效地保护,除非对每一台主机都安装防火墙,这是不可能的。基于此,一种新型的防火墙技术——分布式防火墙(Distributed Firewalls)技术产生了。由于其优越的安全防护体系,符合未来的发展趋势,所以这一技术一出现便得到许多用户的认可和接受,它具有很好的发展前景。
分布式防火墙的特点:主机驻留、嵌入操作系统内核、类似于个人防火墙、适用于服务器托管。
分布式防火墙的功能:Internet访问控制、应用访问控制、网络状态监控、黑客攻击的防御、日志管理、系统工具。
分布式防火墙的优势:
(1)增强了系统安全性:增加了针对主机的入侵检测和防护功能,加强了对来自内部攻击防范,可以实施全方位的安全策略。
(2)提高了系统性能:消除了结构性瓶颈问题,提高了系统性能。
(3)系统的扩展性:分布式防火墙随系统扩充提供了安全防护无限扩充的能力。
(4)实施主机策略:对网络中的各节点可以起到更安全的防护。
(5)应用更为广泛,支持VPN通信。
3. 数据包过滤处理原理分析
防火墙技术其实是基于对工作在网络层中的数据包的过滤,数据包的过滤原理要遵揗一些过滤规则:
(1)过滤规则
本系统采用的默认过滤规则是:默认接收所有的进入、外出和转发数据包;接收所有本地环路接口上的进出包。当要有选择地接收数据包时,本地的过滤规则需要进行相应的设置。比如:现在要拒绝IP地址为192.168.0.161(局域网内的一主机的IP地址)的主机与本地主机通信,在用户相应的选项卡中,填上这一I地址就是表示拒绝此IP地址主机向本机发出的所有数据包,这就是数据包的IP 过滤功能。
当然也要实现端口的过滤功能。比如:想禁止某一服务的业务功能,就可以在相应的IP 号下同时设置端口号,就是表示对任一用户的这一服务被禁止。其实,这只能对某一些常用的端口号进行过滤,如:对HTTP(端口80)进行过滤,就是禁止外部用户通过防火墙访问内部HTTP 服务器;对FTP(端口20,21)进行过滤,就是禁止外部主机通过防火墙访问内部FTP服务器。
数据处理模块用到的过滤规则将在用户界面中直接对规则数据库操作进而来设置要过滤的规则,而数据处理模块则从数据库中直接调用。因此,过滤规则是在数据库中定义,由用户在数据库操作界面上输入的,供底层应用程序调用。
(2)调用过滤规则数据库
程序调用过滤规则数据库来判断捕获的数据包头信息是否与过滤规则库中设置的IP 以及端口匹配。因此,它保存的是不被允许通过的IP 号或者端口号,在每次数据调用时,都要进行调用规则,如果与捕获到的数据包头信息符合,则丢弃该数据包,否则就允许该数据包通过。
首先要连接并打开过滤规则数据库,从规则库中读取被禁止的IP以及端口号,匹配后根据情况执行拒绝或者允许通过的命令。MySQL 数据库提供了一种数据库接口-CAPIs,MySQL数据库提供的CAPIs函数。CAPIs包含在mysqlclient库文件当中与MySQL 的源代码一块发行,用于连接到数据库和执行数据库查询。
4. 与过滤规则中的规则的对比
(1)数据包源或目的IP地址过滤
这项的目的是要检查IP包头,根据其IP源地址和目标地址作出放行/ 丢弃决定。如果数据包的源或目的IP 地址与我们设定的丢弃数据包的地址匹配,那么该数据包将被丢弃。首选要检查收到的数据包的源IP(在本程序中只对UDP数据报进行了实验,其它协议的数据包以此类推),若为本地地址则一定丢弃,其他地址则要应用过滤规则。
(2) 数据包传送协议过滤
仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,因此除地址之外还要对服务器的TCP/UDP 端口进行过滤。只要在数据捕获程序的检查出相应的数据包传输协议之后,在其后只要运行拒绝命令就行了。一般来说最好匹配规则就是IP 地址与端口结合起来,这样就是只针对某用户某一服务来拒绝,这样的选择性更加符合实际。
(3) 对数据包的否决
通过包过滤,防火墙可以拦截和检查捕获的数据包。当该数据包不符合过滤规则或者与过滤规则相一致时,防火墙就丢掉该数据包,并存入日志数据库。由于对数据包的否决是一外部命令,在C语言中可以用execlp()这一函数来执行外部命令。
(4)存入日志数据库
对数据包头分析处理后,可以得到此IP访问的源IP地址、目的IP 地址、端口以及被拒绝通过的情况。数据库的连接与上文所说的一样,因此,此处存入的是被拒绝的数据包头信息。
5.结束语
防火墙技术作为目前用来实现网络安全措施的一种用来拒绝未经授权用户的访问,阻止未经授权用户存取敏感数据,同时允许合法用户不受妨碍的访问网络资源的主要手段。如果使用得当,可以在很大程度上提高网络安全。但是没有一种技术可以百分之百地解决网络上的所有问题,比如防火墙虽然能对来自外部网络的攻击进行有效的保护,但对于来自网络内部的攻击却为力。事实上60%以上的网络安全问题来自网络内部。因此网络安全单靠防火墙是不够的,还需要有其它技术和非技术因素的考虑,如信息加密技术、身份验证技术、制定网络法规、提高网络管理人员的安全意识等等。
参考文献:
1)袁津生 吴砚农 《计算机网络安全基础》 北京:人民邮电出版社 2013
2)黎连业,张维,防火墙及其应用技术,清华大学出版社. 2004
3)程代伟,网络安全完全手册,电子工业出版社. 2006
4)李涛,网络安全概论,电子工业出版社. 2004