计算机网络安全与防火墙技术.docx

上传人:b****7 文档编号:9500214 上传时间:2023-02-05 格式:DOCX 页数:24 大小:30.41KB
下载 相关 举报
计算机网络安全与防火墙技术.docx_第1页
第1页 / 共24页
计算机网络安全与防火墙技术.docx_第2页
第2页 / 共24页
计算机网络安全与防火墙技术.docx_第3页
第3页 / 共24页
计算机网络安全与防火墙技术.docx_第4页
第4页 / 共24页
计算机网络安全与防火墙技术.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

计算机网络安全与防火墙技术.docx

《计算机网络安全与防火墙技术.docx》由会员分享,可在线阅读,更多相关《计算机网络安全与防火墙技术.docx(24页珍藏版)》请在冰豆网上搜索。

计算机网络安全与防火墙技术.docx

计算机网络安全与防火墙技术

发信人:

 wwwRainbow (毛毛牛), 信区:

 Security        

标  题:

 计算机网络安全与防火墙技术 

发信站:

 BBS 水木清华站 (Mon Jan 10 16:

52:

31 2000) 

 

               计算机网络安全与防火墙技术 

                                          学号:

19908064 

                                                        姓名:

李春华 

摘 要  防火墙技术的核心思想是在不安全的网际网环境中构造一个相对安全的子网环境 

. 本文介绍了防火墙技术的基本概念和系统结构,讨论了实现防火墙的两种主要技术手 

段:

一种是基于分组过滤技术(Packet filtering),它的代表是在筛选路由器上实现的 

防火墙功能;一种是基于代理技术(Proxy),它的代表是在应用层网关上实现的防火墙功 

能. 

关键词  网络安全,防火墙,分组过滤,代理,堡垒主机 

一 防火墙的概念与构成 

 所谓防火墙就是一个或一组网络设备(计算机或路由器等),可用来在两个或多个网络 

间加强访问控制. 它的实现有好多种形式,有些实现还是很复杂的,但基本原理原理却 

很简单. 你可以把它想象成一对开关, 一个开关用来阻止传输, 另一个开关用来允许传 

输. 

 设立防火墙的主要目的是保护一个网络不受来自另一个网络的攻击. 通常,被保护的 

网络属于我们自己,或者是我们负责管理的,而所要防备的网络则是一个外部的网络, 

该网络是不可信赖的,因为可能有人会从该网络上对我们的网络发起攻击,破坏网络安 

全. 对网络的保护包括下列工作:

拒绝XX的用户访问,阻止XX的用户存取 

敏感数据,同时允许合法用户不受妨碍地访问网络资源. 

不同的防火墙侧重点不同. 从某种意义上来说,防火墙实际上代表了一个网络的访问原 

则. 如果某个网络决定设定防火墙,那么首先需要由网络决策人员及网络专家共同决定 

本网络的安全策略(security policy),即确定那些类型的信息允许通过防火墙,那些类 

型的信息不允许通过防火墙. 防火墙的职责就是根据本单位的安全策略,对外部网络与 

内部网络交流的数据进行检查,符合的予以放行,不符合的拒之门外. 

  在设计防火墙时,除了安全策略以外,还要确定防火墙类型和拓扑结构. 一般来说 

,防火墙被设置在可信赖的内部网络和不可信赖的外部网络之间. 防火墙相当于一个控 

流器,可用来监视或拒绝应用层的通信业务, 防火墙也可以在网络层和传输层运行,在 

这种情况下,防火墙检查进入和离去的报文分组的IP和TCP头部,根据预先设计的报文分 

组过滤规则来拒绝或允许报文分组通过. 

防火墙是用来实现一个组织机构的网络安全措施的主要设备. 在许多情况下需要采用验 

证安全和增强私有性技术来加强网络的安全或实现网络方面的安全措施. 本文主要介绍 

下列防火墙的基本构件和技术:

筛选路由器(screening router)、分组过滤(packet fi 

ltering)技术、双宿主机(dual-homed host)、代理服务 (Proxy Service)、应用层网关 

