第7章 防 火 墙 技 术 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成

Slides:



Advertisements
Similar presentations
网络安全.
Advertisements

计算机网络原理与实用技术 陈涛 华中科技大学公共管理学院 2009年2月.
大学计算机基础—— 系统工具与环境 (理工科用) 赵 欢 肖德贵 李丽娟 洪跃山 编著.
1 项目一 计算机网络概论 2 项目二 计算机网络协议与体系结构 3 项目三 物理层基础与应用 4 项目四 数据链路层基础与应用 5 项目五 网络层基础与应用 6 项目六 传输层的基础与应用 7 项目七 应用层的基础与应用 8 项目八 网络管理与网络安全.
项目四:Internet基础与接入方法 第八章 应用服务器安装配置
先介绍计算机网络基础知识,再分析网络视频监 控系统的架构、原理与维护。
本周复习一下基本的网络知识 下周开始讲解路由器的配置方法 第四周开始到实验室做实验(主楼910,919)
《网络基础与Internet应用》.
第6章 计算机网络基础 1.
第七章 Internet 基础与应用 第一节 主机名字与域名服务 第二节 Internet的域名体系 第三节 主机名字的书写方法
第一章 概述 第二章 用户需求分析 第三章 现有网络分析 第四章 逻辑网络设计 第五章 网络设备选择 第六章 WAN接入设计
第一章 概 述.
第6章 网络基础及Internet应用 6.1 计算机网络概述 6.2 计算机网络的组成 6.3 Internet基础
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
因特网 TCP/IP协议 IP路由技术 Internet接入技术 Internet服务.
第二章 电子商务技术基础.
电子商务概论 第二章 电子商务网络技术基础.
第九章 無線網路.
实训十四、IE浏览器的基本应用.
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
计算机网络.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机网络 暨南大学计算机科学系 学年 第一学期.
6.1 网络概述 6.2 Windows的网络功能 6.3 Internet概述 6.4 Internet的使用 6.5 网上浏览工具的使用
电子商务的网络技术 德州学院计算机系.
第1章 概述.
第2章 计算机网络体系结构 教学目标: 通过本章的学习,了解计算机网络体系结构和各个层次的相关协议,理解接口和服务等概念。掌握ISO/OSI模型和TCP/IP模型的各个层次及其所实现的功能。掌握IP地址的功能和划分,并对子网掩码和下一代互联网IPv6有相应的了解。
计算机系统安全 第10章 常用攻击手段.
第七章 电子政府的支撑技术 制作人:王 静.
網路基本概念與設定方法 林文宗 資管系助理教授
教学目的:通过本章的学习大家要掌握端口 教学重点:端口的分类的两大类,静态端口 教学难点:几种常见的端口.
网络地址转换(NAT) 及其实现.
第5章 网络软件 开发技术 (一) 软件开发技术基础 计算机教学实验中心.
本章导语 第六章 计算机网络基础 本章目录 本章重点  开始学习 思考问题.
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
網路概論.
第9章 電子商務安全防範.
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
David liang 数据通信安全教程 防火墙技术及应用 David liang
通訊協定 OSI分層模式 與 TCP/IP協定
华南师范大学 防火墙 华南师范大学
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
(C) Active Network CO., Ltd
第 16 章 Internet架構.
第五章 網際網路 5-1 網際網路的歷史沿革 5-2 網際網路基本運作原理 5-3 連線媒介與連線上網 5-4 網際網路上的熱門應用
第8單元 Internet以及線上資源 McGraw-Hill Education.
網路服務 家庭和小型企業網路 – 第六章.
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
信息存储与管理 国家天文台 (科技处)信息与计算中心.
Windows 2003 server 進階介紹 麋鹿.
預官考試輔導 計算機概論提要 91年12月4日.
認識網際網路 網際網路(Internet)簡介 WWW簡介 臺灣地區網路資源 網路禮儀與規範 收發電子郵件 相關程式與服務
考试题型 填空题(30) 选择题(20) 名词解释(10) 问答题(24) 计算题(16) 附加题(30) 成绩核算:
本章要点: 计算机网络的基本概念 Internet基础 Internet服务
NetST®防火墙培训教程 清华得实® 保留所有权利.
第十三章 TCP/IP 與 Internet 網路連結技術
7.7 Internet的基本服务功能 随着Internet的飞速发展,目前Internet上的各种服务已多达上万种,其中大多数服务是免费的。随着Internet商业化的发展趋势,它所能提供的服务将会进一步增多。 7.7.1 WWW服务 WWW(World Wide Web)的中文名为万维网,它的出现是Internet发展中的一个里程碑。WWW服务是Internet上最方便与最受用户欢迎的信息服务类型,它的影响力已远远超出了专业技术范畴,并已进入电子商务、远程教育、远程医疗与信息服务等领域。
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
Network Application Programming(3rd Edition)
防火墙.
3.1 通訊協定 3.2 開放系統參考模式(OSI) 3.3 公眾數據網路 3.4 TCP/IP通訊協定
3 電子商務技術.
傳輸控制協議 /互聯網協議 TCP/IP.
1.4 计算机网络体系结构与协议 引言 网络系统的体系结构 网络系统结构参考模型ISO/OSI
指導教授:梁明章 A 許之青 國立高雄大學 2010/06/25
Common Security Problems in Business and Standards
IP Layer Basics, Firewall, VPN, and NAT
第10讲 Web服务.
Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系
Presentation transcript:

第7章 防 火 墙 技 术 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成 7.5 防火墙所采用的技术及其作用 7.6 防火墙选择原则 7.7 防火墙建立实例

7.1 防 火 墙 概 念 基于Internet体系结构的网络应用有两大部分,即Intranet和Extranet。Intranet是借助Intranet的技术和设备在Intranet上构造出企业WWW网, 可放入企业全部信息,实现企业信息资源的共享; 而Extranet是在电子商务、协同合作的需求下,用Intranet间的通道获得其它网络中允许共享的、有用的信息。因此按照企业内部的安全体系结构,防火墙应当满足如下的要求:

(1) 保证对主机和应用安全访问;  (2) 保证多种客户机和服务器的安全性;  (3) 保护关键部门不受到来自内部和外部的攻击,为通过Internet与远程访问的雇员、客户、供应商提供安全通道。 因此,防火墙是在两个网络之间执行控制策略的系统(包括硬件和软件),目的是保护网络不被可疑人入侵。本质上, 它遵从的是一种允许或组织业余来往的网络通信安全机制,也就是提供可控的过滤网络通信, 或者只允许授权的通信。

图 7.1 防火墙配置示意图

防火墙是由IT管理员为保护自己的网络免遭外界非授权访问,但允许与Internet互连而发展起来的。从网际角度,防火墙可以看成是安装在两个网络之间的一道栅栏,根据安全计划和安全网络中的定义来保护其后面的网络。因此,从理论上讲,由软件和硬件组成的防火墙可以做到:  (1) 所有进出网络的通信流都应该通过防火墙;  (2) 所有穿过防火墙的通信流都必须有安全策略和计划的确认及授权;  (3) 防火墙是穿不透的。

利用防火墙能保护站点不被任意互连, 甚至能建立跟踪工具, 帮助总结并记录有关连接来源、服务器提供的通信量以及试图闯入者的任何企图。 由于单个防火墙不能防止所有可能的威胁, 因此, 防火墙只能加强安全,而不能保证安全。

7.2 防火墙原理及实现方法 7.2.1 防火墙的原理 1. 基于网络体系结构的防火墙原理 防火墙的主要目的是为了分隔Intranet和Extranet,以保护网络的安全。因此,从OSI的网络体系结构来看,防火墙是建立在不同分层结构上的、具有一定安全级别和执行效率的通信交换技术。 无论是OSI/RM还是TCP/IP RM都具有相同的实现原理, 如图7.2所示。

图 7.2 基于网络体系结构的防火墙实现原理

根据网络分层结构的实现思想, 若防火墙所采用的通信协议栈越是在高层,所能检测到的通信资源就越多,其安全级别也就越高, 但其执行效率却较差。反之,如果防火墙所采用的通信协议栈越在低层, 所能检测到的通信资源就越少, 其安装级别也就越低, 但其执行效率却较佳。

按照网络的分层体系结构,在不同的分层结构上实现的防火墙不同,所采用的实现方法技术和安全性能也就不尽相同, 通常有:  (1) 基于网络层实现的防火墙, 通常称为包过滤防火墙; (2) 基于传输层实现的防火墙, 通常称为传输级网关;  (3) 基于应用层实现的防火墙, 通常称为应用级网关;  (4) 整合上述所有技术, 形成混合型防火墙, 根据安全性能以进行弹性管理。

2. 基于Dual Network Stack防火墙的实现

基于Dual Network Stack的防火墙有效地保护了网络之间的通信和连接管理。从网际的角度看,Intranet被完全隔离而实现了安全保护; 从网络体系结构的角度看,在不同的分层协议栈上也有不同的防火墙实现技术,主要依赖于网络具体的协议结构。当然,对于内部和外部网络而言, 其协议结构有可能是不同的,因而具有更好的适应性和安全性。

7.2.2 防火墙的实现方法 1. 数据包过滤 防火墙通常就是一个具备包过滤功能的简单路由器,支持因特网安全。因为包过滤是路由器的固有属性,因而它是一种因特网互联更加安全的简单方法。  包过滤是一种简单而有效的方法。即通过拦截数据包,读出并拒绝那些不符合标准的包头,过滤掉不应入站的信息。

包是网络上信息流动的单位。在网上传输的文件一般在发送端被划分成一串数据包,经过网上的中间站点,最终传到目的地, 最后把这些包中的数据又重新组成原来的文件。  每个包有两个部分: 数据部分和包头。 包头中含有源地址和目标地址等信息。  包过滤器又称为过滤路由器,它把包头信息和管理员设定的规则表进行比较,如果有一条规则不允许发送某个包,路由器将会丢弃它。

每个数据包都包含有特定信息的一组报头, 其主要信息是:  (1) IP协议类型(TCP、 UDP和ICMP等);  (2) IP源地址;  (3) IP目标地址;  (4) IP选择域的内容;  (5) TCP或UDP源端口号;  (6) TCP或UDP目标端口号;  (7) ICMP消息类型。

另外,路由器也会得到一些在数据包头部信息中没有的有关数据包的其它信息。如数据包到达的网络接口和数据包出去的网络接口。 过滤路由器与普通路由器的差别主要在于,普通路由器只是简单地查看每一个数据包的目标地址,并且选取数据包发往目标地址的最佳路径。  如何处理数据包上的目标地址,一般有两种情况出现,即路由器知道如何发送数据包到目标地址,则发送数据包;路由器不知道如何发送数据包到目标地址,则返回数据包,并向源地址发送“不能到达目标地址”的消息。

