一步一步实现企业网络架构之五:利用IPSEC建立安全的网络通讯2008-04-1618:03:55标签:ftp网络架构IPSEC网行天下[推送到技术圈]版权声明:原创作品,谢绝转载!否则将追究法律责任。5.1Internet协议安全性概述“Internet协议安全性(IPSec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保在Internet协议(IP)网络上进行保密而安全的通讯。Microsoft®Windows®2000、WindowsXP和WindowsServer2003家族实施IPSec基于的是“Internet工程任务组(IETF)”IPSec工作组开发的标准。IPSec是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与Internet的攻击。在通信中,只有发送方和接收方才是唯一必须了解IPSec保护的计算机。在WindowsXP和WindowsServer2003家族中,IPSec提供的功能可用于保护工作组、局域网计算机、域客户端和服务器、分支机构(可能在物理上为远程机构)、Extranet以及漫游客户端之间的通讯。5.2IPSEC的工作原理证书服务工作于应用层,必须依赖于应用程序的支持。而IPSEC工作于网络层,与应用程序无关,也就是说不管是什么样的应用程序,当它的数据通过IP层时都会得得保护。IPSEC是安全联网的长期方向。它为防止专用网络和Internet攻击提供了主要防线。IPSec有两个目标:保护IP数据包的内容。通过数据包筛选及受信任通讯的实施来防御网络攻击。这两个目标都是通过使用基于加密的保护服务、安全协议与动态密钥管理来实现的。这个基础为专用网络计算机、域、站点、远程站点、Extranet和拨号用户之间的通信提供了既有力又灵活的保护。它甚至可以用来阻碍特定通讯类型的接收和发送。尽管基于加密的更强大的安全措施对于完全保护通讯是必需的,但是也大大增加了管理开销。为降低开销,IPSec采用了基于策略的管理。IPSec策略(而不是应用程序接口(API))用来配置IPSec安全服务。这些策略可为多数现有网络中的多数通信类型提供各种级别的保护。可使用Microsoft®Windows®XP和WindowsServer2003家族中提供的“IP安全策略管理”控制台来通过ActiveDirectory®为计算机(对于域成员)或在本地计算机(对于不属于域的计算机)上定义IPSec策略。IPSEC的默认策略有:Clinet要求通信的一方首先不选用IPSec对data进行加密。但如果对方请求加密则启用IPSec的加密。Server要求通信的一方首先选用IPSec对data进行加密。但如果对方请求不加密则不启用IPSec的加密data。Secureserver通信的双方必须要求采用IPSec的安全通信,传输的data必须要加密。IPSec基于端对端的安全模式,在源IP和目标IP地址之间建立信任和安全性。考虑认为IP地址本身没有必要具有标识,但IP地址后面的系统必须有一个通过身份验证程序验证过的标识。只有发送和接收的计算机需要知道通讯是安全的。每台计算机都假定进行通讯的媒体不安全,因此在各自的终端上实施安全设置。除非两台计算机之间正在进行防火墙类型的数据包筛选或网络地址转换,否则仅从源向目标路由数据的计算机不要求支持IPSec。该模式允许为下列企业方案成功部署IPSec:局域网(LAN)客户端/服务器与对等。广域网(WAN)路由器对路由器以及网关对网关。远程访问拨号客户端以及从专用网络访问Internet。通常,两端都需要IPSec配置(称为IPSec策略)来设置选项与安全设置,以允许两个系统对如何保护它们之间的通讯达成协议。5.3IPSEC的安全性在您的组织中部署IPSec之前,请考虑下列安全问题:3DES和运行Microsoft®Windows®2000的计算机身份验证方法防火墙数据包筛选受保护的通信Diffie-Hellman小组IPSEC的工作模式5.3.13DES和运行Windows2000计算机IPSec策略允许选择强加密算法3DES,该算法提供的加密性能强于DES,具有较高的安全性。运行Windows2000的计算机必须安装“高级加密数据包”或“ServicePack2”(或更高版本)才能执行3DES算法。如果运行Windows2000的计算机接收3DES设置,但尚未安装“高度加密包”或“ServicePack2”(或更高版本),则3DES设置将被设置为安全性较低的DES以提供一定程度的通信保密,而并非阻止整个通信。但是,如果您的环境中的计算机并不都支持使用3DES,作为折衷选择,您应该仅使用DES。运行WindowsXP和WindowsServer2003家族的计算机支持3DES且不需要安装“高级加密数据包”。5.3.2身份验证方法如果企业中的计算机是ActiveDirectory®域中的一部分,则IPSec主模式身份验证可以使用默认的身份验证方法(KerberosV5)完成。不必为Intranet通信部署公钥证书。然而,运行WindowsXPHomeEdition的计算机不支持KerberosV5身份验证方法。此外,如果您有连接到Internet的计算机,建议不要使用KerberosV5作为身份验证方法。在使用Kerberos进行身份验证时,在主模式协商期间,每个IPSec对等端都以非加密的格式将其计算机标识发送到另外一台对等端。在主模式协商的身份验证阶段,直至对整个标识负载加密之后,计算机标识才会被加密。攻击者可发送一个“Internet密钥交换(IKE)”数据包,该数据包会导致响应的IPSec对等端暴露其计算机标识和域成员。因此,为保护连接到Internet的计算机,建议使用第二种身份验证方法—证书身份验证。也可以通过一个预共享密钥来提供第三种身份验证方法。但要获得增强的安全性,不推荐使用预共享密钥身份验证,相对来说它是一种比较弱的身份验证方法。此外,预共享密钥以明文方式存储。预共享密钥的身份验证方法是出于互操作性的目的并遵循IPSec标准。建议只将预共享密钥用于测试。5.3.3防火墙数据包筛选对于防火墙、安全网关、路由器或连接到Internet并为外围网络(也叫网络隔离区或DMZ)提供数据包筛选性能的任何其他服务器或设备,必须在该计算机上启用特殊筛选来确保允许将使用IPSec保护的数据包转发给该外围网络上的计算机。通常,防火墙或其他设备应该允许下列通信类型通过:用于IPSec封装式安全措施负载(ESP)通信的IP协议ID50(0x32)。用于IPSec身份验证报头(AH)通信的IP协议ID51(0x33)。用于“Internet密钥交换(IKE)”协商通信的UDP端口500(0x1F4)。大部分数据包筛选软件都允许通过更特定的通信。可为以下内容分别定义单独的数据包筛选器:入站通信(入站筛选器)、出站通信(出站筛选器)和每个接口。此外,还可为外围网络上的IPSec计算机指定IP地址。5.3.4受保护的通信IPSEC使用AH和ESP来保证传输数据的机密性和真实可靠。身份验证报头(AH)可对整个数据包(IP报头与数据包中的数据负载)提供身份验证、完整性与抗重播保护。但是它不提供保密性,即它不对数据进行加密。数据可以读取,但是禁止修改。AH使用加密哈希算法签名数据包以求得完整性。封装式安全措施负载(ESP)不仅为IP负载提供身份验证、完整性和抗重播保护,还提供机密性。传输模式中的ESP不对整个数据包进行签名。只对IP负载(而不对IP报头)进行保护。ESP可以独立使用,也可与AH组合使用。与对每个数据包进行加密与解密相比,验证每个数据包的哈希所消耗的CPU相对较少。如果性能问题是主要的考虑事项,则可使用AH来保护大部分通信。需要保密时,可使用ESP。例如,可使用AH保护Intranet上的通信,使用ESP保护通过Internet发送的通信。5.3.5Diffie-Hellman小组Diffie-Hellman(使用Diffie-Hellman小组1、2或2048)小组用来确定密钥交换过程中使用的基本素数的长度。组2048(高)比组2(中)更强(更安全),而组2强于组1(低)。组1提供768位的密钥强度;组2提供1,024位的密钥强度;组2048提供2,048位的密钥强度。将强Diffie-Hellman小组和较长的密钥长度结合使用可以提高确定密钥的计算难度。以下是在运用Diffie-Hellman小组时的一些注意事项:为了获得增强的安全性,请不要使用Diffie-Hellman小组1。为获得最佳安全性,请尽可能使用组2048。当需要保证与Windows2000和WindowsXP的互操作性时,请使用组2。Diffie-Hellman小组2048仅随WindowsServer2003家族一起提供。5.3.6IPSEC的工作模式IPSEC式的工作模式有两种:传输模式和隧道模式。传输模式是IPSec的默认模式,用于进行端对端的通信(例如,用于客户端和服务器之间的通信)。当使用传输模式时,IPSec只对IP负载进行加密。传输模式通过AH或ESP报头对IP负载提供保护。典型的IP负载包括TCP段(包含TCP报头与TCP段数据)、一条UDP消息(包含UDP报头与UDP消息数据)以及一条ICMP消息(包含ICMP报头与ICMP消息数据)。使用IPSec隧道模式时,IPSec对IP报头和负载进行加密,而传输模式只对IP负载进行加密。通过将其当作AH或者ESP负载,隧道模式提供对整个IP数据包的保护。使用隧道模式时,会通过AH或ESP报头与其他IP报头来封装整个IP数据包。外部IP报头的IP地址是隧道终结点,封装的IP报头的IP地址是最终源地址与目标地址。IPSec隧道模式对于保护不同网络之间的通信(当通信必须经过中间的不受信任的网络时)十分有用。隧道模式主要用来与不支持L2TP/IPSec或PPTP连接的网关或终端系统进行相互操作。可以在下列配置中使用隧道模式:网关到网关服务器到网关服务器到服务器5.4IPSEC的配置5.4.1企业背景你的公司正在制订一项包括业务伙伴在内的规划。有关这项规划的工作要求极其保密。你的业务伙伴将利用Internet访问你的服务器上的某些数据。你必须确保你公司的计算机和你的业务伙伴计算机之间的所有网络数据流通都加密进行。作为公司的网络管理员,你将采用IPSEC为跨越Internet的通信提供安全的保护(在这里我们将要通信的计算机名分别命名为HOSTA和HOSTB)。本次配置通过保护FTP通信的安全为例讲解IPSec的使用方法。5.4.2配置步骤没有IPSEC保护下的FTP通信在IPSEC保护下的FTP通信5.4.2.1没有IPSEC保护下的FTP通信1、客户端需要从服务器上下载一些有关turboc2的资源,所以管理员首先在服务器上为之创建了一个FTP站点。如下图所示:2、客户端通过网络访问创建的FTP站点。如下图所示:3、以下是通过网络监视器捕捉到的网络流量。4、由捕获的流量中我们可以清楚的看到FTP通信时的用户名和口令,所以没有IPSEC保护下的FTP通信是不安全的。5.4.2.2在IPSEC保护下的FTP通信1、登录到HOSTA,单击“开始”,然后单击“运行”按钮,在运行中输入“MMC”,打开微软管理控制台,最大化控制台根窗口。2、在控制台1的单中,单击“添加/删除插件”。3、在“添加/删除插件”对话框中,单击“添加”按钮。4、在对话框中,确认选择“IP安全策略管理”,单击“添加”并选择“本地计算机”按默认设置完成IPSEC的添加。5、IPSEC启动后,会打开一个管理控制台,里面有一些预定义的策略。6、右击“IP安全策略”,选择“管理IP筛选器表和筛选器操作”。7、在这里我们创建一个新的针对FTP访问