DoSTOR存储学堂: 使用IPSec保护iSCSI(一)

    近年来,iSCSI以其可行性和性价比高的特点同其对手光纤通道竞争,目前用于在宽域网中连接服务器和SAN,诸如iSCSI这样的基于IP的存储方案有一个优势,即可利用现有的基于 IP的架构,而无需采购昂贵的和复杂的光纤通道产品来进行升级。
  
    由于iSCSI使用的是IP协议,所以它的安全依赖于IP安全协议。但基本的 IP传输缺乏安全,这就使得任何精通该领域的人可以截获或者修改IP通信。 保护IP 通信的一个更为流行的方法是采用 IP安全协议(IP Security Protocol,简称IPSec)。IPSec是个基于IP的安全协议,不同于SSL安全协议,后者基于OSI模型的应用层。
  
    为了进行安全的数据传输。IPSec使用两个不同的协议:Authentication Headers (AH)和Encapsulating Security Payloads (ESP)。AH协议主要负责数据包的认证和完整性验证。它对源数据包进行认证,并保证数据通信的完整性,但对数据并不进行任何形式的加密。
  
    AH可以确保网络通信时数据不被修改。但无法保证数据不被他人读取。 AH通常在网络通信限制于某些计算机上的场合使用。此时,AH在参与通信的计算机之间进行相互认证,禁止未经认证的计算机参与网络通信。
  
    ESP负责对网络中的数据进行加密,但是也用于认证和完整性服务。AH 认证和ESP认证的区别在于 ESP仅仅包括了数据包的 ESP header, trailer和payload部分,而AH对整个数据包进行保护,包括 IP header。 
  
    AH和 ESP这两种协议一起使用,就可以对基于IP的通信提供完整性,认证和加密保护服务。为此,IPSec使用了各种安全协议,要想更多了解IPSec提供保护的级别,现在对这些安全协议逐一介绍。
  
    IPSec完整性协议 
  
    完整性验证指的是用散列算法对接收到的信息进行验证,判断其是否与发送的信息完全相同。一个散列算法主要是对发送方和接收方的数据进行加密校验以确保数据未被改变。如果信息在传输过程中有变化,散列值就会不同,此时就拒绝该数据包。
  
    在进行IPSec完整性配置时,有两个选项 :Message Digest 5 (MD5)和安全散列算法1(Secure Hash Algorithm 1 ,简称SHA1)。后者的安全度更高,但需要更多的 CPU资源,MD5使用128位散列算法,而SHA1使用的160位算法。
  
    IPsec 认证协议
  
    当两个系统互相交换加密数据之前,需要相互对加密的数据包进行安全认定。这个安全认定成为安全协定(security association,简称SA)。在相互通信之前,两个系统必须认定对同一SA。
  
    因特网密钥交换协议(Internet Key Exchange,简称IKE)管理着用于IPSec连接的 SA协议过程 。IKE是因特网工程任务组(Internet Engineering Task Force,简称IETF)制定的关于安全协议和密钥交换的标准方法。IKE的操作分两阶段:第一阶段确保通信信道的安全,第二阶段约定SA的操作。
  
    为了建立IPSec通信,两台主机在SA协定之前必须互相认证,有三种认证方法:



  • Kerberos – Kerberos v5常用于Windows Server 2003,是其缺省认证方式。 Kerberos能在域内进行安全协议认证,使用时,它既对用户的身份也对网络服务进行验证。Kerberos的优点是可以在 用户和服务器之间相互认证,也具有互操作性。Kerberos可以在 Server 2003的域和使用Kerberos 认证的UNix环境系统之间提供认证服务。

  • 公钥证书 (PKI) – PKI用来对非受信域的成员,非Windows客户,或者没有运行Kerberos v5 认证协议的计算机进行认证,认证证书由一个作为证书机关(CA)系统签署。

  • 预先共享密钥 -在预先共享密钥认证中,计算机系统必须认同在IPSec策略中使用的一个共享密钥 ,使用预先共享密钥仅当证书和Kerberos无法配置的场合。

    IPSec加密协议
  
    IPSec提供三种主要加密方法,你可以根据你公司的需要选择其中一个。



  • 数据加密标准 (DES 40位) – 该加密方法性能最好,但安全性较低。该 40位数据加密标准(Data Encryption Standard,简称DES)通常被称为 安全套接字层(Secure Sockets Layer,简称SSL)。适用于数据安全性要求较低的场合。

  • 数据加密标准 (DES 56位) – 通过IPSec策略,可以使用56位 DES的加密方法。1977年美国国家标准局公布了DES算法,它可以在通信过程中经常生成密钥。该功能可防止因为一个DES密钥被破译而整个数据集的安全受到影响。但是在商业中被认为过时了,仅用于传统的应用支持,有专门的硬件可以破译标准的 56位密钥。

  • 3DES – IPSec策略可以选择一个强大的加密算法3DES,其安全性比DES更高。3DES也使用了56位密钥,但使用了三个。结果3DES成为 168位加密算法,用于诸如美国政府这样的高机密的环境中。采用该策略的所有计算机将都遵守这样的机制。

    IPSec传输模式
  
    IPSec可以在两种不同的模式下运作:传输模式和隧道模式。这些模式指的是数据在网络中是如何发送和加密的。在传输模式下,IPSec的保护贯穿全程:从源头到目的地,被称为提供终端到终端的传输安全性 。
  
    隧道模式仅仅在隧道点或者网关之间加密数据。隧道模式提供了网关到网关的传输安全性。当数据在客户和服务器之间传输时,仅当数据到达网关时才得到加密,其余路径不受保护。一旦到达网关,就采用IPSec进行加密,等到达目的网关之后,数据包被解密和验证,之后数据发送到不受保护的目的主机。隧道模式通常适用于数据必须离开安全的LAN或者WAN的范围,且在诸如互联网这样的公共网络中传输的场合。
  
    随着iSCSI逐渐替代Fibre Channel,安全的IP通信日益重要。IPSec提供了一个在异种环境中加密 IP传输的方法。