作为过滤路由器,它将更严格地检查数据包,除了决定它是否能发送数据包到其它目标之外,过滤路由器还决定它是否应该发送。“应该”或者“不应该”由站点的安全策略决定,并由过滤路由器强制设置。过滤路由器放置在内部网络与因特网之间, 作用为:  (1) 过滤路由器将担负更大的责任,它不但需要执行转发及确定转发的任务,而且它是惟一的保护系统;  (2) 如果安全保护失败(或在侵袭下失败), 内部的网络将被暴露;

(3) 简单的过滤路由器不能修改任务;  (4) 过滤路由器能允许或否认服务,但它不能保护在一个服务之内的单独操作。如果一个服务没有提供安全的操作要求, 或者这个服务由不安全的服务器提供, 数据包过滤路由器则不能保护它。  包过滤的一个重要的局限是它不能分辨好的用户和不好的用户,它只能区分好的包和坏的包。包过滤只好工作在有黑白分明的安全策略的网中, 即内部人是好的, 外部人是不好的。

例如,对于FTP协议,包过滤就不十分有效,因为为完成数据传输,FTP允许连接外部服务器并使连接返回到端口21。 这甚至成为一条规则附加于路由器上, 即内部网络机器上的端口21可用于探查外部情况。另外,黑客们很容易“欺骗”这些路由器, 而防火墙则不同。 因此,在决定实施防火墙计划之前, 先要决定使用哪种类型的防火墙及设计。

2. 代理服务 代理服务是运行在防火墙主机上的一些特定的应用程序或者服务程序。防火墙主机可以是有一个内部网络接口和一个外部网络接口的双重宿主主机,也可以是一些可以访问因特网并可被内部主机访问的堡垒主机。这些程序接受用户对因特网服务的请求(最如文件传输FTP和远程登录 Telnet等),并按照安全策略转发它们到实际的服务。 所谓代理就是一个提供替代连接并且充当服务的网关。 代理也称之为应用级网关。  代理服务位于内部用户(在内部的网络上)和外部服务(在因特网上)之间。代理在幕后处理所有用户和因特网服务之间的通信以代替相互间的直接交谈。

透明是代理服务的一大优点。对于用户来说,代理服务器给出用户直接使用真正的服务器的假象;对于真正的服务器来说,代理服务器给出真正的服务器在代理主机上直接处理用户的假象(与用户真正的主机不同)。  代理服务如何工作? 让我们看看最简单的情况,即增加代理服务到双重宿主主机,如图7.4所示。

(a) 代理的实现过程; (b) 代理服务器技术细节 图 7.4 代理服务示意图 (a) 代理的实现过程; (b) 代理服务器技术细节

如图7. 4(a)所示,代理服务有两个主要的部件:代理服务器和代理客户。在图7 如图7.4(a)所示,代理服务有两个主要的部件:代理服务器和代理客户。在图7.4(a)中,代理服务器运行在双重宿主主机上。 代理客户是正常客户程序的特殊版本(即Telnet或者FTP客户), 用户与代理服务器交谈而不是面对远在因特网上的“真正的”服务器。此外,如果使用户遵循特定的步骤,正常的客户程序也能被用作代理客户端。代理服务器评价来自客户的请求,并且决定认可哪一个或否定哪一个。如果一个请求被认可,代理服务器代表客户接触到真正的服务器,并且转发从代理客户到真正的服务器的请求,并将服务器的响应传送回代理客户。

在一些代理系统中,可使用现有商用的软件,但要通过设置客户端用户过程使用它,而不是安装客户端客户代理软件。  代理服务器并非将用户的全部网络服务请求提交给因特网上的真正服务器,因为代理服务器能依据安全规则和用户的请求作出判断是否代理执行该请求,所以它能控制用户的请求。有些请求可能会被否决,比如,FTP代理就可能拒绝用户把文件往远程主机上传送,或者它只允许用户将某些特定的外部站点的围歼下载。代理服务可能对于不同的主机执行不同的安全规则,而不对所有主机执行同一个标准。

在应用中,如果数据流的实际内容很重要,并且需要控制,就应使用代理。例如一个应用代理可以用以限制FTP用户, 使得他们能够从Internet上得到文件,而不能把文件上载到Internet上。 

例如,某个Web服务器在防火墙外,有一个用户想访问它, 则需要在防火墙上设置一个代理服务器,允许用户的请求通过, 并试着用端口80与用户端口1080相连,再将所有请求重新定位到正确的地方。  可通过有选择的禁止一些HTTP方法的使用,来所强迫客户机和服务器访问预先选定的服务器或主机。例如,可控制哪些站点允许用户访问,哪些站点希望与自己的站点相连。

代理服务器可检查不同的协议以保护指令的完整性,包括滤去可疑的URL及其它的HTTP子集或不连贯或形式错误的HTML指令。  可通过滤掉已知的危险或陌生的数据或程序,来检阅从服务器传向客户机的语言。如果正确配置,代理服务器是非常安全的。它们是站点忠实的“看门狗”, 决不允许任何未经授权的联机进入。  一般在堡垒主机上,代理服务器还用于控制出入Web站点或任何内部网络的访问。图7.4(b)给出了代理服务器的技术细节。

尽管代理服务器很强大,若不仔细操作,也会给站点带来不利影响。 因此,设置代理服务器时,应做到:  (1) 打开所有输出TCP连接; (2) 允许SMTP和DNS进入邮件主机; (3) 允许FTP进入大于1024的端口。

7.3 防火墙体系结构 防火墙的主要目的是对网络进行保护,以防止其它网络的影响。通常,当你所处的网络需要保护时,你所防止的网络是不可信的外部网,同时也是安全入侵的发源地。因此,保护网 络包括阻止非授权用户访问敏感数据的同时,应该允许合法用户无妨碍地访问网络资源。

一般说来,防火墙置于内部可信网络和外部不可信网络之间。防火墙作为一个阻塞点来监视和抛弃应用层的网络流量(如图7 一般说来,防火墙置于内部可信网络和外部不可信网络之间。防火墙作为一个阻塞点来监视和抛弃应用层的网络流量(如图7.5所示)。防火墙也可以运行于网络层和传输层,它在此处检查接收和送出包的IP及TCP包头,并且丢弃一些包,这些包是基于已编程的包过滤器规则的。同时,防火墙是实施网络安全策略的主要工具,在许多情况下,需要身份验证、安全和增强保密技术来加强网络安全或实施网络安全策略的其它方面。

图7.5 防火墙操作

目前, 常见的防火墙体系结构有下列四种:  (1) 双宿主主机体系结构; (2) 堡垒主机过滤体系结构; (3) 过滤子网体系结构; (4) 应用层网关体系结构。

7.3.1 双宿主主机体系结构 在TCP/IP网络中,多宿主主机指具有多个网络接口的主机(如图7.6所示)。通常,每个网络接口都与网络互连。早期, 这种宿主主机也可以在网络段之间传送流量。网关过去是完成这些多宿主主机的路由功能, 今天, 路由器是用来完成路由功能,而网关则保留下来仅用于描述OSI模型层上相似的那部分功能。

图 7.6 典型多宿主主机

1. 双宿主主机体系结构的防火墙应用模式 1) 一个路由功能被禁止的双宿主主机防火墙 一个路由功能被禁止的双宿主主机防火墙如图7.7所示。图中网络1上的主机A可以访问双宿主主机上的应用程序A。类似的,主机B可以访问双宿主主机上的应用程序B。 由于双宿主主机上的这两个应用程序可以共享数据。使得主机A和B通过双宿主主机上的数据共享来交换信息, 此时在双宿主主机上相连的两个网络段之间没有网络流量的交换。这就是此方法的优点。

图 7.7 双宿主主机

2) 双宿主主机防火墙 双宿主主机可用于把一个内部网络从一个不可信的外部网络中分离出来(如图7.8所示)。 因为双宿主主机不能直接转发任何TCP/IP流量,所以它可以彻底阻塞内部和外部不可信网络间的任何IP流量。

图 7.8 作为防火墙的双宿主主机

3) 具有应用程序转发进程的双宿主主机防火墙 Internet服务,如邮件和新闻等本质上都是存储转发服务。 WWW网也可以认为是存储和转发,如“caching”和“proxy”。 如果这些服务运行于双宿主主机上,它们将加以配置,用来在网络之间传送应用程序服务。如果应用程序的数据必须穿过防火墙,则应用程序转发进程被创建,并可以在双宿主主机上运行(如图7.9所示)。由此可见,应用程序转发进程是用于在两个互连的网络之间转发应用程序需求的特殊软件。

图 7.9 具有应用程序转发进程的双宿主主机

4) 允许用户登录到双宿主主机防火墙 允许用户登录到双宿主主机,并且双宿主主机的外部网络接口访问外部服务(如图7.10 所示)。如果使用了应用程序转发器,那么应用程序的流量就不能穿过双宿主主机防火墙,除非应用程序转发器运行和配置在防火墙机器上,这是一种实施安全的策略,即“若没有明确允许,则就是被禁止”。如果用户被允许直接登陆到防火墙,那么防火墙的安全性就将受到危害, 这是因为双宿主主机防火墙是内部网络和外部网络相连的中心点。根据定义,双宿主主机防火墙处于危险区中,如果用户选择了较弱的密码,或者他的用户帐户密码泄漏,那么危险区可能延伸到内部网络,从而就失去了双宿主主机防火墙的作用。

图 7.10 标准用户登录到双宿主主机的不安全性简图

如果适当地记录用户的登录,那么当安全破坏问题被发现后,就有可能对登录到防火墙上的非授权用户进行跟踪; 如果用户不允许直接登录到双宿主主机防火墙上,那么,任何企图登录的用户都被登记为一个警告的事件,即存在一种潜在的不安全性因素。

5) 作为邮电转发器的双宿主主机防火墙 存储转发的应用实例是SMTP(邮件)。作为邮电转发器的双宿主主机防火墙(如图7.11所示),给出了已配置的双宿主主机在外部不可信网络和内部网络之间任意转发邮件消息的位置。

图 7.11 作为邮件转发器的双宿主主机

6) 作为新闻发送器的双宿主主机防火墙 图 7.12 作为新闻发送器的双宿主主机

7) 无配置的双宿主主机防火墙 图 7.13 无配置的双宿主防火墙

大多数防火墙是基于UNIX平台实施的,在一些UNIX实施中缺省的路由功能是允许的。因此,验证双宿主防火墙的路由功能是否被禁止就非常重要,如果没有禁止,就应该禁止它。

2. 双宿主防火墙的不安全隐患的消除 如果一个入侵者获得了对双宿主主机直接登录访问的权力, 这将构成最大的威胁。登录验证应该通过双宿主主机的应用程序代理完成。 一般来讲,来自外部不可信网络的登录需要有严格的身份验证。  对防火墙自身的访问要么通过控制台,要么取得远程访问权, 为了防止对防火墙的威胁,在系统中,任何用户的帐户都不能得到允许。  如果用户取得了对双宿主主机的登录访问权,内部网络就遭到了入侵,这些入侵可以通过以下的途径来实现对双宿主机防火墙的攻击。

