2010-08-09 09:30 PM
ACE は Connection Handling within the Cisco Application Control Engine Module Hardware に記載されているように、crypto chip が搭載されており、SSL 通信を高速に復号化することが可能です。 また、ACE で復号化を行うことで ACE - server 間は平文で通信可能となり、server への負荷を軽減することができます。
ACE で client からの SSL 通信を終端せず、client - server 間で SSL 通信を行うことも可能ですが、ここでは、上図のように ACE が SSL 通信を終端した場合の設定について説明します。
ACE では下記手順で設定を行うことで SSL 処理可能になります。
1) cert/key の import
2) ssl-proxy service の設定
3) policy-map の該当 class に ssl-proxy service を適用
# 構成
# ACE 設定
ACE20/Admin# crypto import terminal cert.pem !___ 証明書の import Please enter PEM formatted data. End with "quit" on a new line. -----BEGIN CERTIFICATE----- MIIDEjCCAnsCCQDr6c7BldcySTANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMC SlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEOMAwGA1UEChMF Y2lzY28xDDAKBgNVBAsTA1RBQzERMA8GA1UEAxMIeXVzaGltYXoxITAfBgkqhkiG 9w0BCQEWEnl1c2hpbWF6QGNpc2NvLmNvbTAeFw0xMDA4MDkwMjQzMDhaFw0xMDA5 MDgwMjQzMDhaMIGRMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFVG9reW8xETAPBgNV BAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxDaXNjb1N5c3RlbXMxEjAQBgNVBAsTCUph cGFuLVRBQzERMA8GA1UEAxMIeXVzaGltYXoxITAfBgkqhkiG9w0BCQEWEnl1c2hp bWF6QGNpc2NvLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANzs HEssS8Ihz2ijLJeWJgbLE6BaRZMHgI2OyMLL5mH4nlyBtvvBCdMPCVj6bDU+ErZ/ onl6cLJ7E1w5TGJp2WHbIoTlftO36oG1Yim1w1Idm0PnjZHSFSz6fXoz50dK2eIl 70DFZ3nLdSCtPB4zlbuIqhizvCDQN06TxKvQOA+oVr7n2AEWv0trX4DO4FPz1YS4 QWOwNUnb7KbVAorrayb5S5EqfDu5VC11LOwiNy7aA9kFtRsdXTZ+c2cbw3RxsxNf Z6v309lAWxEFZ7jVwZoYmZSUnoAzSU+Ro3xNXS6ICBZM4J/wfroRYo5WKa7JFPc6 PYv9CRjN7Y5QP5PomecCAwEAATANBgkqhkiG9w0BAQUFAAOBgQC4kFcRDrbs9SHQ LBlqWlSWawawWGrFuNl3B8lxw09U32hrbRirlDhOaVUNZ2qKdDiR7lM9Cj5k08GQ RRZkSGx2B9phiku3CyzZRk6MgO/doMDh5onp8ZVKV1NFONnC4Kd90GB3x2z6F/Ph fXTEOieQobyBrpaqS/XIyjv//9pa2g== -----END CERTIFICATE----- quit ACE20/Admin# crypto import terminal key.pem passphrase cisco !___ 鍵の import Please enter PEM formatted data. End with "quit" on a new line. -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,428B97AA6B951FDF ctmvkTnJn4WR85zrTLrAhX37WvCyCbzvdV39g5AoFJosGaHA55BQxalPUTsfE0Vy EfAg/aSdywxAOeDMrQ+CnMBOoS8AU2So5CFML1YqfcUZevipJHNHOfiXgAHut3OG QfB33YfqawFON0HuyQdOIP0kC6hRROm/gRwwn7E7Jjrg/YMfHy3SrwtHXz8wUUJy xtBhwdsC/oTb2bFN6A0hUxKdH8LLmhzKekHrIzt/X9RM96VnttDxF+we9Qdv1D2D P2J7gc9dokvYVV4Z676I0aobPyO1vZaTxoUwuwlNbPgg1ugUSCM8PDY0JyWcLYmg r/5iTApznDUqU3wc8gD5MfB8PQVVI/W2WaukOBO5qoufrLQwVfW8W8qGnEnKI51v bNO6ykOGjNLtwgsbuyAliz6rrhVzelZf7oroXKYLGyq9B3KGx9LlVwJRCmvbYKOE fSwlAs8Aq8N+DSGMHr+KvXZUoQTTQBNXK4mOtWlJo2EWDjsIiWuaeBkSNhXwZPp1 YuKi7D1SCnHCsXklp3/I+KmE2E65mZm5/aEZVgVYHhBRSuOSSq4NCW6LIBh2pggF B25qXO66c7g5A2lpzahtA0eXPrF154CVHjgWz89Fxsek9T2a0awgnQES6ecPZD5I jzhLRhCb5h9gTDhiRMT59Nt3xp6vKyIKY56d2lOzTqbRsILMg3OVGyEDywXmghkO cd5DZwt0Y3RzVIow4q5DenTMFyBnbueyqnOBCDOOpDpgJd+S9tauOWtJzC/PAS6h KZcUJ3uP2gIWBGdNCj1nyALa2nvWh5VO8mRjtwBmOt7eKfkwlncivLgyJADBr1lz DE6vD+862+CnZH43F+KYwS8U2AHeEtvDSsWoZ1T2QQ/w26DQPWLKXnRDjHMwBNVZ 6zpvxOYPGj+bZXdeKbCeOLIiXiEHyWy7ACqVcTku5nJRpoM2A0dDqJyR5136Eh00 PRsIBoM0AVXM/agmaMVjgnjB0rb2VNqHrUgHyP57l1VxyKarfeibRS/3ute9bjkx doldUuvKMEcS4XYvnkUxgj03KwhtJPXCwuLou2jHqpuo5LXfygsu2Xbvhljwt1kc txYr3K+JpLNWklw9Ia3DMnAbDM59IQ9xvO1Fhzs7L1cNhzD4NVkZBeWNwqYM6qvZ bQXSfX9fgoQo+Xz2waGAAB5LQ0I2dpoQPhodmdHy1Mdro7I+ntdQInQtsdej82DD dTA0+ZFiCjCjhxIGo65luDESA9UeLUKmFOOuJxfnhQjHVLDxKmKs06N67a0XrKWK fQzzt7DGVIKoeGqq6uc2c63LodpVXucxxC55uHNnOP5f16e4/R/rj+jephdcRA1+ /aiY2D4rbjPntjqsMUbrRbS9fAZEaOrE4BzXw8BOf6RT8bbQCDRjf8Iq15+XvbsG MDdkmSh1/Ku02CurORUiQkWT98n9iUfGDl1Hvd6NncadQ/30vTbBoVd3J5P8IJfX OGcwgFeV92i6HwYkqmKS7uosGOAWYXTO8cT6i8XdJdU2kiuZBiSMa3NDdidzOhXQ PyuVtT3rH1SAIp6yfasW7ukzpR3QKJNbk7Fn5a3W8zUx5++b8aTpAg== -----END RSA PRIVATE KEY----- quit ACE20/Admin# ACE20/Admin# show run Generating configuration.... hostname ACE20 boot system image:c6ace-t1k9-mz.A2_3_1.bin access-list all line 8 extended permit ip any any rserver host sv1 ip address 192.168.72.11 inservice rserver host sv2 ip address 192.168.72.12 inservice serverfarm host sf rserver sv1 80 !___ server との通信は 443 ではなく 80 を使うため port# の設定が必要 inservice rserver sv2 80 inservice ssl-proxy service ssl key key.pem cert cert.pem class-map match-all vip 2 match virtual-address 192.168.71.100 tcp eq https policy-map type loadbalance first-match lb class class-default serverfarm sf policy-map multi-match client-vips class vip loadbalance vip inservice loadbalance policy lb loadbalance vip icmp-reply ssl-proxy server ssl access-group input all interface vlan 771 ip address 192.168.71.250 255.255.255.0 service-policy input client-vips no shutdown interface vlan 772 ip address 192.168.72.250 255.255.255.0 no shutdown |
今回の構成では、ACE の vip 宛てには port#443 (ssl) で access しますが、ACE から server への access は port#80 (clear text) を使用します。 そのため、serverfarm 上で rserver の port# を設定する必要があります。 設定しなかった場合、ACE から server 宛ての access に使用される dest port が 443 のままとなってしまいます。
上記構成/設定で client から GET request を送信すると、下記出力のように server からの http response が確認できます。
# client から vip 宛てに ssl を用いて GET request を送信
client:/# openssl s_client -connect 192.168.71.100:443 -CAfile rootCAcert.pem CONNECTED(00000003) depth=1 /C=JP/ST=Tokyo/L=Shinjuku/O=cisco/OU=TAC/CN=yushimaz/emailAddress=yushimaz@cisco.com verify return:1 depth=0 /C=JP/ST=Tokyo/L=Shinjuku/O=CiscoSystems/OU=Japan-TAC/CN=yushimaz/emailAddress=yushimaz@cisco.com verify return:1 --- Certificate chain 0 s:/C=JP/ST=Tokyo/L=Shinjuku/O=CiscoSystems/OU=Japan-TAC/CN=yushimaz/emailAddress=yushimaz@cisco.com i:/C=JP/ST=Tokyo/L=Shinjuku/O=cisco/OU=TAC/CN=yushimaz/emailAddress=yushimaz@cisco.com --- Server certificate -----BEGIN CERTIFICATE----- MIIDEjCCAnsCCQDr6c7BldcySTANBgkqhkiG9w0BAQUFADCBhDELMAkGA1UEBhMC SlAxDjAMBgNVBAgTBVRva3lvMREwDwYDVQQHEwhTaGluanVrdTEOMAwGA1UEChMF Y2lzY28xDDAKBgNVBAsTA1RBQzERMA8GA1UEAxMIeXVzaGltYXoxITAfBgkqhkiG 9w0BCQEWEnl1c2hpbWF6QGNpc2NvLmNvbTAeFw0xMDA4MDkwMjQzMDhaFw0xMDA5 MDgwMjQzMDhaMIGRMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFVG9reW8xETAPBgNV BAcTCFNoaW5qdWt1MRUwEwYDVQQKEwxDaXNjb1N5c3RlbXMxEjAQBgNVBAsTCUph cGFuLVRBQzERMA8GA1UEAxMIeXVzaGltYXoxITAfBgkqhkiG9w0BCQEWEnl1c2hp bWF6QGNpc2NvLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANzs HEssS8Ihz2ijLJeWJgbLE6BaRZMHgI2OyMLL5mH4nlyBtvvBCdMPCVj6bDU+ErZ/ onl6cLJ7E1w5TGJp2WHbIoTlftO36oG1Yim1w1Idm0PnjZHSFSz6fXoz50dK2eIl 70DFZ3nLdSCtPB4zlbuIqhizvCDQN06TxKvQOA+oVr7n2AEWv0trX4DO4FPz1YS4 QWOwNUnb7KbVAorrayb5S5EqfDu5VC11LOwiNy7aA9kFtRsdXTZ+c2cbw3RxsxNf Z6v309lAWxEFZ7jVwZoYmZSUnoAzSU+Ro3xNXS6ICBZM4J/wfroRYo5WKa7JFPc6 PYv9CRjN7Y5QP5PomecCAwEAATANBgkqhkiG9w0BAQUFAAOBgQC4kFcRDrbs9SHQ LBlqWlSWawawWGrFuNl3B8lxw09U32hrbRirlDhOaVUNZ2qKdDiR7lM9Cj5k08GQ RRZkSGx2B9phiku3CyzZRk6MgO/doMDh5onp8ZVKV1NFONnC4Kd90GB3x2z6F/Ph fXTEOieQobyBrpaqS/XIyjv//9pa2g== -----END CERTIFICATE----- issuer=/C=JP/ST=Tokyo/L=Shinjuku/O=cisco/OU=TAC/CN=yushimaz/emailAddress=yushimaz@cisco.com --- No client certificate CA names sent --- SSL handshake has read 894 bytes and written 428 bytes --- New, TLSv1/SSLv3, Cipher is RC4-MD5 Server public key is 2048 bit Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1 Cipher : RC4-MD5 Session-ID: Session-ID-ctx: Master-Key: C75F97384C64510C5B9A8A31F434FF052C40D5CC551C3DFD3A3A0C0AB358C2C9CB3F1B67561607E6E096EE4E23FCF10B Key-Arg : None Start Time: 1281325643 Timeout : 300 (sec) Verify return code: 0 (ok) --- GET / HTTP/1.0 Host:a HTTP/1.1 200 OK !___ http response Date: Mon, 09 Aug 2010 03:47:28 GMT Server: Apache/1.3.34 (Debian) Last-Modified: Sun, 11 Jul 2010 22:07:36 GMT ETag: "2da7b5-4-4c3a40a8" Accept-Ranges: bytes Content-Length: 4 Connection: close Content-Type: text/html; charset=iso-8859-1 sv1 closed client:/# |
# capture
ACE は、上記のように、client - ACE 間で connection を終端した (3 way handshake, SSL handshake を行った No.1 - 11) 後、ACE - server 間で connection を張ります(No.12 - 14)。
また、SSL 通信の場合、ACE が encrypt/decrypt を行うため、すべての通信が ACE で終端されます。(Full proxy)
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます