第二十章 防火墙
防火墙
? 防火墙基础
– 防火墙概念
– 防火墙功能
– 防火墙附加功能
– 外部攻击与防火墙对抗
防火墙
? 防火墙体系结构
– 屏蔽路由器
– 双穴主机网关
– 被屏蔽主机网关
– 被屏蔽子网
– 多重防火墙组合技术
防火墙
? 防火墙的基本类型
– 网络级防火墙
– 应用级网关
– 电路级网关
– 规则检查防火墙
防火墙
? 防火墙技术
– 包过滤技术
– 应用网关技术
– 状态监测防火墙
– 应用层防火墙
防火墙
? 透明防火墙
– 防火墙的透明模式
– 透明代理
? 防火墙设计
– 软硬件设计依据
– Linux包过滤防火墙实例
– 接口隔离防火墙实例
? 防火墙展望
防火墙概念
? 防火墙是指一种保护措施,它可按照用户事先规
定的方案控制信息的流入和流出,监督和控制使
用者的操作。使用户可以安全使用网络,并避免
受到 Hacker的袭击。
? 防火墙通常由过滤器和网关等组成。过滤器封锁
某些类型的通信量,网关提供中继服务,补偿过
滤影响的一个或一组机器。网关留驻的网络经常
称为隔离地带( DMZ)。
防火墙功能
? 包过滤是防火墙所要实现的最根本功能
? 防火墙可以对网络存取和访问进行监控审计
? 防火墙可以强化网络安全策略
? 防火墙可以防止内部信息的外泄
? 网络地址转换已经成了防火墙的功能之一
? 防火墙可以提供代理功能
– 1、透明代理 (Transparentproxy)
– 2、传统代理
防火墙附加功能
? NAT
? NAT的工作过程如图
所示,
防火墙附加功能
? 虚拟专用网( VPN)
– 虚拟专用网( VPN)是指在公共网络中建立专
用网络,数据通过安全的, 加密通道, 在公共
网络中传播。 VPN的基本原理是通过对 IP包的
封装及加密,认证等手段,从而达到保证安全
的目的。它往往是在防火墙上附加一个加密模
块实现。
外部攻击与防火墙对抗
? 外部攻击主要有,
– DOS( DDOS)攻击
– IP假冒 (IPspoofing)
– 口令字攻击
– 邮件诈骗
– 对抗防火墙( anti-firewall)
防火墙
? 防火墙体系结构
– 屏蔽路由器
– 双穴主机网关
– 被屏蔽主机网关
– 被屏蔽子网
– 多重防火墙组合技术
屏蔽路由器
? 屏蔽路由器 ScreeningRouter这是防火墙最
基本的构件。它可以由厂家专门生产的路
由器实现,也可以用主机来实现。屏蔽路
由器作为内外连接的唯一通道,要求所有
的报文都必须在此通过检查。路由器上可
以装基于 IP层的报文过滤软件,实现报文过
滤功能。
双穴主机网关
? 双穴主机网关 DualHomedGateway方式最简单。 Dual-
homedGateway放置在两个网络之间,这个 Dual-
homedGateway又称为 bastionhost。这种结构成本低,但
是它有单点失败的问题。
? 双穴主机网关优于屏蔽路由器的地方是:堡垒主机的系统
软件可用于维护系统日志、硬件拷贝日志或远程日志。这
对于日后的检查很有用。但这不能帮助网络管理者确认内
网中哪些主机可能已被黑客入侵。
? 双穴主机网关的一个致命弱点是:一旦入侵者侵入堡垒主
机并使其只具有路由功能,则任何网上用户均可以随便访
问内网。
被屏蔽主机网关
? 屏蔽主机网关( ScreenedHostGateway)易
于实现也很安全,因此应用广泛。
? 如果受保护网是一个虚拟扩展的本地网,
即没有子网和路由器,那么内网的变化不
影响堡垒主机和屏蔽路由器的配置。危险
带限制在堡垒主机和屏蔽路由器。
被屏蔽子网
? 被屏蔽子网 ( ScreenedSubnet)方法是在内部网
络和外部网络之间建立一个被隔离的子网,用两
台分组过滤路由器将这一子网分别与内部网络和
外部网络分开。
? Screened-subnet包含两个 Screeningrouter和两个
Bastionhost。在公共网络和私有网络之间构成了
一个隔离网,称之为 "停火区 "( DMZ,即
DemilitarizedZone),Bastionhost放置在 "停火区
"内。这种结构安全性好,只有当两个安全单元被
破坏后,网络才被暴露,但是成本也很昂贵。
多重防火墙组合技术
? 多重防火墙的组合方式主要有两种:叠加式和并行
式。
? 叠加式将多台防火墙串联在一条链路之上(如企业
网络的出口位置),所有访问流量都要先后通过多
台不同厂家的防火墙的审计保护,每种防火墙都将
按照自己特定的体系结构和安全策略对过往流量进
行核查。
? 与叠加方式恰恰相反,并行式组合方式首先强调的
是提供整套系统的健壮性。
防火墙
? 防火墙的基本类型
– 网络级防火墙
– 应用级网关
– 电路级网关
– 规则检查防火墙
防火墙的基本类型
? 防火墙有许许多多种形式,有以软件形式
运行在普通计算机之上的,也有以固件形
式设计在路由器之中的。总的来说业界的
分类有三种:包过滤防火墙,应用级网关
和状态监视器。
? 实现防火墙的技术包括四大类:网络级防
火墙(也叫包过滤型防火墙)、应用级网
关、电路级网关和规则检查防火墙。
网络级防火墙
? 一般是基于源地址和目的地址、应用或协
议以及每个 IP包的端口来,作出通过与否的
判断。
? 网络级防火墙简洁、速度快、费用低,并
且对用户透明,但是对网络的保护很有限,
因为它只检查地址和端口,对网络更高协
议层的信息无理解能力。
应用级网关
? 应用级网关能够检查进出的数据包,通过
网关复制传递数据,防止在受信任服务器
和客户机与不受信任的主机间直接建立联
系。
? 应用级网关有较好的访问控制,是目前最
安全的防火墙技术,但实现困难,而且有
的应用级网关缺乏 "透明度 "。
电路级网关
? 电路级网关用来监控受信任的客户或服务
器与不受信任的主机间的 TCP握手信息,这
样来决定该会话 (Session)是否合法,电路
级网关是在 OSI模型中会话层上来过滤数据
包,这样比包过滤防火墙要高二层。
规则检查防火墙
? 该防火墙结合了包过滤防火墙、电路级网
关和应用级网关的特点。
? 规则检查防火墙虽然集成前三者的特点,
但是不同于一个应用级网关的是,它并不
打破客户机 /服务机的模式来分析应用层的
数据,它允许受信任的客户机和不受信任
的主机建立直接连接。
防火墙
? 防火墙技术
– 包过滤技术
– 应用网关技术
– 状态监测防火墙
– 应用层防火墙
包过滤技术
? 包过滤技术( IPfilteringorpacketfiltering)的原理
在于监视并过滤网络上流入和流出的 IP包,拒绝
发送可疑的包,用户可在路由表中设定需要屏蔽
或需要保护的源/目的主机的 IP地址或端口号,
在外来数据包进入企业的内部网络之前,路由器
先检测源/远宿主机地址,如地址不符,则将该
包滤除。
? 包过滤防火墙的优点是它对于用户来说是透明的,
处理速度快而且易于维护,通常做为第一道防线
应用网关技术
? 应用网关技术( Applicationgateway)该技术又称
为双主机技术( DualHomedHost),采用主机取
代路由器执行控管功能。
? 主机是内外网络连接的桥梁,是内外联系的唯一
途径,起着网关的作用,也被成为 BastionHost
(堡垒主机)。在应用网关上运行应用代理程序
( ApplicationProxy),一方面代替原服务器程序,
与客户程序建立连接,另一方面代替客户程序,
与原服务器建立连接,使合法用户可以通过应用
网关安全地使用 Internet,而对非法用户不予理睬。
应用网关技术
? 与包过滤技术相比,应用网关技术更加灵
活;由于作用在用户层,因此能执行更细
致的检查工作。但软件开销大,管理和维
护比较复杂。
状态监测防火墙
? 这种防火墙具有非常好的安全特性,它使用了一
个在网关上执行网络安全策略的软件模块,称之
为监测引擎。
? 监测引擎在不影响网络正常运行的前提下,采用
抽取有关数据的方法对网络通信的各层实施监测,
抽取状态信息,并动态地保存起来作为以后执行
安全策略的参考。监测引擎支持多种协议和应用
程序,并可以很容易地实现应用和服务的扩充。
状态监测防火墙
? 与前两种防火墙不同,当用户访问请求到达网关
的操作系统前,状态监视器要抽取有关数据进行
分析,结合网络配置和安全规定做出接纳、拒绝、
身份认证、报警或给该通信加密等处理动作。一
旦某个访问违反安全规定,就会拒绝该访问,并
报告有关状态作日志记录。
? 状态监测防火墙的另一个优点是它会监测无连接
状态的远程过程调用( RPC)和用户数据报 (UDP)
之类的端口信息,而包过滤和应用网关防火墙都
不支持此类应用。
应用层防火墙
? 1、应用代理服务器
( ApplicationGatewayProxy)
– 在网络应用层提供授权检查及代理服务。
– 应用网关代理的优点是既可以隐藏内部 IP地址,
也可以给单个用户授权,即使攻击者盗用了一
个合法的 IP地址,也通不过严格的身份认证。
– 但是这种认证使得应用网关不透明,用户每次
连接都要受到认证,这给用户带来许多不便。
应用层防火墙
? 2、回路级代理服务器
– 即通常意义的代理服务器,它适用于多个协议,
但不能解释应用协议,需要通过其他方式来获
得信息,所以,回路级代理服务器通常要求修
改过的用户程序。
– 套接字服务器( SocketsServer)就是回路级代
理服务器。
应用层防火墙
? 3、代管服务器
– 代管服务器技术是把不安全的服务如 FTP、
Telnet等放到防火墙上,使它同时充当服务器,
对外部的请求作出回答。
? 4,IP通道( IPTunnels)
应用层防火墙
? 5、隔离域名服务器
( SplitDomainNameServer)
– 这种技术是通过防火墙将受保护网络的域名服
务器与外部网的域名服务器隔离,使外部网的
域名服务器只能看到防火墙的 IP地址,无法了
解受保护网络的具体情况,这样可以保证受保
护网络的 IP地址不被外部网络知悉。
? 6、邮件转发技术( MailForwarding)
防火墙
? 透明防火墙
– 防火墙的透明模式
– 透明代理
? 防火墙设计
– 软硬件设计依据
– Linux包过滤防火墙实例
– 接口隔离防火墙实例
? 防火墙展望
防火墙的透明模式
? 透明模式,顾名思义,首要的特点就是对
用户是透明的( Transparent),即用户意
识不到防火墙的存在。
? 透明模式最大的好处在于现有网络无需做
任何改动,这就方便了很多客户,再者,
从透明模式转换到非透明模式又很容易,
适用性显然较广。
防火墙的透明模式
? 透明模式的防火墙就好像是一台网桥 (非透明的防
火墙好像一台路由器 ),网络设备 (包括主机、路
由器、工作站等 )和所有计算机的设置(包括 IP地
址和网关)无须改变,同时解析所有通过它的数
据包,既增加了网络的安全性,又降低了用户管
理的复杂程度。而与透明模式在称呼上相似的透
明代理,和传统代理一样,可以比包过滤更深层
次地检查数
? 目前透明模式的实现上可采用 ARP代理和路由技
术实现。
透明代理
? 一般使用代理服务器时,每个用户需要在
客户端程序中指明要使用代理,自行设置
Proxy参数(如在浏览器中有专门的设置来
指明 HTTP或 FTP等的代理)。而透明代理
服务,用户不需要任何设置就可以使用代
理服务器,简化了网络的设置过程。
透明代理
? 透明代理的原理如下:假设 A为内部网络客户机,B为外部
网络服务器,C为防火墙。当 A对 B有连接请求时,TCP连
接请求被防火墙截取并加以监控。截取后当发现连接需要
使用代理服务器时,A和 C之间首先建立连接,然后防火墙
建立相应的代理服务通道与目标 B建立连接,由此通过代
理服务器建立 A和目标地址 B的数据传输途径。从用户的角
度看,A和 B的连接是直接的,而实际上 A是通过代理服务
器 C和 B建立连接的。反之,当 B对 A有连接请求时原理相
同。由于这些连接过程是自动的,不需要客户端手工配置
代理服务器,甚至用户根本不知道代理服务器的存在,因
而对用户来说是透明的。
防火墙
? 透明防火墙
– 防火墙的透明模式
– 透明代理
? 防火墙设计
– 软硬件设计依据
– Linux包过滤防火墙实例
– 接口隔离防火墙实例
? 防火墙展望
软硬件设计依据
? 防火墙从实现上可以分为软件防火墙和硬件防火
墙。
? 软件防火墙以 checkpoint公司的 Firewall-I为代表,
其实现是通过 dev_add_pack的办法加载过滤函数
(对于 Linux来说),通过在操作系统底层做工作
来实现防火墙的各种功能和优化。
? 硬件防火墙一种是从硬件到软件都单独设计,典
型如 Netscreen防火墙不但软件部分单独设计,硬
件部分也采用专门的 ASIC集成电路。另外一种就
是基于 PC架构的使用经过定制的通用操作系统的
所谓硬件防火墙。
软硬件设计依据
? 防火墙需要一个管理界面,而管理过程如
何设计的更安全,是一个很重要的问题。
目前有两种方案。
– a.设置专门的服务端口
– b.通信过程加密
软硬件设计依据
? 可升级能力(适用性)和灵活性
? 目前防火墙一般都是软件可升级的。防火
墙的灵活性主要体现在以下几点,
– a.易于升级
– b.支持大量协议
– c.易于管理(如纳入通用设备管理体系(支持
SNMP)而不是单列出来)
– d.功能可扩展
Linux包过滤 防火墙实例
? 设计思路:采用 linux的 iptables实现一个简
单的包过滤防火墙,iptables是一个管理内
核包过虑的工具,iptables可以加入、插入
或删除核心包过滤表格 (链 )中的规则。实际
上真正来执行这些过虑规则的是
netfilter(Linux核心中一个通用架构 )及其相
关模块 (如 iptables模块和 nat模块 )。
Linux包过滤 防火墙实例
? 数据包在 filter表中的流程,有数据包进入系统时,系统首
先根据路由表决定将数据包发给哪一条链,则可能有三种
情况,
– 1、如果数据包的目的地址是本机,则系统将数据包送往 INPUT链,
如果通过规则检查,则该包被发给相应的本地进程处理;如果没
通过规则检查,系统就会将这个包丢掉;
– 2、如果数据包的目的地址不是本机,也就是说,这个包将被转发,
则系统将数据包送往 FORWARD链,如果通过规则检查,则该包被
发给相应的本地进程处理;如果没通过规则检查,系统就会将这
个包丢掉;
– 3、如果数据包是由本地系统进程产生的,则系统将其送往
OUTPUT链,如果通过规则检查,则该包被发给相应的本地进程处
理;如果没通过规则检查,系统就会将这个包丢掉。
接口隔离防火墙实例
? 本系统开发重点在于串口、并口,USB口的
通讯,以及透明网关的实现。
? 系统组成如图 1所示。
后 端 服 务 器
前 置 服 务 器
R S 2 3 2 串 口 线
L P T 并 口 线
U S B 接 口 线
公 网企 业 内 部 网
接口隔离防火墙实例
? 系统总体功能结构设
计如图 2所示。
接受并
且处理
数据的
收发
确保物
理层数
据的正
确性




数据完
整性
请求服
务器连
接与数
据收发
防火墙
? 透明防火墙
– 防火墙的透明模式
– 透明代理
? 防火墙设计
– 软硬件设计依据
– Linux包过滤防火墙实例
– 接口隔离防火墙实例
? 防火墙展望
防火墙展望
? 1、多级过滤技术
– 所谓多级过滤技术,是指防火墙一般采用多级
过滤措施,并辅以鉴别手段。
? 2、网络安全产品的系统化
作业
? 设计包过滤防火墙
? 设计防止开后门软件,实时检测系统的端
口服务并自动删除非法服务
? 设计 usb隔离软件,将两台计算机通过 usb
连接,分离两个网络,但是通过 usb连接到
88