(application level gateway)和堡垒主机(bastion host). 象筛选路由器这样的能够实 

现安全措施的路由器常常被称为安全路由器或安全网关,而实现安全管理的应用层网关 

又称为安全应用层网关. 

二  防火墙的基本构件和技术 

2.1筛选路由器 (Screening Router) 

许多路由器产品都具有根据给定规则对报文分组进行筛选的功能,这些规则包括协议的 

类型、特定协议类型的源地址和目的地址字段以及作为协议一部分的控制字段. 例如在 

常用的Cisco路由器上就具有这种对报文分组进行筛选的功能,这种路由器被称为筛选路 

由器. 最早的Cisco路由器只能根据IP数据报头部内容进行过滤,而目前的产品还可以根 

据TCP端口及连接建立的情况进行过滤, 而且在过滤语法上也有了一定改进. 

筛选路由器提供了一种强有力的机制,可用于控制任何网络段上的通信业务类型. 而通 

过控制一个网络段上的通信业务类型,筛选路由器可以控制该网络段上网络服务的类型 

,从而可以限制对网络安全有害的服务. 

筛选路由器可以根据协议类型和报文分组中有关协议字段的值来区别不同的网络通信业 

务. 路由器根据与协议相关的准则来区别和限制通过其端口的报文分组的能力被称为报 

文分组过滤. 因此,筛选路由器又称为分组过滤路由器. 下面我们首先介绍应用筛选路 

由器时需要考虑的安全防线设置问题,以及筛选路由器与OSI模型的关系,分组过滤技术 

将在下一节讨论. 

识别危险区域 

根据1996年1月的统计,连入INTERNET的网络大约为60,000个左右,主机总数则已超过9 

00万台. 由于INTERNET上有如此众多的用户,其中难免有少数居心不良的所谓“黑客” 

. 这种情况就象迁入一个大城市时会遇到犯罪问题一样. 在大城市中,使用带锁的门来 

保护我们的居室是明智之举. 在这种环境下要求凡事要小心谨慎,因此当有人来敲我们 

的门时,应首先查看来人,再决定是否让来人进入. 如果来人看起来很危险(安全风险很 

高),则不应让其进来. 类似地,筛选路由器也通过查看进入的分组来决定它们当中是否 

有可能有害的分组. 企业网络中的边界被称为安全环形防线. 由于在INTERNET上危险的 

“黑客”很多,确定一个危险区域是很有用的. 这个危险区域就是指通过INTERNET可以 

直接访问的所有具有TCP/IP功能的网络. 这里“具有TCP/IP功能”是指一台主机支持TC 

P/IP协议和它所支持的上层协议. “直接访问”是指在INTERNET和企业网络的主机之间 

没有设置强有力的安全措施(没有“锁门”). 

从我们自己的角度上看,INTERNET中的地区网、国家网和主干网都代表着一个危险区域 

,在危险区域内的主机对于外来攻击的防范是很脆弱的. 因此,我们当然希望把自己的 

网络和主机置于危险区域之外. 然而,没有相应的设备去拦截对自己网络的攻击,则危 

险区域将会延伸至自己的网络上. 筛选路由器就是这样一种设备,它可以用来减小危险 

区域,从而使其不能渗透到我们网络的安全防线之内. 

在我们的企业网络中,可能不是所有的主机都具有TCP/IP功能. 即使这样,这些非TPC/ 

IP主机也可能成为容易攻击的,尽管从技术上说它们不属于危险区域. 如果一台非TCP/ 

IP主机与一台TCP/IP主机相连,就会发生这种情况. 入侵者可以使用一种TCP/IP主机和 

非TCP/IP主机都支持的协议来通过TCP/IP主机访问非TCP/IP主机,例如:

如果这两台主 

机都连在同一个以太网网段上,入侵者就可以通过以太网协议去访问非TCP/IP主机. 

筛选路由器本身不能够消除危险区域. 但它们可以极为有效地减小危险区域. 