(1) 文件系统上较弱的许可保护; (2) 内部网络NFS安装卷标;  (3) 通过对已入侵的用户帐号的用户主目录中, 等价的主机文件(如.rhosts)的分析,而遵照Berkeleyr*-设备的一些许可; (4) 网络备份程序可能允许过多的恢复;  (5) 使用了没被正式确认的管理性Shell的文本; (6) 从旧软件修订的高度来学习系统并且释放了一些尚未正式确认的纪录;

(7) 安装旧的具有IP转发允许的操作系统核心或者安装有明显安全漏洞的操作核心;  (8) 使用探查程序如tcpdump或etherfind来探查内部网络以寻找用户名和密码信息。  如果双宿主主机防范机制失败,内部网络将向潜在的入侵者敞开,除非问题被检测到并很快的得到校正。如UNIX核心变量ipforwarding控制IP路由器是否有效。如果入侵者得到了足够的系统特权,那么入侵者就可以改变这个核心变量的值并且允许IP转发。如果IP转发被允许,则防火墙的结构就被越过。

3. 双宿主主机防火墙应完成的服务 除了禁止IP转发外, 还应该清除所有危险的程序、实用工具以及服务,它们在入侵者手中是很危险的。下面是双宿主主机防火墙要完成的服务:  (1) 清除程序工具(编译器, 连接器等)。  (2) 清除不需要或不理解的,带SUID和SGID允许的程序。 如果无法工作,可以把一些必要的程序放回原处。对于一个有经验者来讲,可以建一个监控器, 当磁盘分区溢出时,则关闭双宿主机。

(3) 使用磁盘分区,从而将填满该分区上所有磁盘空间的入侵的危害限制在该分区上。 (4) 清除不需要的系统和帐户。  (5) 删除不需要的网络服务。用netstat-a命令验证你只拥有自己所必需的网络服务。编辑/etc/inetd.conf和/etc/服务文件并清除不需要的服务定义。  (6) 改变系统启动的文本,防止不需要程序的初始化,如路由/输出和某些路由支持程序。

7.3.2 堡垒主机过滤体系结构 堡垒主机是网络安全中的中心主机,它对网络安全至关重要, 所以更应该加强防卫。 要求网络管理员对堡垒主机就近实施监控。堡垒主机软件和系统安全要进行定期的审核,还应该定期检查一些关于潜在的安全破坏和企图对堡垒主机进行攻击的访问记录。前面介绍的双宿主主机是堡垒主机的一种特例。

1. 堡垒主机 堡垒主机是内部网在因特网(外部网)上的代表。按照设计要求,由于堡垒主机在因特网上是可见的,因此它是高度暴露的。正因为这个原因, 防火墙的建造者和防火墙的管理者应尽力给予其保护, 特别是在防火墙的安装和初始化的过程中应予以特别保护。  1) 建立堡垒主机的一般原则 设计和建立堡垒主机的基本原则有两条: 最简化原则和预防原则。

(1) 最简化原则 堡垒主机越简单,对它进行保护就越方便。堡垒主机提供的任何网络服务都有可能在软件上存在缺陷或在配置上存在错误, 而这些差错就可能使堡垒主机的安全保障出问题。因此, 在堡垒主机上设置的服务必须最少,同时对必须设置的服务软件只能给予尽可能低的权限。 

(2) 预防原则 尽管你已对堡垒主机严加保护,但还有可能被入侵者破坏, 对此你得有所准备,只有对最坏的情况加以准备,并设计好对策,才可能有备无患。对网络的其它部分施加保护时,也应考虑到“堡垒主机被攻破怎么办”。我们强调这一点的原因非常简单,就是因为堡垒主机是外部网最易接触到的机器,所以它也是最可能被首先攻击到的机器。由于外部网与内部网无直接连接,因此堡垒主机是试图破坏内部系统的入侵者首先到达的机器。

一旦堡垒主机被破坏,我们还得尽力让内部网仍处于安全保障之中。要做到这一点,必须让内部网只有在堡垒主机正常工作时才信任堡垒主机。 我们要仔细观察堡垒主机提供给内部网机器的服务,并根据这些服务的主要内容, 确定这些服务的可信度及拥有权。  另外,还有很多方法可用来加强内部网的安全性,比如, 可以在内部网主机上安装操作控制机制(设置口令、鉴别设备等), 或者在内部网与堡垒主机间设置包过滤。

2) 堡垒主机的种类 堡垒主机目前有以下三种类型:无路由双宿主主机、牺牲主机和内部堡垒主机。 无路由双宿主主机有多个网络接口,但这些接口间没有信息流。这种主机本身就可作为一个防火墙,也可作为一个更复杂防火墙结构的一部分。无路由双宿主主机的大部分配置雷同于其它堡垒主机,但就像我们后面讨论的那样,必须多加小心, 确保它没有路由。如果某台无路由双宿主主机就是一个防火墙, 必须在配置上考虑得较为周到,同时要小心谨慎地运行堡垒主机的例行程序。

有些用户可能想用一些无论使用代理服务还是包过滤都难以保障安全的网络服务或者一些对其安全性没有把握的服务,针对这种情况, 使用牺牲主机就非常有效。牺牲主机是一种上面没有任何需要保护信息的主机,同时它又不与任何入侵者想利用的主机相连,用户只有在使用某种特殊服务时才用到它。  牺牲主机除了可让用户随意登录外,其配置基本上与一般的堡垒主机一样。用户总是希望在堡垒主机上存有尽可能多的服务与程序,但出于安全性的考虑, 我们不可随意满足用户的要求, 也不能让用户在牺牲主机上太舒畅,否则会使用户越来越信任牺牲主机而违反设置牺牲主机的初衷。牺牲主机的主要特点是它易于被管理, 即使被侵袭也无碍内部网的安全。  

在大多数配置中,堡垒主机可与某些内部主机进行交互。 比如,堡垒主机可传送电子邮件给内部主机的邮件服务器,传送Usenet新闻给新闻服务器,与内部域名服务器协同工作等。这些内部主机其实是有效的次级堡垒主机,对它们就应像保护堡垒主机一样加以保护。我们可以在它们上面多放一些服务,但对它们的配置必须遵循与堡垒主机一样的过程。

3) 堡垒主机的选择 (1) 堡垒主机操作系统的选择 应该选择较为熟悉的系统作为堡垒主机的操作系统。一个配置好的堡垒主机是一个具有高度限制性的操作环境的软件平台, 所以对它的进一步开发与完善最好在其它机器上完成后再移植。 这样做也为在开发时与内部网的其它外设与机器交换信息提供了方便。

选择主机时,应该选择一个可支持有若干个接口,同时处于活跃状态并且能可靠地提供一系列内部网用户所需要的因特网服务的机器。如果站点内都是一些MS-DOS、Windows和Macintosh系统,那么在这些内部网站点的软件平台上,许多工具软件(如代理服务、 包过滤系统或其它提供SMTP、 DNS服务的工具软件)将不能运行。我们应该用诸如UNIX、 WindowsNT或者其它系统作为堡垒主机的软件平台。

UNIX是能提供因特网服务的最流行操作系统,当堡垒主机在UNIX操作系统下运行时,有大量现成的工具可供使用。 因此,在没有发现更好的系统之前,我们推荐使用UNIX作为堡垒主机的操作系统。同时,在UNIX系统下也易于找到建立堡垒主机的工具软件。

如果选用UNIX作为堡垒主机的操作系统,在版本选择上, 我们应选用自己最为熟悉的版本,同时该版本下的软件工具应比较齐全、丰富。如果我们的站点也是用某个版本的UNIX作为操作系统,那么,最好就选用该版本的UNIX作为堡垒主机的操作系统。如果我们有很多版本的UNIX可供选择,那就应选用户群最小的那个版本。这样做可使入侵者用预编译的方法来攻击堡垒主机的可能性减至最小(因为入侵者可能因无此版本的系统而无法预编译)。如果我们对UNIX一点都不了解,那就可任选一个UNIX版本。

(2) 堡垒主机的速度选择 作为堡垒主机的计算机并不要求有很高的速度。实际上, 选用功能并不十分强大的机器作为堡垒主机反而更好。除了经费问题外,选择机器只要物尽其用即可,因为在堡垒主机上提供服务的运算量并非很大。

