本章将介绍如何配置以下安全协议的内容交换:
安全套接字层(SSL)终止-您可以配置内容开关,以代表客户端终止SSL连接。
防火墙负载均衡(FWLB)-您可以配置内容切换以跨多个防火墙分发客户端流量。
VPN负载均衡-您可以配置您的内容开关,以跨多个VPN集中器分发客户端流量。
用于SYN-Flood防护的syn - cookie-您将了解CSM如何使用syn -cookie防止SYN-flood攻击淹没CSM的连接表。
在第10章“探索服务器负载平衡”中,您学习了如何配置内容切换以通过使用服务器负载平衡来加速应用程序。在本章中,您将学习四种流行的方法,通过使用内容切换来加速安全内容交付:
SSL终止-你在第8章“探索应用层”中学习了SSL协议的操作。在这里,您将了解内容交换机如何将SSL计算从原始服务器卸载到专用SSL设备和模块。
防火墙负载均衡-正如你在第4章“探索安全技术和网络基础设施设计”中学到的,防火墙提供有状态的包检查,并维护TCP和UDP连接内部和跨连接的上下文。在本章中,您将学习如何跨多个有状态防火墙负载平衡流量。
VPN负载平衡-VPN设备可以为企业用户提供点对点或远程访问。内容交换机还可以在多个VPN集中器之间提供负载均衡。
SYN-Flood保护—CSM (Content交换模块)使用syn -cookie防止syn flood对其连接表进行泛洪。
SSL终止
使用SSL终止时,专用的SSL终止设备将终止SSL连接,从原始服务器卸载cpu密集型的SSL计算。SSL终止设备有可以执行SSL操作的特殊硬件。
SSL终止还允许内容开关解析明文应用程序头,以智能地负载平衡SSL请求。要提供SSL卸载,可以配置内容交换机和SSL终止设备来解密SSL流量,并将明文流量转发到非SSL实服务器,如下所示图十一说明了。
SSL卸载
因为内容开关以明文形式看到请求,所以可以配置使用SSL终止的5-7层负载均衡。另外,由于SSL模块将明文传输到真实服务器,因此应该确保服务器群交换机的安全,以防止嗅探明文传输。
注意:要加密从SSL终端设备到后端实服务器的流量,可以在内容服务交换机(CSS)和CSM上配置后端加密。有关后端加密的更多信息,请参阅Cisco.com上的产品文档。
基于图十一,客户端SSL事务通过内容网络的流程如下:
客户端生成一个TCP SYN段来发起到内容交换机上的SSL端口(443)的TCP连接。内容开关接收TCP段,发出HTTPS虚拟服务器查找,并打开与客户端的TCP连接。客户端生成一个明文SSL client Hello报文,并将其转发给内容交换机。
-
注意:SSL四次握手的详细信息请参见第8章中的图8-11。
内容交换机接收SSL客户端Hello并将请求负载均衡到可用的SSL终止设备。如果在内容交换机上配置了SSL-sticky,内容交换机会保存与该连接相关联的Session ID。然后SSL终止设备处理客户端Hello,并与客户端完成SSL四向握手,以建立加密的传输会话。
-
注意:如果您有多个SSL设备,您应该配置SSL-sticky,以确保SSL会话中的每个连接都是负载均衡到同一SSL设备的。这对于想要恢复空闲SSL会话的客户端是有益的,正如之前在第8章的图8-12中所了解的那样。
客户端生成一个HTTPS应用程序请求,并通过加密的SSL传输会话将其转发到内容交换。内容交换机根据内容交换机的连接表中现有TCP连接的条目,依次将加密的请求转发到适当的SSL终止设备。
SSL终端设备接收加密的应用程序请求。
SSL终止设备解密应用程序请求,可选地重写请求中的URL或任何HTTP头,并将其转发回内容开关。
-
注意:您将在本章稍后的部分学习URL和HTTP报头重写。
内容交换机接收明文应用请求,发出HTTP虚拟服务器查找,存储您配置的任何明文粘着信息(例如HTTP cookie和源IP地址),并将请求负载均衡到可用的实服务器。内容交换机还对报文进行目的网络地址转换(NAT),转换为实服务器的IP地址。
实服务器处理明文请求后,向内容交换机发送HTTP 200 OK明文响应。
内容交换机接收到HTTP 200 OK明文响应,并根据内容交换机的连接表中的连接信息将其转发给SSL终止设备,从而覆盖到客户端源IP地址的正常TCP/IP路由。内容开关还会反转步骤6中所执行的目的NAT。
SSL终止设备对响应进行加密,并将其转发到内容交换机,同样保留源和目的IP地址。
内容交换机将加密的SSL报文路由到客户端。
要配置SSL终止,您可以使用以下任一方法:
CSS与SSL模块—在第10章中,您可以在CSS 11503或11506中安装SSL加密模块,也可以获得内置SSL模块的CSS 11501。
带SSL子卡模块的CSM (CSM- s)-您还可以获得CSM-S来终止SSL连接。子卡模块不是可升级的——您不能为现有的CSM安装单独购买子卡。
为SSL终止配置CSS
要将CSS配置为将SSL连接卸载到SSL终止设备,必须首先将密钥和证书加载到SSL终止设备。如果您已经在实际服务器上使用公钥基础设施(PKI),并且希望使用SSL终止来升级系统,那么可以将现有的私钥和服务器证书导入SSL终止设备。否则,可以在SSL终止设备上生成私钥/公钥对和证书签名请求,并向CA (Certificate Authority)请求服务器证书。使用CA注册并接收服务器证书之后,就可以将服务器证书导入SSL终止设备。
注意:您还可以使用自己的私有CA向思科css和csm注册证书。有关使用私有ca配置自动证书注册的更多信息,请参阅Cisco.com上的产品文档。
在CSS上创建和导入密钥和证书
在第10章中,您已经了解了CSS中可用的SSL模块。要将预先存在的密钥和证书导入到CSS SSL模块,可以使用以下命令:
ssl副本[协议]ftp_record[进口文件名[格式)”密码“{”密码"}
的密码是使用用于加密/解密的证书创建的现有短语。这个短语必须在使用证书的任何地方使用,而不仅仅是在CSS上。您还必须创建一个新密码,作为CSS用于加密导入的证书的第二层安全层。该密码为CSS本地密码,用于防止未经授权的管理员访问CSS上的证书。在发出此命令之前,您应该首先在您的证书和私钥所在的位置创建一个FTP记录。你可以使用ftp-record命令创建一个名为import-ssl.您必须包括FTP用户名、FTP服务器的密码以及服务器上证书和私钥所在的主目录。例如:
Ftp-record import-ssl 10.1.1.1 cisco "cisco123" /home/sdaros
您可以使用以下方法ssl副本命令导入包含现有服务器证书和私钥的PEM文件,称为sitecert.pem和sitekey.pem分别为:
复制SSL SFTP import- SSL import sitecert。pem pem“sanfran”“sanfran”复制SSL SFTP import- SSL import sitekey。pem pem“sanfran”“sanfran”
导入的文件中是否包含私钥或证书,请使用ssl副命令:
SSL关联证书mycontentcert sitecert.pemSSL关联rsakey mycontentkey sitekey.pem
注意:确保您导入了CA的根证书。此外,如果您的CA向您颁发了一个链式证书,请确保您还导入了链内的任何中间证书。
不需要导入现有密钥,您可以使用以下命令生成一个Rivest、Shamir和Adelman (RSA)公钥/私钥对,用于CSS上的非对称加密:
ssl genrsa文件名numbits"密码"
此命令将私钥和公钥存储在单个文件中,您必须将该文件与证书名称关联。例如,要生成一个名为mycontentkey,使用以下命令:
mycontentkeyfile 1024 "sanfran"SSL关联rsakey mycontentkey mycontentkeyfile
使用例11-1中的命令生成密钥对的CSR。
例子十一在CSS上生成CSR
(config)# ssl gencsr mycontentkey将要求您输入将合并到您的证书请求中的信息。您将要输入的是所谓的区分名或DN。对于某些字段,会有一个默认值,如果你输入'。'时,该字段将为空。国家名称(2个字母代码)[美国]我们州或省(全名)[SomeState]加州地区名称(城市)[某城市]圣荷西机构名称(公司名称)[Acme Inc]思科系统公司组织单位名称(节)[网站管理]网络工程常用名称(您的域名)[http://www.acme.com]http://www.cisco.com电子邮件地址(webadmin@acme.com)admin@cisco.com-----BEGIN NEW CERTIFICATE REQUEST----- MIctCMtmZONOY+ybEHl/mX0RdqXFnivLBgNVBAYTAlVTMRAwDgYDVQQIEwdHZW9y DQ kW6Pa6mbjeUV1wffn2dtbKsmz7DnK2BVbml2ZXJzaXR5IG9 yRPs36ywGwDK3 aWExNTAzBgNVBAsTLFVuaXZlcnNpdHkgQ29tcHV0aW5nIGFuZCBOZXR3b3JraW5n IFNlcnZpY2VzMRYwFAYDVQQDEw13d3ctcy51Z2EuZWR1MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDh3yRPs36ywGwDK3ZS3qaOoNraOFHkSNTsielHUMHxV1 / G N1E43 / bifEQJUvSw / nrkOQf3Ync8O / 39 lelutjep6qzkx9hg1xtusuov3exzt53l vbctCMtmZONOY + ybEHl / mX0RdqXFnivLpXohr7dJ5A1qHfjww / SLW8J / 7 uxj1qib A6AAMA0GCSqGSIb3DQEBBAUAA4GBAIEu35zoGmODCcwwNrTqZk3JQAjyONJxjjtd uQ + QLQcckO4aghBpcqsgLckW6Pa6mbjeUV1wffn2dtbKsmz7DnK2fwnyaBtxXMviCC4o9uvW11i5TjdorfOdRI1lR0FrNAzf+3GQUl1S2a83wagvFjo12yUCukrxBgyU bXbmNuJpkdsjdkjfkdjfkdfjdkfjdkfjdkfj -----END NEW CERTIFICATE REQUEST-----
要申请服务器证书,您必须将CSR发送到您选择的CA。大多数知名的ca允许你剪切并粘贴你的CSR到他们的网站上,并会在几个工作日内通过电子邮件发给你一个服务器证书。一旦您收到您的服务器证书(调用sitecert.pem在本例中),可以使用ssl副本你以前学过的命令:
复制SSL SFTP import- SSL import sitecert。pem pem“sanfran”“sanfran”SSL关联证书mycontentcert sitecert.pem
注意:确保跟踪您的证书何时到期。您需要在新证书到期之前获取它们。否则,客户端在尝试下载过期证书时将收到错误信息。
结束CSS上的SSL
现在您的CSS上有了服务器证书和私钥,您可以配置您的CSS来代表您的真实服务器终止SSL连接,如示例11-2所示。
注意:在配置CSS SSL模块时,不涉及IP地址和服务器的目的地址-网络地址转换(dnat)。
本季的例子配置CSS以终止SSL连接
ssl-proxy-list ssl_proxy ssl服务器1 ssl服务器1 vip地址10.1.10.1 ssl服务器端口443 ssl服务器1 rsacert mycontentcert ssl服务器1 rsakey mycontentkey ssl服务器密码TLS_RSA_WITH_RC4_128_MD5 10.1.10.100 80体重5 ssl服务器1密码TLS_RSA_WITH_RC4_128_SHA 10.1.10.100 80体重10 ssl服务器1 http头会话ssl服务器1urlrewrite 1 http://www.cisco.com现役ssl-serv1类型ssl-accel添加ssl-proxy-list ssl_proxy槽5 keepalive类型没有现役ssl-serv2类型ssl-accel添加ssl-proxy-list ssl_proxy槽6 keepalive类型没有现役web01 ip地址10.1.10.10现役web02 ip地址10.1.10.11活跃所有者https-vip思科内容VIP地址10.1.10.100协议TCP端口443 add service ssl-serv1 add service ssl-serv2 active content http-vip VIP地址10.1.10.100协议TCP端口80 add service web01 add service web02 active