筛选路由器和防火墙与OSI模型的关系 

 按照与OSI模型的关系将筛选路由器和防火墙进行比较. 筛选路由器的功能相当于OSI模 

型的网络层(IP协议)和传输层(TCP协议). 防火墙常常被描述为网关,而网关应可以在O 

SI模型的所有七个层次上执行处理功能. 通常,网关在OSI模型的第七层(应用层)执行处 

理功能. 对于大多数防火墙网关来说,也确实如此. 

防火墙可以执行分组过滤功能,因为防火墙覆盖了网络层和传输层. 某些厂商,可能是 

由于市场营销策略,模糊了筛选路由器和防火墙之间的区别,将他们的筛选路由器产品 

称为防火墙产品. 为了清晰起见,我们根据OSI模型对筛选路由器和防火墙加以区别. 

有些时候,筛选路由器也被称为分组过滤网关. 使用“网关”这一术语来称呼分组过滤 

设备可能有以下理由,即在传输层根据TCP标志执行的过滤功能不属于路由器的功能,因 

为路由器运行在OSI模型的网络层. 在网络层以上运行的设备也被称为网关. 

2.2分组过滤 (Packet Filtering) 技术 

筛选路由器可以采用分组过滤功能以增强网络的安全性. 筛选功能也可以由许多商业防 

火墙产品和一些类似于Karlbridge的基于纯软件的产品来实现. 但是,许多商业路由器 

产品都可以被编程以用来执行分组过滤功能. 许多路由器厂商,象Cisco、Bay Network 

s、3COM、DEC、IBM等,他们的路由器产品都可以用来通过编程实现分组过滤功能. 

分组过滤和网络安全策略 

分组过滤可以用来实现许多种网络安全策略. 网络安全策略必须明确描述被保护的资源 

和服务的类型、重要程度和防范对象. 

通常,网络安全策略主要用于防止外来的入侵,而不是监控内部用户. 例如,阻止外来 

者入侵内部网络,对一些敏感数据进行存取和破坏网络服务是更为重要的. 这种类型的 

网络安全策略决定了筛选路由器将被置于何处,以及如何进行编程用来执行分组过滤.  

良好的网络安全的实现同时也应该使内部用户难以妨害网络安全,但这通常不是网络安 

全工作的重点. 

网络安全策略的一个主要目标是向用户提供透明的网络服务机制. 由于分组过滤执行在 

OSI模型的网络层和传输层,而不是在应用层,所以这种途径通常比防火墙产品提供更强 

的透明性. 我们曾经提到防火墙在OSI模型应用层上运行,在这个层次实现的安全措施通 

常都不够透明. 

一个分组过滤的简单模型 

一个分组过滤装置常被置于一个或几个网段与其他网段之间. 网段通常被分为内部网段 

和外部网段,外部网段将你的网络连向外部网络,例如INTERNET;内部网段用来连接一 

个单位或组织内部的主机和其它网络资源. 

在分组过滤装置的每一个端口都可以实施网络安全策略,这种策略描述通过该端口可存 

取的网络服务的类型. 如果同时有许多网段同该过滤装置相连,则分组过滤装置所实施 

的策略将变得很复杂. 一般来说,在解决网络安全问题时应该避免过于复杂的方案,其 

原因如下:

 

*难于维护, 

*在配置过滤规则时容易发生错误, 

*执行复杂的方案将对设备的性能产生负作用. 

在许多实际情况下,一般都只采用简单模型来实现网络安全策略. 在这个模型中只有两 

个网段与过滤装置相连,典型的情况是一个网段连向外部网络,另一个连向内部网络.  

通过分组过滤来限制请求被拒绝服务的网络通信流. 由于分组过滤规则的设计原则是有 

利于内部网络连向外部网络,所以在筛选路由器两侧所执行的过滤规则是不同的. 换句 

话说,分组过滤器是不对称的. 

分组过滤器的操作 

当前,几乎所有的分组过滤装置(筛选路由器或分组过滤网关)都按如下方式操作:

 

(1) 对于分组过滤装置的有关端口必须设置分组过滤准则,也称为分组过滤规则. 