人们经常用速度介于2~5MIPS的机器(如Sun[CD 人们经常用速度介于2~5MIPS的机器(如Sun[CD*2]3、 Micro VaxII或其它基于386、486的UNIX平台)作为堡垒主机, 这些机种对普通的使用已经足够了。对运算速度的要求主要由它的内部网和外部网的速度确定。网络在56 KB/s甚至1.544 MB/s(T1干线)速度下处理电子邮件、DNS、FTP和代理服务并不占用很多CPU资源。 但如若在堡垒主机上运行具有压缩/解压功能的软件(如NNTP)和搜索服务(如WWW)或有可能同时为几十个用户提供代理服务,那就需要更高速的机器了。 如果我们的站点在因特网上非常受欢迎,我们对外的服务也很多,那就需要由较快速度的机器来当堡垒主机。针对这种情况, 也可使用多堡垒主机结构。在因特网上提供多种连接服务的大公司一般均采用若干台大型高速的堡垒主机。

因为我们总是希望堡垒主机具有高可靠性,所以,在选择堡垒主机及它的外围设备时,应慎选产品。 另外,我们还希望堡垒主机具有高兼容性, 所以也不可选太旧的产品。在不追求纯粹的好CPU性能的同时我们要求它至少能支持同时处理几个网络的连接能力。这个要求使得堡垒主机的内存要大,并配置有足够大的交换空间。另外,如果在堡垒主机上要运行代理服务还需要有较大的磁盘空间作为存储缓冲。

(3) 堡垒主机的物理位置 有两条理由要求堡垒主机必须安置在较为安全的物理位置: ① 如若入侵者与堡垒主机有物理接触, 他就有很多我们无法控制的方法来攻破堡垒主机。 ② 对堡垒主机提供了许多内部网与因特网的功能性连接, 如果它被损坏或被盗,那整个站点与外部网就会脱离或完全中断。 对堡垒主机要细心保护,以免发生不测。应把它放在通风良好,温、湿度较为恒定的房间,是最好配备有空调和不间断电源。

(4) 堡垒主机在网络上的位置 堡垒主机应被放置在没有机密信息流的网络上,最好放置在一个单独的网络上。大多数以太网和令牌网的接口都可工作在混合模式, 在这种模式下,该接口可捕捉到与该接口连接的网络上的所有数据包,而不仅仅是那些发给该接口所在机器的地址的数据包。 其它类型的网络接口如FDDI就不能捕捉到接口所连接的网上的所有数据包,但根据不同的网络结构,它们能经常捕捉到一些并非发往该接口所在主机的数据包。

接口的这种功能在用Etherfind、Tcpdump程序对网络进行测试、分析和单步调试时非常有效,但这也为入侵者偷看他所在网段上的全部信息流提供了便利。这些信息流中包含有FTP、 Telnet、rlogin、机密邮件和NFS操作等。 应作好最坏打算, 假如堡垒主机被侵入,就不应该让侵入堡垒主机的入侵者方便地看到上述这些信息流。

解决以上问题的方法是将堡垒主机放置在参数网络上而不放在内部网上。正如我们前面讨论的那样,参数网络是内部网与因特网间的一层安全控制机制,参数网络与内部网是由网桥或路由器隔离的。内部网上的信息流对参数网络来讲是不可见的。 处在参数网络上的堡垒主机只可看到在因特网与参数网络间来往的信息流,虽然这些信息流有可能比较敏感,但其敏感性要比典型的内部网信息流低得多。用一个由包过滤路由器与内部网分隔的参数网络还可为我们带来益处,因为在这种结构中,如若堡垒主机被破坏,可使与堡垒主机交互的内部主机数目减少,从而减少了内部网的暴露程度。

即使我们无法将堡垒主机放置在参数网络上,也应该将它放置在信息流不太敏感的网络上。比如我们可将它接在智能型10-BASE T的集线器上、 以太网交换器上,或者ATM网上。 如果这样,由于在堡垒主机与内部网间已无其它保护措施,此时对堡垒主机的运行应加以特别关注。

4) 堡垒主机提供的服务: 堡垒主机应当提供站点所需求的所有与因特网有关的服务, 同时还要经过包过滤提供内部网向外界的服务。 任何与外部网无关的服务都不应该放置在堡垒主机上。  (1) 堡垒主机提供的服务:  ① 无风险服务 仅仅通过包过滤便可实施的服务;

② 低风险服务 在有些情况下这些服务运行时有安全隐患, 但增加一些安全控制措施便可消除安全问题, 这类服务只能由堡垒主机提供;  ③ 高风险服务 在使用这些服务时无法彻底消除安全隐患, 这类服务一般应被禁用,特别需要时也只能放置在主机上使用; ④ 禁用服务 应被彻底禁止使用的服务

(2) 堡垒主机应提供的其它服务:  ① FTP 文件传输服务;  ② WAIS 基于关键字的信息浏览服务;  ③ HTTP 超文本方式的信息浏览服务;  ④ NNTP Usenet新闻组服务;  ⑤ Gopher 菜单驱动的信息浏览服务。

为了支持以上这些服务,堡垒主机还应有域名服务(DNS)。域名服务很少单独使用,但必须由它将主机的名字翻译成IP地址。另外还要由它提供其它有关站点和主机的零散信息,所以它是实施其它服务的基础服务。  来自于因特网的入侵者可以利用许多内部网上的服务来破坏堡垒主机。因此应该将内部网上的那些不用的服务全部关闭。

值得注意的是,在堡垒主机上禁止使用用户帐户。如果有可能的话,在堡垒主机上应禁止使用一切用户帐户,即不准用户使用堡垒主机。 这样做会给堡垒主机带来最大的安全保障。 这是因为:  ① 帐户系统本身就易被攻破;  ② 对帐户系统的支撑软件一般也较易被攻破;  ③ 用户在堡垒主机上操作, 可能会无意地破坏堡垒主机的安全机制;  ④ 堡垒主机上较多的用户帐户。

5) 建立堡垒主机 我们在上面已介绍了堡垒主机应完成的工作, 而建立堡垒主机则应遵循以下步骤:  (1) 给堡垒主机一个安全的运行环境;  (2) 关闭机器上所有不必要的服务软件;  (3) 安装或修改必需的服务软件;  (4) 根据最终需要重新配置机器;  (5) 核查机器上的安全保障机制;  (6) 将堡垒主机连入网络。

在进行最后一步工作之前,必须保证机器与因特网是相互隔离的。如果内部网尚未与因特网相连,那我们应将堡垒主机完全配置好后方可让内部网与因特网相连;如果我们在一个已与因特网相连的内部网上建立防火墙,那就应该将堡垒主机配置成与内部网无连接的单独机器。如果在配置堡垒主机时被入侵,那这个堡垒主机就可能由内部网的防卫机制变成内部网的入侵机制。

6) 堡垒主机的监测 (1) 监测堡垒主机的运行 一旦完成了对堡垒主机的所有配置, 我们就可把它连到网上,但这并不意味着我们有关堡垒主机的工作已结束。我们必须时刻关注着它的运行情况。为了能监视堡垒主机的运行情况,应及时发现出现的异常现象,及早发现入侵者或系统本身的安全漏洞。在这里,我们必须详细了解正常系统运行时预处理文件的内容: (1) 一般在同一时刻大概会有几个作业在运行; (2) 每个作业一般花费多少CPU时间; (3) 一天内哪些时间是系统重载的时间。

(2) 自动检测堡垒主机 长时间的人工监测会使人感到非常疲劳,从而降低监测的质量。虽然系统自动产生的日志文件能提供许多有用的信息,但日志文件太大,在这个文件中仔细检查就会使人感到厌倦。甚至有些重要信息还会被人疏忽掉。另外还会发生这样的情况,当我们在看日志文件而停止系统生成日志时, 入侵者恰恰在这个时候登录。因此我们必须想办法让计算机来完成监测工作。  由于各站点的情况不一样,所使用的操作系统也千差万别, 各堡垒主机的配置也不尽相同,因此各站点对自动监测系统的要求也就不一样。比如,有些站点要求对电子邮件进行监测, 有些站点要求对系统管理员的操作进行跟踪等等。

7) 堡垒主机的保护与备份 在完成堡垒主机的配置并将它投入正常运行后, 要给它以较好的物理运行环境,并将有关软件做备份,将文档资料妥善保存。  在系统被黑客侵入时,有时系统会有很明显的反应,有时系统的反应并不明显,需要我们从系统的运行情况加以推测, 比如系统出现不可理解的重新启动或自动关闭就是迹象之一。 因为黑客如果改动内核并要使新的内核生效, 就必须将系统重新启动。

在一台运行正常的堡垒主机上,重新启动的现象是极少见的,系统的运行应该是非常平稳的。如果发生了以上现象,就应该立即进行仔细检查,确定这种现象到底是由系统中的合法问题引起的还是由入侵者造成的。  我们甚至可以这样来配置堡垒主机,使它在被其它用户执行reboot命令时不能正常启动。这样设置后,如果有人要强迫系统重新启动, 那机器就会自动停顿, 等待我们的处理。即使机器的重启功能不能被关闭,我们也可以在配置时将系统的启动系统定义为一个并不存在的磁盘以达到同样的目的。

在防火墙系统中,内部网与堡垒主机间应是互不信任的。 因为内部网主机可以认为堡垒主机已被入侵者破坏,而堡垒主机同样可以认为来自于内部网的一个用户有可能是伪装的入侵者。 因此要制作安全的备份就得费一番功夫。 通常在堡垒主机与内部网间的dump机制(如BSD dump和rdump命令)肯定已被包过滤系统阻断。由于堡垒主机应是一个稳定的系统,因而备份的制作频度可以稍低一些, 每周一次或每月一次便足够了。

堡垒主机的系统备份不仅仅是为系统瘫痪后而重建系统时用的,它也是我们检查系统是否被侵入的工具之一。像其它重要的备份一样, 妥善保管好堡垒主机的备份与保护机器本身同样重要。堡垒主机的备份包含着堡垒主机上所有的配置信息。 如果备份被黑客非法获取,那他可以很快找到最便捷的入侵方式, 并将系统的报警软件全部关闭。

2. 基于堡垒主机的防火墙应用模式 1) 网络中的防火墙配置符号表示法的定义(见表7.1) 表7.1 网络中的防火墙配置符号表示法的定义

2) 基于堡垒主机的防火墙应用模式 (1) B2配置的堡垒主机的防火墙 在B2配置(如图7.14所示)中,堡垒主机的最简单实用是作为第一个,也是惟一的外部网络流量的入口点。其缺点是, 因为堡垒主机作为与外部不可信网络的接口点,所以它们经常面临着入侵。

图 7.14 最简单的堡垒主机的使用(B2配置)

(2) SB1配置的堡垒主机的防火墙 在SB1配置(如图7.15所示)中,只有堡垒主机的网络接口是被配置的,这个网络接口是与内部网络接口相连的。过滤路由器的一个端口与内部网络相连,另一个端口接Internet,这种类型的配置称为被过滤的主机网关。

图 7.15 过滤路由器与堡垒主机(SB1配置)

SB1中必须配置过滤路由器,它可以把所有内部网络所接到的外部网络流量首先发送给堡垒主机。在它把流量转发给堡垒主机之前,过滤路由器将把它的过滤规则应用于包流量。只有通过过滤规则的网络流量才能转发到堡垒主机; 所有其它网络流量都被丢弃。这种双重防卫体系结构使网络安全在一定程度上进一步加强,这在B2中没有提到。入侵者必须首先穿透过滤路由器。如果入侵者设法穿过了过滤路由器,他还必须与堡垒主机竞争。

堡垒主机使用应用层功能来判定从外部网络发出的请求和对外部网络的请求是否被允许或拒绝。如果这些请求通过了堡垒主机的详细审查,它就可以将收到的流量转发给内部网络;对输出的流量(对外部网络的流量),请求转发给过滤路由器。图7.16显示了网络流量在内部和外部网络间的路径。

图 7.16 带过滤路由器和堡垒主机的网络流量路径

(3) 把包过滤卸载到IAP配置的堡垒主机的防火墙 一些企业采用Internet访问供给器(IAP)为送往该企业网络的网络流量提供包过滤器规则(如图7.17所示)。包过滤器仍然是第一位, 但是必须依靠IAP对包过滤器规则进行正确的管理。

图 7.17 IAP为内部提供包过滤

(4) 被过滤堡垒主机网关网络的路由配置防火墙 过滤路由器的路由表必须加以配置以便外部流量可以转发给堡垒主机。 过滤路由器的路由表应该加以保护,使其免受入侵和非法授权的修改。如果路由表的项目发生修改,那么流量就不能转发到堡垒主机而是直接转发给局部连接网络,堡垒主机就被越过了。 图7.18显示了过滤路由器的路由表指向堡垒主机的位置。 内部网络号是199.245.180.0,堡垒主机的IP地址是199.245.180.10。 过滤路由器在它的路由表中有下面的项目:   目的网络为199.245.180.0 转发至网络为199.245.180.10

图 7.18 过滤路由器的路由表的正常设置

