Internet基础设施安全.ppt
5.1 Internet安全概述,5.1.2 Internet安全问题 Internet安全主要包括:(1)如何防止敏感信息被随意地访问;(2)如何保护网络及其资源,以防黑客的蓄意破坏。敏感信息在网络上以两种形式存在,即存储在物理介质(如硬盘或 内存)上,或以数据包的形式在网络线路上传播。这两种信息形式为攻击内部网上的用户提供了诸多机会,它涉及网络安全问题,破坏网上信息有六种方法:第一:数据包探测器;第二:IP欺骗;第三:口令袭击;第四:把敏感的内部信息发布到外界;第五:中间人(Man-in-the-middle)袭击;第六:Deny of Service(DoS)拒绝服务攻击。,5.1.2 Internet安全问题,数据包探测器 IP欺骗口令袭击 敏感信息发布 中间人袭击 DoS攻击,5.1.3 安全范围的建立,Internet安全主要包括:(1)安全方案的重要部分是设置网络防火墙(2)网络安全策略的核心是控制网络传输和用途 周边网络 1.多周边网络 2.有最远周边 3.内部周边和最近周边三种类型,5.1.3 安全范围的建立,安全设计 1.了解敌人 2.计算开销3.假设鉴别 4.控制秘密5.关注人为因素 6.了解系统弱点7.限制访问权限 8.了解环境9.限制确信 10.记住物理安全性11.安全普及人员和用户都应考虑每个改变对安全的影响,要进行全面考虑,并探讨服务可能进行的操作。12.针对电子商务的特点而提出的新的安全需求:(1)身份的真实性(2)信息的完整性(3)信息的保密性(4)访问可控性(5)抗抵赖性,5.1.4 安全措施及解决方案,一个行之有效的安全措施是从检测网络中的威胁、安全装置和脆弱性入手,围绕下述几个方面进行保护:办公地点;工作站;服务器;网络打印机等外设;电缆与外界的联接器。本质上,Internet的安全性只能通过提供下面两方面的安全服务来达到:访问控制服务用来保护计算和联网资源不被非授权使用;通信安全服务用来提供认证,数据机要性与完整性和各通信端的不可否认性服务。,5.2 DNS的安全性,5.2.2 DNS的关键概念域名空间(Domain Name Space)在实际运用中,DNS可以看成是一个主机名(Names)的分布式数据库。这里提到的分布式是指在Internet上的单个站点不能拥有所有的信息。每个站点(如大学中的系、校园、公司或公司中的部门)保留它自己的信息数据库,并运行一个服务器程序供Internet上的其他系统(客户程序)查询。这些主机名建立了一个反方向的逻辑树形结构,称之为域名空间(Domain Name Space)。可以形象地说,域名空间就是由Internet上众多的DNS服务器中的数据记录组成。顶级域(Top Level Domain)DNS域的根域(root domain)是由NIC统一管理,它也负责分派全球范围内的域名。在根域下面的子域,类似与.com,.org,.edu等,就称为顶级域。,5.2 DNS的安全性,正向映射和反向映射空间 在上面提到了DNS有正向映射和反向映射两种功能,这两种功能导致了两个命名空间:一个正向映射空间首先分为.com,.edu等顶级域,它们可以划分成各个不同的子域,子域又可以继续分成下一层子域,等等,它们负责从域名到IP地址的映射;另一个反向映射空间中,所有的IP组成一个叫做arpa.in-addr的顶级域,然后再根据IP层层细分。域(Domain)域名空间中每一个节点以及节点下面的树枝构成了一个域(Domain),也就是说,域名空间中一棵逻辑子树称为域(Domain)。而每一个节点或者域(domain)都可以细分为多个子域(subdomain),也就是多条树枝。一般来说,一个domain中的映射关系是由一台主机服务器负责。,5.2 DNS的安全性,区域(Zone)一般来说域名空间的一部分如果存有数据库记录并且这些记录是由一个特殊的区域文件管理,这一部分域名空间就可以称为一个区域(Zone)。简单来讲,一个区域(zone)就是一棵独立管理的域名空间的子树。精确点来说,每个zone由一个名字服务器负责。名字服务器(Name Servers)名字服务器能够高速缓存域名树的任何一部分信息,一般一个区域拥有一台包含区域中所有主机信息的名字服务器,该名字服务器也可称为授权(authoritative)名字服务器,也称为主名字服务器(primary,master)。显然,为了防止主名字服务器当机而导致无法实现域名解析,在一个区域内,还应该存在一台或多台备用名字服务器(secondary,slave)。,5.2 DNS的安全性,资源记录(Resource Records,RRs)在DNS名字服务器中,一条信息就是一个资源记录(RR),每一个资源记录都有一种与之相关联的类型,描述了它所表示的数据。名字服务器中所有的信息都是以RR格式保存,该格式被用在DNS报文中传送信息。是DNS报文的关键组成部分。名字服务器(Name Servers)解析器就是一个位于服务器和客户端的中介程序,它从名字服务器取得信息来响应客户端的DNS请求。这里有一个重要的概念需要说明,Resolvers和Stub Resolvers是不同的概念。Stub Resolvers是客户端的一个程序库(例如UNIX下的gethostbyname,gethostbyaddr函数),客户端如果需要访问DNS,通过它向Resolvers发送DNS请求 授权(Delegation)每一个域(domain)可以根据需要细分成多个子域(sub-domain),这样,domain可以将它分出来的sub-domain的域名和IP映射交给另一部机器管理,这个动作就称为授权(delegation),5.2 DNS的安全性,5.2.3 DNS体系结构,图5-1 DNS的层次组织,5.2 DNS的安全性,图5-2 zone和domain的区别示意图,5.2 DNS的安全性,5.2.4 DNS工作原理 DNS报文,图5-3 DNS查询和响应报文的一般格式,5.2 DNS的安全性,DNS报文的类型,需要的服务,图5-4 DNS报文首部的标志字段,5.2 DNS的安全性,QR:1bit字段,0表示查询报文,1表示响应报文。Opcode:0表示标准查询,1表示反向查询,2表示服务器状态请求,5表示动态更新。AA:“授权回答(Authoritative Answer)”,由响应服务器填写,一般来说,该位置位表示响应来自授权的名字服务器,不置位表示响应来自cache。TC:表示相应数据包可截断,原因如节所述。RD:表示期待递归,在查询报文中填写,在响应报文中返回。该标志告诉服务器必须处理这个查询,如果被请求的服务器没有对应的授权回答,它需要返回给客户端一个能解答该查询的其他名字服务器列表。RA:表示可用递归,如果服务器支持递归查询,在响应中置位。一般来说,除了根服务器,都应该支持递归查询。Zero:必须为0.Rcode:返回码。0表示没有差错,3表示名字差错。首部标志后面的四个16bit的字段说明最后四个变长字段包含的条目数。,5.2 DNS的安全性,查询问题字段中可能包含一个或者多个问题,但是通常只有一个。每个问题的格式是一样的,如图5-5。查询名(可变长)查询类型(2字节)查询类(互联网=1):2字节图5-5 DNS查询报文中问题部分的格式,图5-5 DNS查询报文中问题部分的格式,5.2 DNS的安全性,一些常用的类型和查询类型,查询类型是类型的一个超集(Superset)。最常用的类型是A,也就是期望获得查询名的IP地址,对于反向查询,期望获得一个IP地址对应的域名,则为PTR类型。,表5-1 DNS问题和响应的类型值和查询类型值,5.2 DNS的安全性,DNS资源记录(RR)格式,图5-6 DNS资源记录(RR)格式,5.2 DNS的安全性,DNS资源数据(RDATA)几种常用的资源记录中的资源数据格式:A,MX,PTR,SOA,NS。这几种资源数据是DNS查询的基本类型。(1)A资源记录记录的是IP地址,因此它的资源数据项只有IP地址一项内容。(2)MX是邮件交换记录,它的资源数据项包含两项内容:preference,exchange。Preference是一个16bit的整数的优先级,表示了在同一个管理者下,同类型的MX记录中该记录的优先级。Exchange记录的是在该区域下将要执行邮件交换的主机的域名。(3)PTR是反向查询指针记录,资源数据只包含ptrdname项,它表示对应某个IP地址的本区域的域名。(4)NS是域名服务器记录,资源数据中只包含nsdname项,它为给定的某个域指定域名服务器。(5)SOA比较复杂,它表示某个区域名字服务器记录描述的开始。它的资源数据项的格式见图5-7。,5.2 DNS的安全性,+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/MNAME/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/RNAME/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|SERIAL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|REFRESH|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|RETRY|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|EXPIRE|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|MINIMUM|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+图5-7 SOA资源记录的资源数据项格式,5.2 DNS的安全性,DNS区域文件(zone file)区域文件中每一行的格式为:name class record_type data name指正在处理的主机名,比如说查询报文中的要求地址翻译的主机名,任何没有以点号结尾的主机名在后面添加域名,class一般都为IN,Internet地址。区域文件包含了这么四个方面的内容:区域中所有节点的认证数据(也就是地址转换等信息)区域内顶节点的数据:描述代表子区域的数据 访问子区域服务器的数据。,5.2 DNS的安全性,图5-8 一个简单的区域文件内容,5.2 DNS的安全性,DNS查询过程,图5-9 一个解析器查询的过程实例,5.2 DNS的安全性,5.2.5 DNS欺骗(DNS spoofing)1.误导目的地址 某个用户需要telnet到某一个服务器A上,telnet客户程序自动地通过解析器(resolver)向本地DNS名字服务器请求地址翻译,攻击者提供给用户一条虚假DNS响应,让解析器认为是来自本地DNS名字服务器的正确响应,于是用户得到的地址翻译结果(IP地址)是一个伪造的地址,接着,用户在telnet客户端输入帐号密码,当然,他认为他现在已经连接在服务器A上。不幸的事情发生了,他并不是连接在服务器A上,而是连接在一个攻击者伪造的IP地址上,当然,这时telnet连接会中断,用户可能重新进行telnet连接,这次他正确地连上了A服务器,他可能会忽视刚才发生的情况,因为telnet断线是一件再正常不过的事情了。于是,攻击者轻易地得到了该用户的帐号密码。2.DNS缓存中毒(DNS Cache Poisoning)DNS名字服务器为了提高查询效率,普遍使用了高速缓存(cache)技术,这项技术能够带来查询的高效率,但是也给攻击者提供了一个良好的场所。,5.2 DNS的安全性,5.2.6 DNS安全特点 DNS的安全和大家一般认为的网络安全存在不同之处。一般意义上的网络安全,特别关注于传输安全,例如IPSec技术,以保证信息在Internet上传送时不为攻击者所截获,要不就是关注于操作系统或者协议的漏洞,防止黑客利用这些漏洞攻击。但是DNS它的关注点不在传输上面,因为DNS的内容并不需要保密,而协议的漏洞,按照ISC(Industrial Security Committee)创始人Paul Vixie的说法:历史上几乎所有计算机或者计算机安全的漏洞都不在于协议或者基本加密算法的漏洞,而是在于实现过程的错误。DNS安全关注的应该是:如何保证收到的DNS报文是可信任、如何判断该报文是否完整、如何保证附加字段的信息是值得信任的。,5.2 DNS的安全性,5.2.7 DNS安全问题的解决方案 从前述对DNS几种攻击方法的分析中知道,DNS系统之所以容易受到欺骗的一个最根本的原因就是DNS服务器或者解析器无法分辨出DNS报文来源的真伪以及无法分辨出DNS报文是否被修改过。解决问题应该从源头解决,因此,DNSSEC的根本目标就是保护DNS查询报文的数据完整性和数据源的正确性。它主要采用的机制是非对称加密机制和数字签名机制。加密和签名是网络安全传输的一个基本特点和要求。采用何种加密算法和策略、以及采用何种数字签名机制能够更有效,更安全是很重要的。DNSSEC采用非对称加密算法中的公钥加密机制以及基于Hash函数的数字签名技术,在某些特殊场景下,DNSSEC也采用共享密钥和MAC机制来保证消息完整性。,5.3 IPSec安全协议,5.3.2 IPSec体系结构,5.3 IPSec安全协议,IPsec的处理,5.3 IPSec安全协议,5.3.3 安全联结(Security Association SA)定义 安全联结(Security Association,SA)是两个应用IPsec实体(主机、路由器)间的一个单向逻辑连接,是与给定的一个网络连接或一组连接相关的安全信息参数的集合,SA为在它之上所携带的业务流提供安全保护,决定保护什么、如何保护以及谁来保护通信数据。SA用一个三元组(安全参数索引SPI、目的IP地址、安全协议)唯一标识。模式 1.传输模式 2.隧道模式。,5.3 IPSec安全协议,(1)传输模式下,安全协议头(AH/ESP)紧跟在IP头及其选项之后,并位于其它上层协议头之前(如TCP/UDP)。(2)在隧道模式下,安全联结等同于用安全联结保护一条IPIP隧道。在隧道模式下的IP报文有一个外层IP头,它定义了IPsec协议处理的终点,同时还有一个内层IP头,它定义了这个IP报文的最终信宿的地址。安全协议头界于外层IP头与内层IP头之间。如果采用的是AH协议,那么能保护外层IP头的部分信息和所有内层运载的数据;如果是ESP协议,那么只保护所有内层运载的数据,而不保护外层IP头信息。,原始的IP包,传输模式受保护的包,隧道模式受保护的包,5.3 IPSec安全协议,安全联结数据库 1.介绍 IPSec协议规范给出了一个外在特性的模板,该模板包含两个名义上的数据库:安全策略数据库(Security Policy Database)和安全联结数据库(Security Association Database)。2.安全策略数据库 制定安全策略,首先要检查如下问题:(1)IPSec协议要保护哪些资源?(2)这些资源防备哪些攻击者?(3)有什么样的攻击手段?(4)采取什么具体协议和算法最经济有效?,5.3 IPSec安全协议,在确定了这些问题的基础上,再来制定具体策略,即保护网络资 源避免受损失和破坏的方法。通常有两种设计策略:允许除明确拒绝之外的所有网络通信。拒绝除明确允许之外的所有网络通信。对于每个IP数据报,有三种可能的安全策略:丢弃、绕过IPSec处理和经过IPSec处理。安全策略对应其一。第一种策略不允许相应的IP数据报通过安全网关,或者不允许它被递交给上层应用;第二种策略允许发送没有被IPSec协议保护的IP数据报;第三种策略要求相应的IP数据报必须被IPSec协议保护,并且指明了所用的安全协议和算法等要素。,5.3 IPSec安全协议,3.选择符 可以采用的选择符有:目的IP地址:可以是一个IP地址,可以是一个地址范围,也可以是个网段。源IP地址 传输层协议(如TCP/UDP)传输层的源和目的端口4.安全联结库(1)对于输出报文,它所要使用的安全联结由安全策略指定(2)对于输入的报文,就由三元组:来确定。,5.3 IPSec安全协议,一个安全联结库应含如下内容:(1)所使用的安全协议:AH或ESP。(2)协议模式:隧道或传输模式。(3)序号计数值用于产生AH或ESP头的序号。(4)序号溢出标志:指示序号溢出的情况。(5)防重放窗口:由一个32位计数器与一个位图组成,用来检查重放报文。(6)AH协议认证算法和密钥。(7)ESP协议加密算法及其密钥、初始向量和模式。(8)ESP协议认证算法和密钥。(9)生存期。生存期有两种形式:以时间为单位和以字节为单位。前者规定了这个安全联结的有效使用时间;后者规定这个安全联结最多能处理的字节数(加密或认证算法计算的字节总数)。当生存期满后,通信的双方可以协议商生成一个新的安全联结。,5.3 IPSec安全协议,安全联结和密钥管理 1.人工方式 2.自动方式5 SA与多播,5.3 IPSec安全协议,5.3.4 认证头协议规范认证头协议介绍 认证头(Authenication Header)协议保护IP数据库,提供无连接的完整性和数据源头的认证(统称为认证),以及防止“重放攻击”服务。SA用一个三元组(安全参数索引SPI、目的IP地址、安全协议)唯一标识。报文格式,5.3 IPSec安全协议,1.上层协议:上层协议字段为8比特,定义了紧接AH头的上层协议类型。2.负荷长度:这是一个8位的字段,其值等于AH头长度(以32位字计算)减去2。保留字段:用于今后的扩充,应填0。3.安全参数索引值:SPI是一个32位的值,用以区分那些目的IP地址和安全协议类型相同,但算法不同的数据报。4.序号:序号为32位的整数,它代表一个单调递增计数器的值。5.认证数据:这个域的长度可变,它存放IP数据报的完整性校验值(ICV)。,5.3 IPSec安全协议,原始的IP报文,认证范围(除可变字段外),协议首部处理 1.位置 传输模式,经AH协议传输模式认证,认证范围(除可变字段外),经AH协议隧道认证,(2)隧道模式,5.3 IPSec安全协议,2.算法一致性要求 3.认证值的计算(1)计算覆盖的范围 AH头的ICV计算覆盖如下区域:在传输过程中,IP头中那些不变字段,或是尽管变,但其值可以被预测的字段。AH头和可能的填充字节,认证数据在ICV计算时全部填0。上层协议数据,这些数据在传输过程中不会发生变化。,5.3 IPSec安全协议,(2)可变域的处理在传输过程中,IP头和它的选项可能发生改变:IP头 IPv4头中的字段有不变的,有可变的,有可变但是可预测的:不变字段:版本号、IP头长度、数据报总长、标识、上层协议、源地址、目的地址(没有源选径选项时)。可变但可预测的字段:目的地址(有源选径选项时)。可变且不可预测的字段:服务类型(TOS)、标志、生存期、头校验和。TOS:尽管在IP协议中,TOS是不可变的,但有些路由器要修改这个字段的值。标志:因为IP数据报在传输过程中可能被分段,所以标志字段的DF位有可能发生变化。生存期:这个字段的值随经过的路由器而变化,因此也不可预测。头校验和:如果上述几个字段发生变化,它的值自然随之改变。,5.3 IPSec安全协议,IP选项 在IPv4中,每一选项都被视为一个整体,所以尽管选项的类型和长度没有发生改变,只要其内容改变了,这一选项都被认为是可变的。对于这种情况,在计算ICV时,把这个选项整体填充为0。4.填充处理(1)认证数据填充(2)包长填充,5.3 IPSec安全协议,5.3.5 安全封装协议规范安全封装协议介绍 安全封装协议(Encapsulating Security Payload)可以为IP数据报提供几种安全服务。它可以单独使用,也可以与AH协议一起使用,或者以隧道方式嵌套使用。报文格式,5.3 IPSec安全协议,1.安全参数索引:与AH协议一样,收方可由此确定报文所用的安全联结。2.序号:与AH协议一样,这一序号也是一个递增计数器的值,用来防止重放攻击。3.载荷数据:载荷数据是非定长的域,用来存放经ESP协议处理过的数据,这些数据所属的类型由“下一协议头”字段定义。4.填充数据:由于以下几个原因,ESP需要填充字段:(1)加密算法需要明文长度为分组块长度的整数倍(2)填充字段还能保证上层协议字段的右边界以4字节对齐。(3)另外,通过使用填充字段,ESP协议能有效地隐藏实际载荷的长度,从而提供一定的流量保密性。5.上层协议:上层协议字段指出了载荷数据所包含的内容。6.认证数据:认证数据是ESP认证算法对从安全参数索引字段开始,到上层协议字段为止的所有数据进行认证的结果。,5.3 IPSec安全协议,报文处理 1.协议头位置(1)传输模式(2)隧道模式,原IP报文,(a)ESP传输模式,(b)ESP隧道模式图5-16 安全联结两种模式下的ESP协议头位置,5.3 IPSec安全协议,1.算法一致性要求 ESP协议所涉及的算法分为加密算法和认证算法两类,由相应的安全联结规定两种算法实施细节,但至少要选取一种算法。(1)加密算法(2)认证算法,5.3 IPSec安全协议,5.3.6 SA的使用SA的组合方式 1.“传输方式组合”,图5-17 传输方式组合,5.3 IPSec安全协议,2.“嵌套隧道”(1)所有的安全联结隧道的两个终点都分别一样(如图5-18示)。内外隧道协议可以是AH或ESP,但一般来说内外层的安全协议不会相同,如同是AH或ESP协议。,5.3 IPSec安全协议,(2)安全联结有一个共同的终点。内外层隧道协议可以是AH或ESP协议。,5.3 IPSec安全协议,(3)安全联结没有一个共同的终点。内外层隧道协议可以是AH或ESP协议。,5.3 IPSec安全协议,对于以传输方式组合的SA,只有一种实用顺序:由于传输方式的AH保护了上层协议数据和部分IP头数据,当AH与ESP一起使用时,AH应该紧接在IP头后,并位于ESP之前。这时,AH保护了ESP所加密的数据,IP包结构如图5-21所示。与此相对的是,在嵌套隧道组合方式下,可以有多种多样的组合顺序。,图5-21 加密后IP包结构,5.3 IPSec安全协议,使用SA实例,A的SPD,A的外出SADB,5.3 IPSec安全协议,RA的SPD,RA的外出SADB,RB的SPD,RB的进入SADB,5.3 IPSec安全协议,B的SPD,B的进入SADB,在RA与RB之间传送的IP包结构如图5-23所示:,5.3 IPSec安全协议,5.3.7 IPsec协议处理过程外出处理 1.丢弃丢弃数据包,并记录出错信息。2.绕过IPsec给数据包添加IP头,然后发送。3.应用IPsec查询SAD,确定是否存在有效的SA。,5.3 IPSec安全协议,(1)存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPsec头和IP头等),然后发送。AH输出包处理过程:AH头定位:在传输模式下,AH头插在IP头和上层协议头之间;在隧道模式下,AH头在整个原IP数据报之前。发送方对IP包计算认证数据ICV,并将结果放入输出包的认证数据字段随包发送。ESP输出包处理过程:ESP头定位:在传输模式下,ESP插在IP头和上一层协议头之间;在隧道模式下,ESP头在整个原IP数据报之前。包加密:a)封装:把数据封装到ESP的有效负载字段 传输模式只封装上层协议数据;隧道模式封装整个原IP数据报。b)加密:使用由SA指定的密钥和加密算法对上述结果加密。如果在ESP中选定了认证选项,发送方对IP包计算认证数据ICV,并将 结果放入输出包的认证数据字段随包发送。必要时进行分段。,5.3 IPSec安全协议,(2)尚未建立SA,策略管理模块启动或触发IKE协商,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。(3)存在SA但无效,策略管理模块将此信息向IKE通告。请求协商新的SA,协商成功后按1中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。进入处理 对于进入数据包,IPsec协议先根据包中目的IP地址、安全协议和SPI查询SAD,如得到有效的SA,则对数据包进行解封(或还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则按SA中指定的算法进行解密(用ESP协议时)并重新构造原IP数据报格式,然后将还原后的数据包交给TCP层或转发。如不相符,或要求应用IPsec但没有用于此会话的SA存在,或SA无效,则将数据包丢弃,并记入日志。,5.3 IPSec安全协议,5.3.8 AH协议与ESP协议比较认证服务:AH协议和ESP协议都提供认证服务功能。AH协议是专门用以提供认证服务;ESP协议的认证服务是它的选项,主要为了防止对协议的“剪贴”攻击。ESP提供的认证服务范围要比AH的窄,即ESP头以前的IP报文部分不会被保护;而AH协议认证了几乎所有的IP报文字段。保密服务:AH协议不提供保密服务,当不需要保密或者法律不允许保密的情况下,AH协议是一种恰当的安全协议;ESP主要用于数据保密。当使用隧道方式时,位于两个安全网关间的使用ESP保护的安全联结还可以提供一定的流量保密性。使用隧道方式时,由于内层的IP包被加密,所以隐藏了报文的实际源头和终点。更进一步的是,ESP使用的填充字节隐藏了报文的实际尺寸,从而更进一步地隐藏了这个报文的外在特性。当网络中的移动用户使用动态地址,使用隧道方式的安全联结穿过安全网关时,也有类似的通信流的保密性。当然,如果安全联结的粒度越细,那么这种安全服务就越脆弱(对于流量分析的情况)。防止重放:AH协议和ESP协议都有防止重放的功能。只要收方决定使用此功能,AH协议的此项功能就可靠工作,而ESP协议必须要有认证机制的配合,此项功能才起作用。,5.3 IPSec安全协议,5.3.9 IPsec的实现机制访问控制数据源验证无连接完整性和抗重播机密性和有限的业务流机密性,5.3 IPSec安全协议,5.3.10 IPSec的应用IPSec与其它安全机制的联系与比较2.数据源验证1.网络地址转换器(NAT)网络地址转换器NAT(Network Address Translation)是用于解决全球IP地址资源匮乏和对外隐藏企业内部IP地址的机制,它解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址在Internet上使用,其具体做法是把IP包内的地址域用合法的IP地址来替换。需要注意的是,NAT并不是一种有安全保证的方案,它不能提供类似防火墙、包过滤、隧道等技术的安全性,仅仅在包的最外层改变IP地址。这使得黑客可以很容易地窃取网络信息,危及网络安全。另外,当NAT改变包的IP地址后,需要认真考虑这样做对安全设施带来的影响。,5.3 IPSec安全协议,2.IP包过滤(IP Packet Filtering)IP包过滤是防火墙和路由器中的常见技术。包过滤技术即在网络中适当的位置对数据包实施有选择的通过,其原理在于监视并过滤网络上流入流出的IP包,拒绝发送那些可疑的包。3.L2TP L2TP(Layer 2 Tunneling Protocol)定义了利用公共网络设施(如IP网络、ATM和帧中继网络)封装数据链路层PPP帧的方法,可用于基于Internet的远程拨号方式访问。它有能力为使用PPP协议的客户端建立拨号方式的VPN连接。优点:L2TP对用微软操作系统的用户来说很方便 缺点:将不安全的IP包封装在安全的IP包内,它们用IP包在两台计算机之间创建和打开数据通道,一旦通道打开,源和目的地身份就不再需要,这样可能带来问题。,5.3 IPSec安全协议,4.应用网关(Application Gateways)应用网关是建立在网络应用层上的协议过滤和转发功能,它针对特别的网络应用服务协议指定数据过滤逻辑,并可在按应用协议指定的数据过滤逻辑进行过滤的同时,将对数据包分析的结果及采取的措施做登录和统计,形成报告。5.SOCKSv5 SOCKs是一个网络连接的代理协议,它使SOCKS一端的主机完全访问SOCKs;而另一端的主机不要求IP直接可达。SOCKs能将连接请求进行鉴别和授权,并建立代理连接和传送数据。优点:SOCKSv5在OSI模型的会话层控制数据流,它定义了非常详细的访问控制。缺点:因为SOCKSV5通过代理服务器来增加一层安全性,所以其性能往往比低层次协议差。,5.3 IPSec安全协议,IPSec的实施 1.实施方式(1)在主机中实施,5.3 IPSec安全协议,(2)在路由器中实施,5.3 IPSec安全协议,2.分片和ICMP问题(1)解决分片和PMTU问题 主机实施 路由器实施,5.3 IPSec安全协议,5.3 IPSec安全协议,(2)ICMP处理 ICMP用于Internet差错处理和报文控制。ICMP消息分为错误消息和查询消息。以端到端的方式使用IPsec时,不会影响ICMP,而以隧道模式来使用IPsec,则会影响ICMP错误消息的处理。这是因为ICMP错误消息只能发送数据包的外部IP头及其后的64比特数据,内部IP头的源地址不会在ICMP错误消息中出现,路由器不能正确地转发该消息。,5.4 VPN及其安全性,5.4.1 VPN的发展和概念 从专用网到VPN的发展 1.专用网的应用,图5-28 传统方式的企业专网结构,5.4 VPN及其安全性,2.VPN与专用网的比较,图5-29 VPN方式的企业虚拟专用网架构,(1)企业专网的构建成本和使用费用大幅降低,(3)管理维护方便,(2)网络架构弹性大,扩展容易,5.4 VPN及其安全性,5.4.2 VPN的用途及其分类,5.4 VPN及其安全性,5.4.2 VPN的用途及其分类 一个VPN至少应该能提供如下功能:加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。提供访问控制,不同的用户有不同的访问权限。,5.4 VPN及其安全性,按VPN的应用平台分类 软件平台VPN专用硬件平台VPN 辅助硬件平台VPN,5.4 VPN及其安全性,按VPN的协议分类 VPN从协议方面来分类主要是指从构建VPN的隧道协议来分类。VPN的隧道协议可分为第二层隧道协议和第三层隧道协议。第二层隧道协议最为典型的有PPTP(点到点隧道协议,Point to Point Tunneling Protocol)、L2F(第二层转发,Level Two Forwarding)、L2TP(第二层隧道协议,Level Two Tunneling Protocol)等。第三层隧道协议有 GRE(通用路由封装,Generic Route Encapsulation)、IPSec(Internet协议安全,Internet Protocol Security)等。第二层隧道和第三层隧道的本质区别在于用户的数据包是被封装在哪一层协议的数据包在隧道里传输的。第二层隧道协议和第三层隧道协议一般来说是分别使用的,但是合理的应用两层协议将具有更好的安全性。例如:L2TP与IPSec协议相互配合使用,可以使L2TP隧道更加安全。,5.4 VPN及其安全性,按VPN的部署模式分类(1)端到端(End-to-End)模式(2)供应商企业(Provide-Enterprise)模式(3)内部供应商(Intra-Provider)模式,5.4 VPN及其安全性,按VPN的服务类型分类 根据不同需要,不同商业环境对VPN的要求和VPN的服务类型的不同,可以把VPN分为三种类型:在公司总部和它的分支机构之间通过公网建立的VPN,称为Intranet VPN(内部网VPN)。在公司总部和外地雇员之间通过拨号的方式建立的VPN,称为Access VPN(远程访问VPN),又称为拨号VPN(即VPDN)。在公司与商业伙伴、顾客、供应商、投资者之间建立的VPN,称为 Extranet VPN(外连网VPN)。其中通常又将Intranet VPN和Exiranet VPN统称为 专线VPN。,5.4 VPN及其安全性,(1)内部网VPN,5.4 VPN及其安全性,(2)远程访问VPN,5.4 VPN及其安全性,(3)外连网VPN,5.4 VPN及其安全性,5.4.3 VPN相关技术 隧道协议 隧道是一种利用公共网络设施,在一个网络之上构造一个逻辑连接来传输数据的方法,被传输的数据可以是另一个协议的帧。只有建立隧道的端点才能理解数据的封装。隧道协议用附加的报头来封装帧,附加的报头提供了路由信息,因此封装后的包能够通过中间的公网。封装后的包所途径的公网的逻辑路径称为隧道。一旦封装的帧到达了公网上的目的地,帧就会被解除封装并被继续送到最终目的地。,5.4 VPN及其安全性,隧道协议 第二层隧道协议(L2TP),图5-35 L2TP的协议结构,5.4 VPN及其安全性,实现VPN的拓扑结构,LAC是L2TP的接入集中器,为远端系统提供隧道服务。,LAC客户是连接到INTERNET上的主机,包含有LAC客户软件。,LNS是L2TP的网络服务器,RADIUS(Remote Authentication Dial In User Service)服务器完成用户的身份认证、授权及计费的功能。,5.4 VPN及其安全性,VPN的实现方式 LAC初始化方式LAC客户初始化方式LNS初始化方式会话通信过程 远端系统拨号呼叫LAC通过交换电路网络(如公用交换电话网PSTN)建立连接 远端系统利用PPP协议与LAC建立会话通信 LAC按照用户输入的认证信息建立通往目的LNS的隧道完成了隧道和会话的建立工作之后,LAC与LNS之间通过隧道传送封装的L2TP数据报文和控制报文。当用户想断开链路时,可以向LNS发送终止请求分组,请求断开APP连接。,5.4 VPN及其安全性,L2TP存在的安全性问题 L2TP通过隧道技术在IP和非IP的公网上传送PPP业务,其数据和控制分组很容易受到攻击,如攻击者可以通过窃取数据分组发现用户的身份、修改分组中的内容、截获L2TP隧道或隧道中的PPP连接、通过终止PPP的加密控制协议ECP以削弱其保密性、通过终止PPP的LCP认证协商以削弱PPP的身份认证或获取用户的口令等。为了解决这些问题,必须对L2TP的数据报文和控制报文进行保护。但是L2TP本身并没有提供任何机制保证数据在隧道中传输的安全性,仅利用了PPP提供的认证和加密的机制,这并不能满足VPN的安全性要求。L2TP能够认证隧道端点,完成属性值对的隐藏,但它没有提供一种密钥交换的机制分发隧道口令。基于安全性的考虑,Cisco建议在L2TP的实现中提供一组IP安全协议IPSec,在隧道外再封装L2TP与IPSec相结合,不仅克服了L2TP数据不安全的缺陷,能够支持多点隧道,而且解决了IPSec只支持IP协议的问题,保证了多协议数据报在隧道中传送的安全性。,5.4 VPN及其安全性,加密技术 数据包经过加密后才进入虚拟专用网。如果不使用加密技术,信息将在Internet上或其他公共网络上以明文的形式传输,保密性难以得到保证。加密技术是密码学的产物。密码学使用加密算法把可读的数据变换成密文。当明文经过编码转换成密文后,便只能用被称为密钥的电子机制反转成明文。这种电子钥匙是一种长度从40bit到2048bit的小型文件。负责把明文加密成密文,并且把密文解密为明文的系统叫做密码系统(cryptography system)。从本质上说,有两种类型的密码系统得到应用:加密密钥(对称)密码系统和公共密钥(非对称)密码系统。,5.4 VPN及其安全性,用户认证 拨号用户远程认证服务(RADIUS)RADIUS是一个强用户认证系统,它通过一个多因素认证过程对用户身份进行认证。在该模式中,NAS客户机的任务是把用户访问的信息传送给指定的RADUIS服务器或服务器组,当有应答返回到客户机时,客户机再作出相应的应答。另一方面,RADUIS服务器负责接收用户接入请求,对用户身份进行认证,然