IPsec安全策略

 

4IPsec安全策略

IPsec系统所使用的策略库一般保存在一个策略服务器中,该服务器为域中的所有节点(主机和路由器)的维护策略库,各节点可将策略库拷贝到本地,也可使用轻型目录访问协议(LDAP)动态获取策略。

IPSec的基本架构定义了用户能以多大的精度来设定自己的安全策略。某些通信可以为其设置某一级的基本安全措施;而对其他通信则可为其应用完全不同的安全级别。如我们可在一个网络安全网关上制订IPSec策略,对在其本地保护的子网与远程网关的子网间通信的所有数据,全部采用DES加密,并用HMAC-MD5进行验证;另外,从远程子网发给一个邮件服务器的所有Telnet数据均用3DES进行加密,同时用HMAC-SHA进行验证;最后对于需要加密的、发给另一个服务器的所有Web通信数据,则用IDEA满足其加密要求,同时用HMAC-RIPEMD进行验证。

IPsec本身没有为策略定义标准,目前只规定了两个策略组件:SAD(安全关联数据库)和SPD(安全策略数据库)。在IPsec系统中,IPSec策略由“安全策略数据库(Security Policy DatabaseSPD)”加以维护。在SPD这个数据库中,每个条目都定义了要保护的是什么通信、怎样保护它以及和谁共享这种保护。策略描述主要包括两方面的内容:一是对保护方法的描述,二是对通信特性的描述。

对保护方法的描述。对于进入或离开IP堆栈的每个包,都必须检索SPD数据库,调查可能的安全应用。对一个SPD条目来说,它可能定义了下述几种行为:丢弃、绕过以及应用。其中,“丢弃”表示不让这个包进入或外出;“绕过”表示不对一个外出的包应用安全服务,也不指望一个进入的包进行了保密处理;而“应用”是指对外出的包应用安全服务,同时要求进入的包已应用了安全服务。对那些定义了“应用”行为的SPD条目,它们均会指向一个或一套SA,表示要将其应用于数据包。

使用选择符描述通信特性。IPSec通信到IPSec策略的映射关系是由“选择符(Selector)”来建立的。选择符标识通信的一部分组件,它既可以是一个粗略的定义,也可以是一个非常细致的定义。IPSec选择符包括6方面内容:目标IP地址、源IP地址、名字、上层协议、源和目标端口以及一个数据敏感级(假如也为数据流的安全提供了一个IPSec系统)。

目的IP地址:可为单个IP地址、地址列表、地址范围或通配(掩码)地址。后两种用于支持共享一个SA的多个目的系统。

IP地址:可为单个IP地址、地址列表、地址范围或通配(掩码)地址。后两种用于支持共享一个SA的多个原发系统。

名字:其中包括一个DNS 名、X.500区分名或者在IPsec DOI中定义的其他名字类型。只有在IKE协商期间(而非包处理期间),名字字段才能作为一个选择符使用。

传输层协议:许多情况下,只要使用了ESP,传送协议无法访问,这时需使用通配符。

源和目标端口:TCPUDP端口号,可为单个端口、端口列表或通配端口。如果端口不能访问,则要使用通配符。

数据敏感等级:通信数据的保密等级,可分为普通、秘密、机密、绝密。

这些选择符的值可能是特定的条目、一个范围或者是一个“不透明”。在策略规范中,选择符之所以可能出现“不透明”的情况,是由于在那个时刻,相关的信息也许不能提供给系统。举个例子来说,假定一个安全网关同另一个安全网关建立了IPSec通道,它可指定在该通道内传输的(部分)数据是网关背后的两个主机之间的IPSec通信。在这种情况下,两个网关都不能访问上层协议或端口,因为它们均被终端主机进行了加密。“不透明”亦可作为一个通配符使用,表明选择符可为任意值。

假定某个SPD条目将行为定义为“应用”,但并不指向SAD数据库内已有的任何一个SA,那么在进行任何实际的通信之前,首先必须创建那些SA。如果这个规则用于自外入内的“进入(Inbound)”通信,而且SA尚不存在,则按照IPSec基本架构的规定,数据包必须丢弃。假如该规则用于自内向外的“外出(Outbound)”通信,则通过Internet密钥交换,便可。

IPSec结构定义了SPDSAD这两种数据库之间如何沟通。

对于外出数据包,IPSec协议要先查询SPD,确定为数据包应使用的安全策略。如果检索到的数据策略是应用IPSec,再查询SAD(每个SPD的元组都有指针指向相关的SAD的元组),确定是否存在有效的SA

1)若存在有效的SA,则取出相应的参数,将数据包封装(包括加密、验证,添加IPSec头和IP头等),然后发送。

2)若尚未建立SA,则启动或触发IKE协商,动态地创建SA,协商成功后按1)中步骤处理,不成功则应将数据包丢弃,并记录出错信息。

3)存在SA但无效,将此信息向IKE通告,请求协商新的SA,(协商成功后按1)中的步骤处理,不成功则应将数据包丢弃,并记录出错信息。

对于进入数据包,IPSec通过包头信息包含的IP目的地址、IP安全协议类型(AHESP)SPISAD中查找对应的SA。如得到有效的SA,则对数据包进行解封(还原),再查询SPD,验证为该数据包提供的安全保护是否与策略配置的相符。如相符,则将还原后的数据包交给TCP层或转发。如不相符,或要求应用IPSec但未建立SA,或SA无效,则将数据包丢弃,并记录出错信息。

原文地址:https://www.cnblogs.com/jjkv3/p/1793891.html