网络199.245.180.0的所有网络流量都被转发到堡垒主机的IP地址199.245.180.10处。  图7.19显示的是过滤路由器的路由表被破坏,目的网络199.245.180.0的项目被清除的情况。过滤路由器接收到的网络199.245.180.0外部流量没有转发到堡垒主机而是直接通过本地接口传送到内部网络。堡垒主机被越过,过滤路由器成了惟一的防线。如果过滤路由器被破坏,路由器的其它功能也同样被破坏, 这时内部网络的安全就会受到威胁。

图 7.19 过滤路由器的路由表被破坏

如果过滤路由器对ICMP(Internet Control Message Protocal)重定向消息做出应答,那么就容易受到入侵者所发错误ICMP消息的攻击,因此,对ICMP重定向消息的应答必须被禁止。

图 7.20 双网络接口的堡垒主机(SB2)配置

(5) SB2配置堡垒主机的防火墙 在SB2配置(如图7.20所示)中,显示了带过滤路由器的堡垒主机的使用,而堡垒主机的两个网络接口都已配置,一个网络接口连接到“Outside”网络,另一个网络接口连接到“Inside”网络。 其中过滤路由器的一个端口连接到“Inside”网络, 而另一个端口连接到Internet。 在SB2中,过滤路由必须加以配置,以便它能把从外部网络传到内部网络的所有流量发送给堡垒主机的“Inside”网络接口。 在流量转发到主机前, 过滤路由器将把它的过滤器规则用于包流量。只有通过过滤路由器规则的网络流量才能转发给堡垒主机, 其它所有的网络流量都被丢弃。入侵者必须经过过滤路由器。 如果入侵者设法穿透过滤路由器,它必须和堡垒主机竞争。

若在Outside网络上没有主机,则Outside网络组成了一个非军事区(DMZ),因为DMZ只有两个网络连接,它可以被专用的点对点连接所代替, 这就使得通过协议分析来获取这个连接变得更加困难。如果在DMZ中使用以太网中的令牌环网络,那么一台放置了混杂模式网络接口的工作站就可以捕获到网络流量并访问敏感数据。 在正常情况下,网络接口只读取直接发送给它的包,但是,在混杂模式下,网络接口读取所有的网络接口能看到的包。所有组织的主机(堡垒主机除外)都与Inside网络相连。

在SB2配置中,如果只有堡垒主机的一个网络接口被使用(参见图7 在SB2配置中,如果只有堡垒主机的一个网络接口被使用(参见图7.15), 那么使得不能通过对过滤路由器路由表的攻击而越过堡垒主机,网络流量必须通过堡垒主机而到达Inside网络。

(6) SB2B2配置的防火墙 在SB2B2配置(如图7.21所示)中,显示了两台带过滤路由器的堡垒主机的使用情况。 这两台堡垒主机的双网络接口都已配置,在内部网络中形成了4个网络区:内部网络、 Outside网络、 私有网络、 Inside 网络。

图 7.21 两台带有双网络接口卡配置的堡垒主机(SB2B2)配置

过滤路由器和Outside堡垒主机是Outside网络上仅有的两个网络接口。Outside网络组成了OutsideDMZ。  私有网络存在于Inside和Outside堡垒之间。私有网络提供与图7.18类似的一定程度的保护。一个组织可以把它的一些主机放在私有网络上,并把比较敏感的主机隐藏在Inside堡垒主机的后面。换言之,一个组织可能需要最大的安全并且用私有网络作为第二缓冲区或InsideDMZ,把所有主机都放置在Inside网络。  如果一个组织想提供大范围服务的完全访问,如匿名FTP(File Transfer Protocol)、 Gopher和WWW(Word Wide Web) 服务, 它就可以在OutsideDMZ上提供一定的主机作为奉献(如图7.22所示)。堡垒主机不能相信任何来自这些奉献主机的流量。

图 7.22 外网DMZ的奉献主机

过滤路由器必须加以配置,以便它能把Outside网络传到Inside网络的所有流量发送给Inside堡垒主机。在流量转发到堡垒主机前, 过滤路由器将把它的过滤器规则用于包流量。只有通过过滤路由器规则的网络流量才能转发给堡垒主机,其它所有网络流量都被丢弃。入侵者必须首先穿越过滤路由器。如果入侵者设法穿越了过滤路由器, 它必须和堡垒主机竞争。

如果Outside网络防卫受到破坏,入侵者就会穿透Inside堡垒主机。如果资源允许,你可以使每台堡垒主机由不同的管理者负责。 这样就能保证一台主机管理者所犯的错误不会在其它管理者那里重复发生。还可以保证的是,堡垒主机中所发现的缺陷可以被两个管理者发现并得以校正。图7.23显示了外部和内部网络之间网络流量所选择的路径。

图 7.23 图7.21网络中的网络流量的路径

(7) SB1B1配置的防火墙 SB1B1(图7.24所示)中使用两台堡垒主机, 但每台堡垒主机只有一个网络接口,第二个路由器称为阻塞器(choke), 它加在DMZ和Inside网络之间。图7.25显示了网络流量在外部网络和内部网络之间的所选路径,在SB1B1的网络配置中要做到: 过滤路由器应使用的是静态路由技术。

图 7.24 使用了单网络接口的堡垒主机(SB1B1)配置

图 7.25 图7.24网络的网络流量路径

(8) SB2B1配置的防火墙 SB2B1配置(如图7.26所示)是实现以下问题的方法之一。 当堡垒主机只有一个网络接口被使用时, 应选用静态路由器并且正确配置路由表项目, 以保证堡垒主机没有越过。

图 7.26 双端/单端堡垒主机配置(SB2B1配置

(9) SB1B2配置的防火墙 图 7.27 单端/双端堡垒主机配置(SB1B2配置)

7.3.3 过滤子网体系结构 在某些防火墙配置中,可以创建如图7.28所示类型的分离网络。在此网络中,外部不可信网络和内部网络都可以访问该分离网络。但是,网络流量却不能通过该分离网络在外部不可信网络和内部网络之间流动。这个分离的网络使用正确配置的过滤路由器的组合进行工作(如图7.29所示)。因此,这种分离子网络就称为过滤子网(网络中的防火墙配置符号表示法的定义见本章表7.1)。

图 7.28 过滤子网

图 7.29 使用过滤器的过滤子网实现

图 7.30 带有堡垒主机的过滤子网

图 7.31 使用SB1S配置的过滤子网

一个已配置的过滤子网如图7.31所示。已配置的过滤子网指所带的堡垒主机作为过滤子网的中心访问点。这种类型的配置是S-B1-S,或SB1S配置。过滤路由器用来连接Internet和内部网络。堡垒主机是一个应用程序网关, 它拒绝所有未被明确允许的流量。  由于对过滤子网惟一的访问是通过堡垒主机,因此,入侵者对过滤子网的破坏将非常困难。如果入侵者通过Internet进入, 那么入侵者必须重新配置Internet上的路由、过滤子网和内部网络,以获得自由的访问权(如果过滤路由器只允许特定的主机访问,则上述做法将非常困难)。即使堡垒主机被破坏,入侵者必须闯入内部网络的主机上,然后进入过滤路由器访问过滤子网。 如果没有断开连接或碰到警报, 这种类型的跳跃式入侵是非常困难的。

因为过滤子网不允许网络流量在Internet和内部网络之间流动,所以这些网络上主机的IP地址是相互隐藏的。尽管如此, 一个还没有从NIC(Network Information Center)正式分配网络号的组织,也可以通过过滤子网上堡垒主机所提供的应用程序网关服务访问Internet。如果这些服务通过应用程序网关加以限制, 那么就把内部网络转换为正式分配网络号的网络。

7.3.4 应用层网关体系结构 1. 具有管理存储转发流量以及某些交互流量的应用层网关 图 7.32 应用层网关

应用层网关通过编程来计算用户应用层(OSI模型第7层)的流量, 并能在用户层和应用协议层提供访问控制。而且,还可用来保留一个所有应用程序使用的纪录。因此,记录和控制所有进出流量的能力是应用层网关的主要优点之一。网关本身可以建立它们所需的附加安全。  对于每一个它所转接的应用程序,应用层网关使用一个特殊目的的代码。由于这个特殊目的代码,应用层网关提供了可靠的安全性,对于每一个新增到网络上并需要保护的新类型的应用程序, 新的特殊目的代码就需要记录下来。

为了使用应用层网关,用户必须登录到应用程序网关的机器上,或者在每一台将使用特定服务的主机上实施指定的代理应用程序服务。每一个应用程序的网关模块应具有自己的一套管理工具和命令语言。  应用层网关的缺点是,用户经常为每个应用程序而写程序。 但是从安全角度来看,这也是一个优点,因为无法进入防火墙, 除非能提供非常明确的应用层网关。

用户的应用程序相当于一个代理,它不仅能接收进来的呼叫而且还能对呼叫进行检查,以防备任何类型请求的访问被允许。 这个事件中的代理是一个应用程序服务器代理。接收呼叫, 并且验证任何呼叫允许后,代理就把它转发给请求服务器。 因此,代理既是服务器又是客户机(如图7.33所示),它在接收进入的请求时是作为服务器,在转发请求时是作为客户机。会话建立后, 应用程序代理作为一个转接, 在一初始化应用程序的客户机和服务器之间拷贝数据。因为在客户机和服务器之间的所有数据都由应用程序代理拦截,所以它对会话拥有全部的控制,并详尽的处理记录。图7.33显示了作为客户机和服务器的代理。在众多的实现中,这是一个单应用程序模块的实现方法。

图 7.33 作为客户机和服务器的代理

为了与代理应用程序连接,许多应用层网关要求用户在内部机器上运行客户机应用程序。另外,用户可以用Telnet命令指定代理应用程序服务可用的端口。例如,代理主机gatekeeper.kinetics.com上, 在端口63处, 用户可以用下面的命令: telnet gatekeeper.kinetics.com 63 在用户与代理服务器运行的端口建立连接后,将会看到一个特殊的提示符,它用来标识代理应用程序,用户也可以运行定制命令到指定的目的服务器。不管使用哪种方法,标准应用程序的用户接口都会改变。如果使用用户客户机,那么客户机通常会被修改,以便它能与代理机器相连并且通知代理机器连接的位置。 这样,代理机器就可连接到最远目的端并转发数据。

2.巡回网关(如图7.34所示) 图 7.34 应用程序巡回网关

巡回网关是建立在应用程序网关的一个更加灵活的方法。 在巡回网关中,包被提交给用户应用层处理。巡回网关用来在两个通信的终点之间转包。巡回网关简单地在两个终点之间来回拷贝字节。  巡回网关存在的问题是:  (1) 在巡回网关中,可能需要安装特殊应用的客户机软件, 用户可能需要一个可变用户接口来相互协调。由于硬件平台和操作系统都存在差异,因此为异构网络的每一台主机安装和配置特定的应用程序既耗费时间, 又容易出错。

(2) 因为每一包都通过运行 于应用层的软件来处理,所以主机的工作受到影响。 每个包被所有的通信层处理两次,并且需要用户层处理和上下文转换。应用层网关(堡垒主机或双宿主主机)对网络层是暴露的,一般采用其它方法加以处理,如包过滤,可以用来保护应用程序网关主机。

7.4 防火墙的构成 7.4.1 防火墙的类型及构成 1. 常见的防火墙 最常见的防火墙是按照它的基本概念工作的逻辑设备, 用于在公共网上保护个人网络。  配置一堵防火墙是很简单的, 步骤如下:  (1) 选择一台具有路由能力的PC; (2) 加上两块网卡, 例如以太网或串行卡等;  (3) 禁止IP转发;

(4) 打开一个网卡通向Internet;  (5) 打开另一个网卡通向内部网。  防火墙的设计类型有好几种,但大体可分为两类:网络级防火墙和应用级防火墙。它们采用不同的方式提供相同的功能。 任何一种都能适合站点防火墙的保护需要。 而现在有些防火墙产品具有双重特效,因此应该选择最适合当前配置的防火墙类型来构建防火墙。

2. 网络级防火墙 这一类型的防火墙,通常使用简单的路由器,采用包过滤技术,检查个人的IP包并决定允许或不允许基于资源的服务、 目的地址以及使用端口来构建。    最新式的防火墙较之前身更为复杂,它能监控通过防火墙的连接状态等等。这是一类快速且透明的防火墙,易于实现, 且性价比最佳。 

图7.35是一个隔离式主机防火墙的应用,它是最流行的网络级防火墙之一。 在该种设计中,路由器在网络级上运行, 控制所有出入内部网的访问, 并将所有的请求传送给堡垒主机。  尽管上述例子提供了良好的安全性, 但仍需创建一个安全的子网来安置Web服务器。图7.36所示的隔离式子网防火墙就是这种设想的实例。   注意,以上两个例子都是假定Web服务器安放在防火墙之内。 在这种模式中,对Web服务器的访问由运行在网络上的路由器控制。 这种设计与原先的隔离主机模式很相似。

图7.35 主机隔离式防火墙的构成

图7.36 隔离式子网防火墙构成

3. 应用级防火墙 应用级防火墙通常是运行在防火墙之上的软件部分。这一类的设备称为应用网关,它是运用代理服务器软件的计算机。 由于代理服务器在同一级上运行,故它对采集访问信息并加以控制是非常有用的,例如记录什么样的用户在什么时候连接了什么站点,这对识别网络间谍是有价值的。因此,此类防火墙能提供关于出入站点访问的详细信息,从而较之网络级防火墙, 其安全性更强。 

图7.37是应用级防火墙的图例,也称为双宿主机(Dual-Homed)网关。 双宿主机是一台由两块网络接口卡(NIC)组成的计算机。每块NIC有一个IP地址, 如果网络上的一台计算机想与另一台计算机通信,它必须与双宿主机上能“看到”的IP地址联系,代理服务器软件查看其规则是否允许连接, 如果允许,代理服务器软件通过另一块网卡(NIC)启动到其它网络的连接。

图 7.37 双宿主机网关式防火墙的构成

4. 动态防火墙 动态防火墙是解决Web安全的一种新技术。防火墙的某些产品,一般称为OS保护程序,安装在操作系统上。OS保护程序通过包过滤结合代理的某些功能, 如监控任何协议下的数据和命令流来保护站点,尽管这种方法在某种程度上已流行, 但因为其配置,所以并不成功。原因是管理员无法看见配置, 并且强迫管理员添加一些附加产品来实现服务器的安全。

动态防火墙技术(DFT)与静态防火墙技术主要区别是:  (1) 允许任何服务;  (2) 拒绝于任何服务;  (3) 允许/拒绝任何服务;  (4) 动态防火墙技术适应于网上通信, 动态比静态的包过滤模式要好,其优势是,动态防火墙提供自适应及流体方式控制网络访问的防火技术。即Web安全能力为防火墙所控制,基于其设置时所创建的访问平台, 能限制或禁止静态形式的访问。 (5) 动态防火墙还能适应Web上多样连接提出的变化及新的要求。当需要访问时,动态防火墙就允许通过Web服务器防火墙进行访问。

5. 防火墙的各种变化和组合 1) 内部路由器 内部路由器(有时也称为阻流路由器)的主要功能是保护内部网免受来自外部网与参数网络的侵扰。 内部路由器完成防火墙的大部分包过滤工作,它允许某些站点的包过滤系统认为符合安全规则的服务在内外部网之间互传(各站点对各类服务的安全确认规则是不同的)。 根据各站点的需要和安全规则, 可允许的服务是以下这些外向服务中的若干种, 如: Telnet、 FTP、 WAIS、 Archie、 Gopher或者其它服务。

内部路由器可以设定,使参数网络上的堡垒主机与内部网之间传递的各种服务和内部网与外部网之间传递的各种服务不完全相同。限制一些服务在内部网与堡垒主机之间互传的目的是减少在堡垒主机被侵入后而受到入侵的内部网主机的数目。  应该根据实际需要来限制允许在堡垒主机与内部网站点之间可互传的服务数目。如:SMTP、DNS等。还能对这些服务作进一步的限定, 限定它们只能在提供某些特定服务的主机与内部网的站点之间互传。比如,对于SMTP就可以限定站点只能与堡垒主机或内部网的邮件服务器通信。对其余可以从堡垒主机上申请连接到的主机就更得加以仔细保护。因为这些主机将是入侵者打开堡垒主机的保护后首先能攻击到的机器。

2) 外部路由器 理论上,外部路由器(有时也称为接触路由器)既保护参数网络又保护内部网。 实际上,在外部路由器上仅做一小部分包过滤, 它几乎让所有参数网络的外向请求通过,而外部路由器与内部路由器的包过滤规则是基本上相同的。也就是说,如果安全规则上存在疏忽,那么,入侵者可以用同样的方法通过内、外部路由器。  由于外部路由器一般是由外界(如因特网服务供应商)提供,因此对外部路由器可做的操作是受限制的。网络服务供应商一般仅会在该路由器上设置一些普通的包过滤,而不会专为设置特别的包过滤,或更换包过滤系统。因此,对于安全保障而言, 不能像依赖内部路由器一样依赖于外部路由器。