(2) 当一个分组到达过滤端口时,将对该分组的头部进行分析. 大多数分组过滤装置只 

检查IP、TCP或UDP头部内的字段. 

(3) 分组过滤规则按一定的顺序存贮. 当一个分组到达时,将按分组规则的存贮顺序依 

次运用每条规则对分组进行检查. 

(4) 如果一条规则阻塞传递或接收一个分组,则不允许该分组通过. 

(5) 如果一条规则允许传递或接收一个分组,则允许该分组通过. 

(6) 如果一个分组不满足任何规则,则该分组被阻塞. 

  

从规则4和5,我们可以看到到将规则按适当的顺序排列是非常重要的. 在配置分组过滤 

规则时一个常犯的错误就是将分组过滤规则按错误的顺序排列. 如果一个分组过滤规则 

排序有错,我们就有可能拒绝进行某些合法的访问,而又允许访 问本想拒绝的服务. 

规则6遵循守以下原则:

未被明确允许的就将被禁止. 

这是一个在设计安全可靠的网络时应该遵循的失效安全原则. 与之相对的是一种宽容的 

原则,即:

没有被明确禁止的就是允许的. 

如果采用后一种思想来设计分组过滤规则,就必须仔细考虑分组过滤规则没有包括的每 

一种可能的情况来确保网络的安全. 当一个新的服务被加入到网络中时,我们可以很容 

易地遇到没有规则与之相匹配的情况. 在这种情况下,不是先阻塞该服务,从而听取用 

户因为合法的服务被阻塞而抱怨,然后再允许该服务,我们也可以以网络安全风险为代 

价来允许用户自由地访问该服务,直到制定了相应的安全规则为止. 

2.3 双宿主机 (Dual-Homed Host) 

在TCP/IP网络中,术语多宿主机被用来描述一台配有多个网络接口的主机. 通常,每一 

个网络接口与一个网络相连. 在以前,这种多宿主机也可以用来在几个不同的网段间进 

行寻径,术语网关用来描述由多宿主机执行的寻径功能. 但近年来人们一般用术语路由 

器来描述这种寻径功能,而网关则用于描述相当于OSI模型上几层中所进行的寻径功能. 

 

如果在一台多宿主机中寻径功能被禁止了,则这个主机可以隔离与它相连的网络之间的 

通信流量;然而与它相连的每一个网络都可以执行由它所提供的网络应用,如果这个应 

用允许的话,它们还可以共享数据. 

在双宿主机防火墙中禁止寻径 

大多数防火墙建立在运行UNIX的机器上. 证实在双宿主机防火墙中的寻径功能是否被禁 

止是非常重要的;如果该功能没有被禁止,你必须知道如何去禁止它. 

为了在基于UNIX的双宿主机中禁止进行寻径,需要重新配置和编译内核. 在BSD UNIX系 

统中该过程如下所述. 

使用MAKE命令编译UNIX系统内核. 使用一个叫做CONFIG的命令来读取内核配置文件并生 

成重建内核所需的文件. 内核配置文件在/usr/sys/conf或 /usr/src/sys目录下. 在使 

用Intel硬件的BSDI UNIX平台上,配置文件在/usr/src/sys/i386/conf目录下. 

为检查你所使用的是哪一个内核配置文件,你可以对内核映像文件使用strings命令并查 

找操作系统的名字. 例如:

 

% strings /bsd | grep BSD 

BSDI $Id:

 if_pe.c, v 1.4 1993/02/21 20:

35:

01 karels Exp $ 

BSDI $Id:

 if_petbl.c, v 1.2 1993/02/21 20:

36:

09 karels Exp $ 

BSD/386 

