第3章信息系统隔离技术 隔离就是在内部系统与对外连接通道上设置阻塞点,以 便对攻击者进行监视和控制,有效地维持被保护网络的 边界安全。按照《国家信息化领导小组关于我国电子政 务建设的指导意见》,“电子政务网络由政务内网和政 务外网构成,两网之间物理隔离,政务外网与 Internet之 间逻辑隔离”,网络隔离技术从大的方面看,可以分为 逻辑隔离(主要指防火墙)和物理隔离(主要指网闸)。 本章主要介绍它们及其相关技术
第3章 信息系统隔离技术 隔离就是在内部系统与对外连接通道上设置阻塞点,以 便对攻击者进行监视和控制,有效地维持被保护网络的 边界安全。按照《国家信息化领导小组关于我国电子政 务建设的指导意见》,“电子政务网络由政务内网和政 务外网构成,两网之间物理隔离,政务外网与Internet之 间逻辑隔离”,网络隔离技术从大的方面看,可以分为 逻辑隔离(主要指防火墙)和物理隔离(主要指网闸)。 本章主要介绍它们及其相关技术
信息系统隔离技术 3.1数据过滤技术 32网络地址转换 33代理技术 34网络防火墙 35网络的物理隔离技术 3.6计算机系统的电磁防护
信息系统隔离技术 ▪ 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 包的封装 传输层 TCPUDPICMP 网络层 数据解包 IP 网络层仓头 网络接口层 ATM.Etherne等 链路层包头 包 图31 TCP/IP网络中数据包的封装与解包 ■图中的虚箭头为发送端的数据封装过程; 实箭头表示接收端的数据解包过程 ■应当注意,包过滤是根据数据包的特征进行的。其中,主要 根据数据包头的一些字段的特征进行。同时,不同的协议所 规定的包头格式不同。因此在制定过滤规则前,应当充分了 解数据包的格式。前面图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 1 版本头标长服务类型 总长 标识 标志 片偏移 生存时间 协议 报头校验和 源IP地址 目的IP地址 IP分组选项 填充 数据 (a)IP分组格式 78 15 UDP源端口UDP目的端口 类型码代码 校验和 UDP数据报长度UDP校验和 首部其余部分 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 在|P数据包中,“协议字段”用以标识接收的P分组中的数据的高 层(传输层)协议。高层协议号由TCP/P协议中央权威机构NC ( Network Information center)分配,如:1——控制报文协议 LCMP,6——传输控制协议TCP,8——外部网关协议EGP,17 用户数据抱协议UDP,29—传输层协议第4类|SOTP4
(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数据包中,T0S描述P分组所希望获得的服务质量,占8位,包括 ■低延迟、高吞吐量、高可靠性,各占1位; 优先级,共8级,占3位 未用2位。 表31列出了RFC1349 Almquist1992对于不同应用建议的TS值。 (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代Rlgi 0x10 FTP 控制 100 0 0000 0000000 0x10 数据 0x08 任意块数据 0x08 TFTP SMTP 命令 0x10 数据 UDP查 询 0000 0x08 0x10 TCP查 0 0x00 区域传 专输 0x08 ICMP 差错 0x00 查询 000000 00000 0x00 任何IGP 0x04 SNMP 0000 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. 数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述:一条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检查,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: ▪ 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略。 ▪ 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络