外部路由器的包过滤主要是对参数网络上的主机提供保护。 然而,一般情况下,因为参数网络上的主机的安全主要通过主机安全机制加以保障,所以由外部路由器提供的很多保护并非必要。  外部路由器真正有效地任务就是阻断来自外部网上伪造源地址进来的任何数据包。这些数据包自称是来自内部网,而其实它是来自外部网。

3) 防火墙的各种变化和组合形式 建造防火墙时,一般很少采用单一的技术,通常是采用多种解决不同问题的技术的组合。这种组合主要取决于网管中心向用户提供什么样的服务,以及网管中心能接受什么等级风险。 采用哪种技术主要取决于投资的大小、 设计人员的技术、 时间等因素。一般有以下几种形式:  (1) 使用多堡垒主机;  (2) 合并内部路由器与外部路由器;

(3) 合并堡垒主机与外部路由器;  (4) 合并堡垒主机与内部路由器;  (5) 使用多台内部路由器;  (6) 使用多台外部路由器;  (7) 使用多个参数网络;  (8) 使用双重宿主主机与子网过滤。

7.4.2 防火墙的配置 防火墙极大地增强了Web站点的安全性。 根据不同的需要, 防火墙在网中的配置有很多种方式。根据防火墙和Web服务器所处的位置,总的可以分为三种配置:Web服务器置于防火墙之内、Web服务器置于防火墙之外和Web服务器置于防火墙之上。  1. Web服务器置于防火墙之内 Web服务器置于防火墙之内, 如图7.38所示。

图 7.38 Web服务器放在防火墙内

将Web服务器装在防火墙内的优点是它得到了安全保护, 不容易被黑客闯入,但缺点是不易被外界所用。例如Web站点主要用于宣传企业形象,显然这不是好的配置,这时应当将Web服务器放在防火墙之外。

2.Web服务器置于防火墙之外 图 7.39 Web服务器放在防火墙之外

Web服务器置于防火墙之外的配置, 如图7.39所示。  在这种模式中,Web服务器不受保护,但内部网则被保护, 即使黑客闯入了你的Web站点,内部网络仍是安全的。但在这种配置中,防火墙对Web站点的保护几乎不起作用,这时就需要代理服务的支持。

3. Web服务器置于防火墙之上 如前所述, 一些管理者试图在防火墙机器上运行Web服务器, 以此增强Web站点的安全性。这种配置的缺点是, 一旦服务器有一点故障,整个组织和站点就全部处在危险之中,如图7.40所示。

图 7.40 Web服务器放在防火墙之上

这种基本配置有许多种变化,包括利用代理服务器,双重防火墙利用成对的“入”、 “出”服务器提供对公众信息的访问及内部网络对私人文档的访问。  一些防火墙不允许将Web服务器设置其外,在这种情况下要开通防火墙。一般的做法是:  (1)允许防火墙传递对端口80的请求,访问请求或被限制到Web站点或从Web站点返回(假定正在使用“screened host”型防火墙)。  (2)可在防火墙机器上安装代理服务器,但需一个“双宿主网关”类型的防火墙。来自Web服务器的所有访问请求被代理服务器截获后才传送到服务器,并对访问请求的回答应直接返回给请求者。

7.5 防火墙所采用的技术及其作用 7.5.1 隔离技术 1. 隔离的定义 最安全且简单的做法是将网络的物理线路切断,但完全的中断却失去了网络本身的优势及方便性。因此,解决的方法是设计防火墙系统在不同区域间执行连接的管理(如图7.41 所示)。

图 7.41 防火墙隔离技术

 2. 防火墙隔离技术根据其所能支持区域隔离网络数量的三种分类法 (1) Dual-Home 将网络区隔为两段, 如图7.42所示。  (2) Tri-Home 在防火墙上增加第三块网卡的网络, 称SSN(Secure Server Network)或DMZ(Delimitation Military Zone), 如图7.42所示。  (3) Multi-Home 支持区域隔离多端网络的防火墙, 如图7.42所示。

图 7.42 防火墙隔离技术类型

7.5.2 管理技术 从管理网络互联的角度来说, 主要管理下述内容:  (1) 连接来源地址(IP地址、 主机名称、 网络名称、 子网络区段); (2) 连接目的地址(IP地址、 主机名称、 网络名称、 子网络区段); (3) 网络服务的类别(HTTP、 Telnet、 FTP、 SMTP…); (4) 连接的时间; (5) 连接的方向(Ext→Int、 Int→Ext…); (6) 连接的身份(Username/Password)。