@(#)BSDI BSD/386 1.0 kernel #0:

 Wed Mar 24 17:

23:

44 MST 1993 

polk@hilltop.BSDI.COM:

/home/hilltop/polk/sys.clean/compile/GENERIC 

最后一行说明当前的配置文件是GENERIC. 

进入配置文件目录(/usr/src/sys/i386/conf),将文件GENERIC复制到一个新的配置文件 

中,其名字应对新的配置有所启发. 例如,你可以将这个文件称为FIREWALL或LOCAL. 

cd /usr/src/sys/i386/conf 

cp GENERIC FIREWALL 

下一步,编辑文件FIREWALL中的选项参数IPFORWARDING,将其值改为- 1,代表“不转发 

任何IP数据报”. 这个变量的作用是设置内核变量ipforwarding的值,从而禁止IP转发 

options IPFORWARDING=-1 

在某些其它的系统上,你看到的可能不是IPFORWARDING参数,而是:

 

options GATEWAY 

为禁止IP分组的转发,可以将一个#号放在这一行的起始处,将这句话注释掉. 

#options GATEWAY 

同时,检验下列TCP/IP内核配置语句是否存在:

 

options INET # Internet Protocol support is to be included 

pseudo-device loop # The loop back device is to be defined (127.0.0.1) 

pseudo-device ehter # Generic Ethernet support such as ARP functions 

pseudo-device pty # pseudo teletypes for telnet /rlogin access 

device we0 at isa?

 port 0x280 # Could be different for your Ethernet interfa 

ce 

运行CONFIG命令来建立LOCAL目录,然后进入该目录:

 

config LOCAL 

cd ../../compile/LOCAL 

然后,运行MAKE命令来建立必要的相关部件和内核:

 

make depend 

make 

将内核映像复制到根目录下,然后重新启动(reboot):

 

cp /bsd /bsd.old 

cp bsd /bsd 

reboot 

现在,这台主机可以用来作为双宿主机防火墙了. 

怎样破坏双宿主机防火墙的安全 

了解双宿主机防火墙的安全性是如何被破坏的是很有用的,因为这样一来你就可以采取 

相应的措施来防止发生这种破坏. 

对安全最大的危胁是一个攻击者掌握了直接登录到双宿主机的权限. 登录到一个双宿主 

机上总是应该通过双宿主机上的一个应用层代理进行. 对从外部不可信任网络进行登录 

应该进行严格的身份验证 

如果外部用户获得了在双宿主机上进行登录的权利,那么内部网络就容易遭到攻击. 这 

种攻击可以通过以下任何一种方式来进行:

 

  1)通过文件系统上宽松的许可权限制 

  2)通过内部网络上由NFS安装的卷 

  3)利用已经被破坏了的用户帐号,通过在这类用户的主目录下的主机等价文件,如 

.rhosts,来访问由Berkeley r*工具授权的服务 

  4)利用可能恢复的过分访问权的网络备份程序 

  5)通过使用没有适当安全防范的用于管理的SHELL脚本 

  6)通过从没有适当安全防范的过时软件的修订版和发行文档来掌握系统的漏洞 

  7)通过安装允许IP传递的老版本操作系统内核,或者安装存在安全问题的老版本操 

作系统内核. 

   如果一台双宿主机失效了,则内部网络将被置于外部攻击之下,除非这个问题很快被 

查出并解决. 

在前面,我们已经了解到UNIX内核变量ifrorwarding控制着是否允许进行IP路由选择.  

如果一个攻击者获得了足够的系统权限,则这个攻击者就可以改变这个内核变量的值, 

从而允许IP转发. 在允许IP转发后,防火墙机制就会被旁路掉了. 

双宿主机防火墙上的服务 

除了禁止IP转发,你还应该从双宿主机防火墙中移走所有的影响到安全的程序、工具和 

服务,以免落入攻击者的手中. 下面是UNIX双宿主机防火墙的一部分有用的检查点:

 

  1)移走程序开发工具:

编译器、链接器等. 

  2)移走你不需要或不了解的具有 SUID和SGID权限的程序. 如果系统不工作,你可 

以移回一些必要的基本程序. 

  3)使用磁盘分区,从而使在一个磁盘分区上发动的填满所有磁盘空间的攻击被限制 

在那个磁盘分区当中. 

  4)删去不需要的系统和专门帐号. 

  5)删去不需要的网络服务,使用netstat -a来检验. 编辑/etc/inetd.conf和/etc 

