第3章信息系统隔离技术 隔离就是在内部系统与对外连接通道上设置阻塞点,以 便对攻击者进行监视和控制,有效地维持被保护网络的 边界安全。按照《国家信息化领导小组关于我国电子政 务建设的指导意见》,“电子政务网络由政务内网和政 务外网构成,两网之间物理隔离,政务外网与 Internet之 间逻辑隔离”,网络隔离技术从大的方面看,可以分为 逻辑隔离(主要指防火墙)和物理隔离(主要指网闸)。 本章主要介绍它们及其相关技术
第3章 信息系统隔离技术 隔离就是在内部系统与对外连接通道上设置阻塞点,以 便对攻击者进行监视和控制,有效地维持被保护网络的 边界安全。按照《国家信息化领导小组关于我国电子政 务建设的指导意见》,“电子政务网络由政务内网和政 务外网构成,两网之间物理隔离,政务外网与Internet之 间逻辑隔离”,网络隔离技术从大的方面看,可以分为 逻辑隔离(主要指防火墙)和物理隔离(主要指网闸)。 本章主要介绍它们及其相关技术
信息系统隔离技术 3.1数据过滤技术 3.2网络地址转换 3.3代理技术 34网络防火墙 3.5网络的物理隔离技术 36计算机系统的电磁防护
信息系统隔离技术 ▪ 3.1 数据过滤技术 ▪ 3.2 网络地址转换 ▪ 3.3 代理技术 ▪ 3.4 网络防火墙 ▪ 3.5 网络的物理隔离技术 ▪ 3.6 计算机系统的电磁防护
311数据过滤技术概述一 1.数据包及其结构 在网络中传输的数据是从应用程序那里递交来的。应 用程序递交给网络要传输的数据后,网络就要逐层向 下,转交给下面的一层去实施,每交到下一层,就要 按照本层的协议要求进行一次打包,形成不同协议层 中的数据包( Packet),直到物理网络。图3.1表明在 TCP/P网络中数据包的封装与解包过程。图中的虚箭 头为发送端的数据封裝过程,实箭头表示接收端的数 据解包过程
3.1.1 数据过滤技术概述 1. 数据包及其结构 在网络中传输的数据是从应用程序那里递交来的。应 用程序递交给网络要传输的数据后,网络就要逐层向 下,转交给下面的一层去实施,每交到下一层,就要 按照本层的协议要求进行一次打包,形成不同协议层 中的数据包(Packet),直到物理网络。图3.1表明在 TCP/IP网络中数据包的封装与解包过程。图中的虚箭 头为发送端的数据封装过程,实箭头表示接收端的数 据解包过程
应用层 SMTP Telnet FTP 包的封装 传输层 TCP.UDPICMP 包 网络层 数据解包 IP 网络接口层 ATM.Ethernet等 链路 图31TcPP网络中数据包的封装与解包 图中的虚箭头为发送端的数据封装过程; 实箭头表示接收端的数据解包过程 应当注意,包过滤是根据数据包的特征进行的。其中,主要 根据数据包头的一些字段的特征进行。同时,不同的协议所 规定的包头格式不同。因此在制定过滤规则前,应当充分了 解数据包的格式。前面图28介绍了TCP数据报的格式,图 29介绍了用于以太网的ARP分组格式,下面在图32中,还 列出了其他一些常用的数据包的格式,供本书后面的讨论中 使用
图3.1 TCP/IP网络中数据包的封装与解包 ▪ 图中的虚箭头为发送端的数据封装过程; 数据 传输层包头 包体 网络层包头 包体 链路层包头 包体 应用层 SMTP,Telnet,FTP TCP,UDP,ICMP 传输层 IP 网络层 网络接口层 ATM,Ethernet等 包的封装 数据解包 ▪ 实箭头表示接收端的数据解包过程。 ▪ 应当注意,包过滤是根据数据包的特征进行的。其中,主要 根据数据包头的一些字段的特征进行。同时,不同的协议所 规定的包头格式不同。因此在制定过滤规则前,应当充分了 解数据包的格式。前面图2.8介绍了TCP数据报的格式,图 2.9介绍了用于以太网的ARP分组格式,下面在图3.2中,还 列出了其他一些常用的数据包的格式,供本书后面的讨论中 使用
0 34.78 1516.1819 2324 31 版本头标长服务类型 总长 标识 标志 片偏移 生存时间协议 报头校验和 源IP地址 目的IP地址 IP分组选项 填充 数据 (a)|P分组格式 UDP源端口|UDP目的端口 类型码代码 校验和 UDP数据报长度]UD尸校验和 首部其余部分 UDP数据区 数据部分 (b)UDP数据报格式 (c)CMP分组的格式 图32其它一些数据包的格式
图3.2 其它一些数据包的格式 类型码 代 码 校验和 首部其余部分 数据部分 0 … 7 8 … 15 UDP 源端口 UDP 数据区 UDP 目的端口 UDP 数据报长度 UDP 校验和 … 版本 头标长 服务类型 总 长 标 识 标志 片偏移 生存时间 协议 报头校验和 源IP地址 目的IP地址 IP分组选项 填充 数 据 0 … 3 4 … 7 8 … 15 16 … 18 19 … 23 24 … 31 (a) IP分组格式 (b) UDP数据报格式 (c) ICMP分组的格式
数据包中可以体现数据包特征的有关字段 (1)源地址( Source Address)和目的地址( Destination address) 它们各表明数据包的源P地址和目标|P目的地址。根据地址,还可 以判断出数据流的方向:是由外部网络流入内部网络——往内(流 入),还是由内部网络流入外部网络——往外(流出)。 (2)标识符 是发送方分配的一个独一无二的编号,用于标识同一数据报中的各 分组,以便组装。 (3)标志F(Fag) F共占3位 第1位恒为0 第2位为0时是可分片,为1时是不可分片; 第3位为0时是最后报片,为1时是非最后报片
数据包中可以体现数据包特征的有关字段 (1)源地址(Source Address)和目的地址(Destination Address) 它们各表明数据包的源IP地址和目标IP目的地址。根据地址,还可 以判断出数据流的方向:是由外部网络流入内部网络——往内(流 入),还是由内部网络流入外部网络——往外(流出)。 (2)标识符 是发送方分配的一个独一无二的编号,用于标识同一数据报中的各 分组,以便组装。 (3)标志F(Flag) F共占3位: ▪ 第1位恒为0; ▪ 第2位为0时是可分片,为1时是不可分片; ▪ 第3位为0时是最后报片,为1时是非最后报片
(4)片偏移量FO( Fragment Offset) FO占13位,用以标明当前段片在初始|P分组中的位置,目的主机 可以根据FO来重新组合P分组。 (5)源端口( Source Port)和目的端口( Destination port 在TCP和UDP数据包中,源端口和目的端口分别表示本地通信端口 和地通信端口。端口号是按照协议类型分配的,所以端口号也表明 了所传输的数据包服务的协议类型。 (6)协议Prot( Protocol 在IP数据包中,“协议字段”用以标识接收的IP分组中的数据的高 层(传输层)协议。高层协议号由TCP|P协议中央权威机构NC ( Network Information Center)分配,如:1——控制报文协议 ICMP,6——传输控制协议TCP,8——外部网关协议EGP,17 用户数据抱协议UDP,29—传输层协议第4类|SO-TP4
(4)片偏移量FO(Fragment Offset) FO占13位,用以标明当前段片在初始IP分组中的位置,目的主机 可以根据FO来重新组合IP分组。 (5)源端口(Source Port)和目的端口(Destination Port) 在TCP和UDP数据包中,源端口和目的端口分别表示本地通信端口 和地通信端口。端口号是按照协议类型分配的,所以端口号也表明 了所传输的数据包服务的协议类型。 (6)协议Prot(Protocol) 在IP数据包中,“协议字段”用以标识接收的IP分组中的数据的高 层(传输层)协议。高层协议号由TCP/IP协议中央权威机构NIC (Network Information Center)分配,如:1——控制报文协议 ICMP,6——传输控制协议TCP,8——外部网关协议EGP,17— —用户数据抱协议UDP,29——传输层协议第4类ISO-TP4
(7)服务类型ToS( Type of Service) 在|P数据包中,ToS描述P分组所希望获得的服务质量,占8位,包括 低延迟、高吞吐量、高可靠性,各占1位; 优先级,共8级,占3位 未用2位。 表31列出了RFC1349 Almquist1992]对于不同应用建议的ToS值 (8)数据包内容 前面的7个字段都来自数据包头中,而数据内容则是来自数据包体 中。如数据内容中一些关键词可以代表数据内容的某一方面的特征。 对数据包内容的抽取,将会形成依据内容的包过滤规则。这是目前 包过滤技术研究的一个重要方面
(7)服务类型ToS(Type of Service) 在IP数据包中,ToS描述IP分组所希望获得的服务质量,占8位,包括: ▪ 低延迟、高吞吐量、高可靠性,各占1位; ▪ 优先级,共8级,占3位; ▪ 未用2位。 (8)数据包内容 前面的7个字段都来自数据包头中,而数据内容则是来自数据包体 中。如数据内容中一些关键词可以代表数据内容的某一方面的特征。 对数据包内容的抽取,将会形成依据内容的包过滤规则。这是目前 包过滤技术研究的一个重要方面。 表3.1列出了RFC 1349[Almquist 1992]对于不同应用建议的ToS值
用程 最小时延 最大吞吐量 最高可靠性 最小费用 十六进制值 Telnet/rlogin FTP 控制 0x10 数据 任意块数据 TFTP 000 0000000 0x08 0x08 0x10 SMTP 命令 0x10 数据 0x08 UDP查询 0x10 TCP查询 0x00 区域传输 000000 00000000 0x08 CMP 差错 0x00 查询 00000000 000000 0x00 任何IGP 0x04 SNMP 0x04 BOOTP 0x00 NNTP 0x02 表31RFC1349 Almquist1992对于不同应用建议的ToS值
表3.1 RFC 1349[Almquist 1992]对于不同应用建议的ToS值 应用程序 最小时延 最大吞吐量 最高可靠性 最小费用 十六进制值 Telnet/Rlogin 1 0 0 0 0x10 FTP 控制 1 0 0 0 0x10 数据 0 1 0 0 0x08 任意块数据 0 1 0 0 0x08 TFTP 1 0 0 0 0x10 SMTP 命令 1 0 0 0 0x10 数据 0 1 0 0 0x08 DNS UDP查询 1 0 0 0 0x10 TCP查询 0 0 0 0 0x00 区域传输 0 1 0 0 0x08 ICMP 差错 0 0 0 0 0x00 查询 0 0 0 0 0x00 任何IGP 0 0 1 0 0x04 SNMP 0 0 1 0 0x04 BOOTP 0 0 0 0 0x00 NNTP 0 0 0 1 0x02
2.数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述 条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检查,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络
2. 数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述:一条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检查,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: ▪ 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略。 ▪ 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络