7.5.3 防火墙操作系统的技术 不管是软件还是硬件,防火墙的设备都必须考虑防火墙的操作系统环境是否安全。 如果采用不安全的防火墙操作系统,防火墙就很难保护网络的安全。 目前, 市场上的防火墙大多数是构建在下列类型的操作系统上的, 其优缺点如表7.2所示。

表7.2 防火墙操作系统安全性能比较表

7.5.4 通信堆叠技术 由于防火墙的主要功能是在隔离和保护网络通信级连接管理,因此防火墙的安全级数及执行效率与防火墙所采用的通信堆叠技术有着密切的关系。防火墙的通信堆叠可检查到的资料多少关系着防火墙的安全级数及执行效率。以OSI/RM的网络体系结构为例来看,防火墙所采用的堆叠技术愈在高层,所能检查到的通信资源越多,其安全级数也就越高,然而其执行效率反而较差。反之,如果防火墙所采用的通信堆叠技术越在低层, 所能检查到的通信资源越少,其安全级数也就越低,然而其执行效率反而较佳。

若按所采用的通信堆叠来区分, 目前在市场上可以看到的防火墙技术有下列类型:  (1) 包过滤技术(Packet Filtering); (2) 状态检查技术(Stateful Inspection); (3) 传输级网关技术(Circuit-Level Gateway); (4) 应用级网关技术(Application-Level Gateway)。

1. 包过滤技术 1) 包过滤技术原理(见第9章) 2) 运作方式(如图7.43所示) (1) 在TCP/IP网络层(Network Layer)可以检查的资料: 源IP地址; 目的IP地址; 封装包的类型; 源地址通信端口号; 目的地址通过端口号。 (2) 内部网络与外部网络间是直接通信。  (3) 防火墙根据进出防火墙IP封包进行比较、 检查、 校验。

图7.43 包过滤技术原理

3) 优点 (1) 网络流量性能最好;  (2) 与网络通信协议无关, 可支持所有的通信协议。

4) 缺点 (1) 直接连接的危险性高,将使内部网络暴露在外部网络下; (2) 无法掌握连接的状态(state),例如,Telnet连接何时建立?何时停止? (3) 只可以确认通信端口号,但无法识别是何种通信协议(SMTP、 HTTP、 FTP、 …); (4) 访问控制条件难以设定;  (5) 无法检查应用程序的状态;  (6) 是一种较不安全的方法。

2. 状态检查技术 1) 运作方式(如图7.44所示) (1) 在数据链路层(Data Link)及网络层(Network)之间插入一状态检查模块(Stateful Inspection Module);  (2) 由状态检查模块动态检查各层的网络连接状态, 并将连接状态存放在动态状态表(Dynamic State Table)中;

(3) 在动态状态表中可以检查的资源:源IP地址,目的IP地址,封装包的类型,网络服务的通信端口号,有限的Circuit Level的信息,有限的Application Level的信息; (4) 内部网络与外部网络间是直接通信(direct connection); (5) 防火墙根据进出防火墙的IP封包及其连接状态进行校验。

图 7.44 状态检测技术

2) 优点 (1) 稍比Packet Filtering安全一点;  (2) 可掌握连接的状态及部分Application-Level Gateway状态信息;  (3) 较好的扩充性及延展性, 支持未来新的网络协议时较简单;  (4) 网络流量性能比Application-Level Gateway好。

3) 缺点 (1) 直接连接危险性高, 将使内部网络暴露在外部网络下; (2) 只检查到连接状态, 无法检查信息内容;  (3) 对于无状态(stateless)的通信协议如UDP及 RPC等, 无法约束;  (4) 除了相当了解网络通信协议的状态特性, 否则很难设定出无漏洞的检查语法; (5) 对于新的通信协议需要以Inspect语言来设定。

3. 传输级网关技术 1) 运作方式(如图7.45所示) (1) 在传输层(Transport Layer)检查的信息有:源IP地址,目的IP地址,封装包的类型,源地址通信端口号,目的地址通信端口号,可掌握网络连接状态信息; (2) 内部网络与外部网络间是透过防火墙转发的; (3) 适当的识别所指定的通信端口, 这个通信端口将保持开放直到连接终止; (4) 应用程序使用公认的通信端口, 例如Telnet port=(23)。

图 7.45 传输级网关技术原理

2) 优点 (1) 比Packet Filtering要安全;  (2) 可掌握连接的状态信息;  (3) 网络流量性能比Application-Level Gateway较好。

3) 缺点 (1) 信任所指定的通信端口是公认的服务或应用; (2) 无法监督会话层(session-level)的活动及无法检测应用程序的状态;  (3) Circuit-Level比packet filtering数据包的流量慢。

4. 应用级网关技术 1) 运作方式(如图7.46所示) (1) 内部使用者无法直接连接到外部主机, Application Gateway起到外部主机的传递作用;  (2) 内部网络的设定被保护且隐藏起来;  (3) Application Proxy是安全强化过的程序;  (4) 在应用层直接解释及响应应用程序, 不必知道通信口或者协议;  (5) 完整的检查应用层(Application[CD*2]Level)。 

图 7.46 应用级网关技术

2) 优点 (1) 设定访问控制条件较简单; (2) 可以完全彻底的检查所有连接信息; (3) 防火墙的安全性最好。  3) 缺点  (1) 对于新的通信协议要用较长的时间来设计专门的代理程序; (2) 网络流量性能较差。

7.5.5 网络地址转换技术 每当内部网络的计算机要与外部的网络互联时, 防火墙会隐藏其IP地址并以防火墙的外部IP地址来取代。外部用户无法得知你的内部网络的地址信息, 因为它被防火墙的外部IP地址所隐藏。这个转换内部网络IP地址的操作就叫做网络地址转换(NAT)。

7.5.6 多重地址转换技术 当SSN/DMZ或内部网络提供多个相同的网络服务时, 必须通过多重地址转换技术,利用不同的外部IP地址将网络服务传递到内部的服务器上。通过MAT(MAT, Multiple Address Translation)可以保护内部网络服务器的安全,也可以分散外部网络服务到不同的IP地址, 如图7.47所示。

图 7.47 多重地址转换技术

7.5.7 虚拟专用网络技术(VPN)  所谓虚拟专用网络是指在低成本的公用网络主干上构建安全的公司内部企业网络,使得企业分散在各地的分公司必须通过数据专线将公司内部网络互联起来,但连接成本高。当今互联网络遍及全球,企业可通过互联网络来达到企业内部信息传递的目的, 若在防火墙上增加VPN功能,则企业很容易在互联网络上构建虚拟专用网络,如图7.48所示。  当两个防火墙间的VPN构建起来后,所有在VPN上通信的信息将完全加密。即使对于企业网分散在各地的分公司,使用者也不会觉得有任何的障碍, 可以很方便且安全地完成通信。

图 7.48 虚拟专用网络技术

虚拟专用网络除了将防火墙两端的网络与加密的通道连接起来之外,对于出差在外的人员、异地办事处人员要访问公司内部资源时,可以通过单点VPN机制与防火墙建立虚拟专用网络。这样做不但可以对使用者进行身份认证,同时对信息的通信也可以进行加密。 这种方法的优点是, 不必在防火墙上开放那些具有安全风险的内部通道, 如图7.49所示。

图 7.49 虚拟专用网络技术

目前大部分的防火墙产品都有可以选购符合IETF所定的IPSec标准的VPN功能,也有一些路由器或者专门的VPN设备来提供虚拟专用网络的服务,在此建议用户采用防火墙本身提供的VPN模块, 其原因如下:  (1) 外部VPN设备无法取代防火墙功能, 所以企业还是需要采用防火墙。  (2) 内建在防火墙中的VPN模块可以与防火墙的访问管理条件密切配合。  (3) 如果没有防火墙, 外部VPN设备可能导致安全上的漏洞。

7.5.8 动态密码认证技术 对于无法实施VPN的外出人员要访问公司的内部网络时, 要求防火墙必须提供身份认证机制,以确保访问人员的身份合法性。如果选用能提供动态密码认证技术的防火墙,就确保访问者的身份不被假冒。  通常具有整合整个动态密码认证技术的防火墙有下列两种方式:  (1) 防火墙内建动态密码认证服务器;  (2) 防火墙与其它外部的动态密码认证服务器配合使用。

7.6 防火墙选择原则 设计和选用防火墙首先要明确哪些数据是必须保护的,这些数据被侵入会导致什么样的后果及网络不同区域需要什么等级的安全级别。不管采用原始设计还是使用现成的防火墙产品, 对于防火墙的安全标准,首先需根据安全级别确定;其次,设计或选用防火墙必须与网络接口匹配,要防止你所能想到的威胁。 防火墙可以是软件或硬件模块, 并能集成于网桥、网关和路由器等设备之中。

7.6.1 防火墙安全策略 面对市场上许多防火墙产品,如何选择最适合用户的产品呢?这应当从安全策略开始考虑。  1. 防火墙自身的安全性 大多数人在选择防火墙时都将注意力放在防火墙如何控制连接以及防火墙支持多少种服务上,但往往忽略一点,就是防火墙也是网络上的主机设备,也可能存在安全问题。防火墙如果不能确保自身安全,则防火墙的控制功能再强,也不能完全保护内部网络。

大部分防火墙都安装在一般的操作系统上,如UNIX、 Windows NT系统等。在防火墙主机上执行的除了防火墙软件外, 所有的程序、 系统核心, 大多来自于操作系统本身的原有程序。 当防火墙上所执行的软件出现安全漏洞时,防火墙本身也将受到威胁。此时,任何的防火墙控制机制都可能失效,因为当一个黑客取得了防火墙上的控制权以后,黑客几乎可为所欲为地修改防火墙上的存取规则,进而侵入更多的系统。因此,防火墙自身应当有相当高的安全保护功能。

2. 考虑特殊的需求 企业安全政策中往往有些特殊需求不是每一个防火墙都会提供的, 这是选择防火墙需考虑的因素之一,常见的需求如下: 1) IP地址转换 进行IP地址转换有两个好处:其一是可以隐藏内部网络真正的IP,这可以使黑客无法直接攻击内部网络, 这也是要强调防火墙自身安全性问题的主要原因;另一个好处是可以让内部用户使用保留的IP, 这对许多IP不足的企业是有益的。

2) 双重DNS 当内部网络使用没有注册的IP地址,或是防火墙进行IP转换时,DNS也必须经过转换。因为,同样的一个主机在内部的IP与外界的IP将会不同,有的防火墙会提供双重DNS,有的则必须在不同主机上各安装一个DNS。