/services文件,删除不需要的网络服务定义. 

2.4代理服务和应用层网关 

代理服务 (Proxy Service) 

代理服务使用的的方法与分组过滤器不同,代理(Proxy)使用一个客户程序(或许经过修 

改),与特定的中间结点连接,然后中间结点与期望的服务器进行实际连接. 与分组过滤 

器所不同的是, 使用这类防火墙时外部网络与内部网络之间不存在直接连接. 因此,即 

使防火墙发生了问题,外部网络也无法与被保护的网络连接. 中间结点通常为双宿主机 

代理服务可提供详细的日志记录(log)及审计(audit)功能, 这大大提高了网络的安全性 

,也为改进现有软件的安全性能提供了可能性. 代理服务器可运行在双宿主机上,它是 

基于特定应用程序的. 为了通过代理支持一个新的协议,必须修改代理以适应新协议.  

在一个称为SOCKS的免费程序库中包括了与许多标准系统调用基本兼容的代理版本,如S 

OCKS()、BIND()、CONNECT()等. 在URL统一资源定位地址ftp:

// 

pub/security/sock.cstc中可以得到该程序. 

代理服务通常由两个部分构成:

 代理服务器程序和客户程序. 相当多的代理服务器要求 

使用固定的客户程序. 例如SOCKS要求适应SICKS的客户程序. 如果网络管理员不能改变 

所有的代理服务器和客户程序, 系统就不能正常工作. 代理使网络管理员有了更大的能 

力改善网络的安全特性. 然而,它也给软件开发者、网络系统员和最终用户带来了很大 

的不便,这就是使用代理的代价. 也有一些标准的客户程序可以利用代理服务器通过防 

火墙运行,如mail、FTP和telnet等. 即便如此,最终用户也许还需要学习特定的步骤通 

过防火墙进行通信. 

透明性对基于代理服务企的防火墙显然是一个大问题. 即使是那些声称是透明性防火墙 

的代理也期望应用程序使用特定的TCP或UDP端口. 假如一个节点在非标准端口上运行一 

个标准应用程序, 代理将不支持这个应用程序. 许多防火墙允许系统管理员运行两个代 

理拷贝, 一个在标准端口运行,另一个在非标准端口运行,常用服务的最大数目取决于 

不同的防火墙产品. 

基于代理服务的防火墙厂商正在开始解决这个问题. 基于代理的产品开始改进成能够设 

置常用服务和非标准端口. 然而,只要应用程序需要升级,基于代理的用户会发现他们 

必须发展新的代理. 一个明显的例子是许多的Web浏览器中加入了大量的安全措施. 防火 

墙的购买者应留心询问防火墙厂商他们的产品到底能处理哪些应用程序. 另外, 基于代 

理服务器的防火墙常常会使网络性能明显下降. 相当多的防火墙不能处理高负载的网络 

通信. 

应用层网关 

应用层网关可以处理存储转发通信业务,也可以处理交互式通信业务. 通过适当的程序 

设计,应用层网关可以理解在用户应用层(OSI模型第七层)的通信业务. 这样便可以在用 

户层或应用层提供访问控制,并且可以用来对各种应用程序的使用情况维持一个智能性 

的日志文件. 能够记录和控制所有进出通信业务,是采用应用层网关的主要优点. 在需 

要时,在网关本身中还可以增加额外的安全措施. 

对于所中转的每种应用,应用层网关需要使用专用的程序代码. 由于有这种专用的程序 

代码,应用层网关可以提供高可靠性的安全机制. 每当一个新的需保护的应用加入网络 

中时,必须为其编制专门的程序代码. 正是如此,许多应用层网关只能提供有限的应用 

和服务功能. 

为了使用应用层网关,用户或者在应用层网关上登录请求,或者在本地机器上使用一个 

为该服务特别编制的程序代码. 每个针对特定应用的网关模块都有自己的一套管理工具 

和命令语言. 

  采用应用层网关的一个缺陷是必须为每一项应

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

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1