3) 虚拟专用网络(VPN) VPN可以在防火墙与防火墙或移动的Client间对所有网络传输的内容加密,建立一个虚拟通道,让两者感觉是在同一个网络上,可以安全且不受拘束地互相存取。这对总公司与分公司之间或公司与外出的员工之间,需要直接联系又不愿花费大量资金, 申请专线或用长途电话拨号连接时,将会非常有用。

4) 病毒扫描功能 大部分防火墙都可以与防病毒防火墙搭配实现病毒扫描功能。 有的防火墙则可以直接集成病毒扫描功能,差别只是病毒扫描工作是由防火墙完成, 或是由另一台专用的计算机完成。  5) 特殊控制需求 有时候企业会有特别的控制需求,如限制特定使用者才能发送E-mail,FTP只能得到档案,但不能上传档案,限制同时上网人数、 使用时间等。

7.6.2 选择防火墙的原则 当我们在规划网络时,不能不考虑整体网络的安全性。而谈到网络安全, 就不能忽略防火墙的功能,防火墙产品往往有上千种,如何在其中选择最符合需要的产品,是消费者最关心的事。  1. 一个好的防火墙应该是一个整体网络的保护者 一个好的防火墙应该以整体网络保护者自居, 它所保护的对象应该是全部的Intranet,并不仅是那些通过防火墙的使用者。

2. 一个好的防火墙必须能弥补其它操作系统的不足 一个好的防火墙必须是建立在操作系统之前而不是在操作系统之后,所以操作系统有些漏洞并不会影响到一个好的防火墙系统所提供的安全性。由于硬件平台的普及以及执行效率的因素,大部分企业经常把对外提供各种服务的服务器分散在许多操作平台上,我们在无法保证所有主机安全的情况下,选择防火墙作为整体安全的保护者。这正说明了操作系统提供B级或是C级的安全并不一定会直接对整体安全造成影响,因为一个好的防火墙必须能弥补操作系统的不足。

3. 一个好的防火墙应该为使用者提供不同平台的选择 由于防火墙并非完全由硬件构成,因此软件(操作系统)所提供的功能以及执行效率一定会影响到整体的表现,而使用者的操作意愿及对防火墙软件的熟悉程度也是必须考虑的重点。 一个好的防火墙不但本身要有良好的执行效率,也应该提供多平台的执行方式供使用者选择,毕竟使用者才是完全的控制者。 使用者应该选择一套符合现有环境需求的软件,而并非为了软件的限制而改变现有环境。

4. 一个好的防火墙应能向使用者提供完善的售后服务 由于有新的产品的出现,就会有人研究新的破解方法,因此一个好的防火墙提供者必须有一个庞大的组织作为使用者的安全后盾, 也应该有众多的使用者所建立的口碑为防火墙作见证。防火墙安装和投入使用后,并非万事大吉,要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动态。 因为商家一旦发现其产品存在安全漏洞, 那么会尽快发布补救产品,此时应尽快确认真伪(防止特洛伊木马等病毒), 并对防火墙软件进行更新。

7.7 防火墙建立实例 7.7.1 包过滤路由器的应用 包过滤路由器是最常用的因特网防火墙系统,该系统仅由部署在内部网和因特网之间的包过滤路由器构成,其作用是在网络间执行转发业务等典型的路由功能以及使用包过滤规则允许或拒绝业务流。包过滤规则的定义可使用内部网中的主机直接访问因特网,而对因特网中的主机访问内部网系统则加以限制,防火墙系统的这种外部姿态通常是拒绝每件未被特别许可的事情。

虽然这种防火墙系统有费用低廉,对用户透明等优点,但也有包过滤路由器所有的一切局限性,如过滤配置不合适,则易遭受攻击、 被允许的服务以隧道形式的攻击。因为允许数据包在外部系统和内部系统之间进行直接交换,所以系统可能遭受的攻击程序由主机总数以及包过滤路由器允许的业务流得到的服务总数决定,这意味着可直接从因特网访问的某一主机必须支持严格的用户认证,网络管理员必须定期对这种主机进行检查,看是否有被攻击的迹象。如果有一个包过滤路由器被渗透, 内部网中的每一系统都可能被破坏。

7.7.2 屏蔽主机防火墙的应用 屏蔽主机防火墙系统是由同时部署的包过滤路由器和堡垒主机构成, 如图7.50所示。由于这种防火墙系统实现了网络层安全(包过滤)和应用层安全(代理服务),因此它的安全登记比上一例更高,入侵者要想破坏内部网,首先必须渗透两个分开的系统。

图 7.50 屏蔽主机防火墙系统(单连接点堡垒主机)

该系统中,堡垒主机被配置在专用网中,而包过滤路由器则配置在因特网和堡垒主机之间,过滤规则的配置使得外部主机只能访问堡垒主机, 发往其它内部系统的业务流则全部被阻塞。由于内部主机和堡垒主机在同一网络上,机构的安全策略决定内部系统是被允许直接访问因特网,还是要求使用堡垒主机上的代理服务。通过配置路由器的过滤规则,使其仅接受发自于堡垒主机的内部业务流,这样就可以迫使内部用户使用代理服务器。

这种防火墙系统的优点之一是可将一个用于提供Web服务和ftp服务的公共信息服务器放在可供包过滤路由器和堡垒主机共享的地方。如果系统要求最强的安全性, 堡垒主机则运行代理服务,以要求内部用户和外部用户在和信息服务器通信之前, 访问堡垒主机。如果安全性要求稍低一些,则可对路由器进行配置以使其允许外部用户直接访问公共信息服务。 使用双连接点堡垒主机系统能构造更为安全的防火墙系统,如图7.51所示。双连接点堡垒主机有两个网络接口,但是该主机不能将业务流绕过代理服务而直接在两个接口间转发。如果允许外部用户能够直接访问信息服务器,则堡垒主机的拓扑结构将迫使外部用户发往内部网的业务流必须经过堡垒主机,以提供附加的安全性。

图 7.51 屏蔽主机防火墙系统(双连接点堡垒主机)

由于堡垒主机是可从因特网种子界访问的惟一的内部系统, 因此内部网所受到的来自于外部网的安全威胁主要集中在堡垒主机上。然而如果允许用户进入堡垒主机,用户可能容易地破坏堡垒主机,从而使可能的安全威胁扩展到整个内部网络。 所以必须保证堡垒主机的强度, 以防用户的渗透和进入。

7.7.3 屏蔽子网防火墙的应用 屏蔽子网防火墙系统用了两个包过滤路由器和一个堡垒主机, 如图7.52所示。由于它支持网络层和应用层的安全,而且还定义一个“非军事区”(DMZ, Demilitarized Zone)网络,因此它建立的是最安全的防火墙系统。网络管理者将堡垒主机、信息服务器、公用调制解调器、以及其它一些功用服务器都放在DMZ网络中。 DMZ网络很小,位于因特网和内部网之间,它的配置可以使因特网中的系统和内部网中的系统只能访问DMZ网络中有限数目的系统,且可禁止业务流穿过DMZ网络的直接传输。

图 7.52 屏蔽子网防火墙系统

对于从因特网进来的信息流,外部路由器可以防止其实施一般的外部攻击(如源IP地址欺骗攻击、源路由攻击等),且还管理因特网对DMZ网络的访问,它只允许外部系统访问堡垒主机(也可能还有信息服务器)。内部路由器提供第二层防线, 通过只接受来源于堡垒主机的业务流而管理DMZ对内部网络的访问。  对于发往因特网的业务流,内部路由器管理内部网对DMZ网络的访问,它只允许内部系统访问堡垒主机(也可能有信息服务器)。 外部路由器通过只接受由堡垒主机发往因特网的业务流,从而使得其上的过滤规则要求使用代理服务。

部署屏蔽子网防火墙系统有以下一些优点:  (1) 入侵者必须闯过三个分开的设备才能够渗透到内部网, 这三个设备是外部路由器、堡垒主机、内部路由器。  (2) 由于外部路由器是DMZ网与因特网的惟一接口,因特网上的系统没有到受保护的内部网的路由,因此可使网络管理者保证内部网对因特网来说是“不可见的”,因特网只有通过路由表和域名系统DNS信息交换才能知道DMZ中的某些系统。  (3) 由于内部路由器是DMZ网和内部网的惟一接口,内部网中的系统没有直接到因特网的路由,因此保证了内部网用户必须通过堡垒主机中的代理服务才能访问因特网。

(4) 包过滤路由器将业务流发送到DMZ网中指定的设备, 因此堡垒主机没有必要是双连接点。  (5) 当内部路由器作为专用网和因特网之间最后一道防火墙系统时,比双连接点堡垒主机有更大的业务流吞吐量。  (6) 由于DMZ 网是一个与内部网不同的网, 因此在堡垒主机上可以安装网络地址转换器(NAT, Network Address Translator), 从而不必对内部网重新记数和重新划分子集。

7.7.4 某企业销售系统中防火墙建立实例 1. 企业销售需求分析 假设某企业下设有计划部、生产部、市场部、财务部、人事部。市场销售人员分散在各地,并在一些城市设有市场分部。 销售管理方式是:销售人员寻找客户并开订单,订单先传到本地分部,然后由分部传到市场部和财务部。财务部对订货方的信任度进行确认,将准许发货的通知发给市场部,市场部组织货源,并通知财务部。财务部对在规定的时间内不付款的订户提出警告,或于银行交涉处理。计划部研究分析市场部、财务部的有关数据,结合其它信息,提出调整计划,报请总经理批准, 然后向生产部、市场部和采购部下达计划。

2. 防火墙系统设计方案 1) 方案一(如图7.53所示) 图 7.53 防火墙系统实例方案一

该系统由于Web服务器在防火墙之外,可以满足企业建立主页以宣传企业的形象、 企业内部信息交流和保护内部网络安全等基本要求, 因此对于内部数据安全要求不高的小型企业,此方案是合适的。   但是,一旦黑客攻破了防火墙,整个内部网络就处在完全暴露状态。而且,在外地的销售人员或市场分部与本部的联系易造成安全漏洞,内部的敏感数据只有依靠口令、加密和授权来管理保护。

2) 方案二(如图7.54所示) 图 7.54 防火墙系统实例方案二

Web服务器放在防火墙之内,有利于企业对Web服务器上企业主页能够进行管理和维护。而且,外部用户访问它,必须通过防火墙, 可防止大量的非法入侵,如果外部用户访问内部网络,还需再经过访问服务器的过滤,进一步加强了安全性。 而且内部用户访问Internet受到限制,例如,只允许E-mail通过。

3) 方案三(如图7.55所示) 图 7.55 防火墙系统实例方案三

在前面的方案中,都没有考虑企业内部数据的保护问题。 实际上,各个部门之间有些数据是互相公开的,而有些数据只能供本部门或部门内的少数人使用, 例如财务部的数据。这样, 为了防止来自内部的攻击,需要对内部网络使用防火墙隔离, 这样就可以构建比较完整的防火墙安全系统。