Построение виртуальной частной сети (VPN) на базе цифровых сертификатов Х.509 и протокола IPSec.
IPSec (VPN)
Интернет дал миру разнообразные информационные сервисы: от обычной электронной почты до электронной коммерции и критических бизнес-приложений, потоки информации в которых содержат огромное количество конфиденциальной информации. Необходимость защитить эту информацию при передаче через общедоступные и небезопасные сети привела информационное общество к созданию виртуальных частных сетей (Virtual Private Networks - VPN). Безопасность VPN достигается за счет применения таких механизмов, как туннелирование, шифрование, аутентификация, управление доступом, а также службами, используемыми для передачи трафика через Интернет или любую другую небезопасную сеть на базе протоколов TCP/IP. IPSec - одна из важнейших технологий обеспечения безопасности, используемых в VPN.
Гарантии целостности и конфиденциальности данных в протоколе IPSec обеспечиваются за счет использования механизмов аутентификации и шифрования. Применение этих механизмов основано на предварительном согласовании сторонами порядка информационного обмена т.н. "контекста безопасности" – используемых криптографических алгоритмов, алгоритмов управления ключевой информацией и конфигурации параметров этих алгоритмов.
Наиболее надежным и эффективным методом применения IPSec является организация шифрования с использованием аутентификации посредством цифровых сертификатов X.509. На рисунке, который приведен ниже, показана схема получения, обмена и проверки сертификатов при организации защищенного канала IPSec VPN.
Сертификаты, выпускаемые Центром сертификации ключей «БКП-консалтинг», могут быть достаточно просто использованы для построения защищенных каналов (VPN) на базе IPSec. Возможность использования цифровых сертификатов в сетевом оборудовании мирового лидера Cisco Systems, Inc. уже реализована производителем, и для профессионалов не составляет особых затруднений. Для этого нужно совсем немного.
Приведем последовательность действий и фрагменты, иллюстрирующие получение результата:
авторизоваться в центре сертификации и получить корневой сертификат;
R10(config)#crypto pki authenticate R10-CA
Trustpoint 'R10-CA' is a subordinate CA and holds a non self signed cert
Certificate has the following attributes:
Fingerprint MD5: BD140FEC 7FADC878 CD8D1223 C651551A
Fingerprint SHA1: 3F598C48 C115A677 2BFABD6A C6B3D275 9D2360E3
% Do you accept this certificate? [yes/no]: y
Trustpoint CA certificate accepted.
|
получить сертификат на устройство;
R10(config)#cry pki enroll R10-CA
% Start certificate enrollment ..
% The fully-qualified domain name in the certificate will be: R10.amb.lan
% The subject name in the certificate will be: R10.amb.lan
% The serial number in the certificate will be: B0EC7062
% The IP address in the certificate is 192.168.10.2
% Certificate request sent to Certificate Authority
% The certificate request fingerprint will be displayed.
% The 'show crypto pki certificate' command will also show the fingerprint.
Aug 2 08:10:27.214: %SYS-5-CONFIG_I: Configured from console by avl on console
Aug 2 08:10:27.498: CRYPTO_PKI: Signature Certificate Request Fingerprint MD5: 2ACC14E7 2F0575EA E42598CC 176E0D17
Aug 2 08:10:27.498: CRYPTO_PKI: Signature Certificate Request Fingerprint SHA1: B48E990C 822D0A96 A27DCAC8 698EAB14 3B5A8E5A
Aug 2 08:10:29.869: CRYPTO_PKI: Encryption Certificate Request Fingerprint MD5: E09B44DF 69432935 BB1725E5 8735F562
Aug 2 08:10:29.869: CRYPTO_PKI: Encryption Certificate Request Fingerprint SHA1: 836A51A7 45EB7AAC E84B2B7E 73C3739A F3B086D7
Aug 2 08:10:32.424: %PKI-6-CERTRET: Certificate received from Certificate Authority
Aug 2 08:10:42.713: %PKI-6-CERTRET: Certificate received from Certificate Authority
Aug 2 08:10:42.713: %PKI-4-NOAUTOSAVE: Configuration was modified. Issue "write memory" to save new certificate
|
включить режим шифрования.
Просмотреть полученные сертификаты можно с помощью команды “show crypto ca certificates”:
R10#sh cry ca certificates
Certificate
Status: Available
Certificate Serial Number: 19D2391D00000000016A
Certificate Usage: General Purpose
Issuer:
cn=SubCA of one-cons Ltd.
dc=ca
dc=amb
dc=liga-net
dc=org
Subject:
Name: R10.amb.lan
IP Address: 192.168.10.2
Serial Number: B0EC7062
hostname=R10.amb.lan
ipaddress=192.168.10.2
serialNumber=B0EC7062
CRL Distribution Points:
ldap://ca.amb.liga-net.org/CN=SubCA%20of%20amb-cons%20Ltd.,CN=amb-ca, CN=CDP,CN=Public%20Key%20Services,CN=Services,CN=Configuration,DC=ca,DC=amb,DC=liga-net, DC=org?certificateRevocationList?base?objectClass=cRLDistributionPoint
http://ca.amb.liga-net.org/CertEnroll/SubCA%20of%20amb-cons%20Ltd..crl
Validity Date:
start date: 12:10:16 UA Aug 2 2006
end date: 12:10:16 UA Aug 1 2008
Associated Trustpoints: R10-CA
CA Certificate
Status: Available
Certificate Serial Number: 617494C9000100000010
Certificate Usage: Signature
Issuer:
cn=Root Ca of amb-cons Ltd.
dc=amb
dc=liga-net
dc=org
Subject:
cn=SubCA of amb-cons Ltd.
dc=ca
dc=amb
dc=liga-net
dc=org
CRL Distribution Points:
http://ca.amb.liga-net.org/CertEnroll/Root%20Ca%20of%20amb-cons%20Ltd.(1).crl
Validity Date:
start date: 11:51:53 UA Nov 13 2004
end date: 12:01:53 UA Nov 13 2014
Associated Trustpoints: R10-CA
|
Как видно из листинга, были получены корневой сертификат и сертификат на устройство маршрутизации, которые необходимы для организации VPN на базе IPSec.
Для того чтобы после выполнения настройки убедиться, что ваш трафик зашифрован, достаточно запустить утилиту tcpdump на одном из шлюзов.
16:34:53.218250 IP 192.168.10.2.isakmp > 192.168.17.2.isakmp: isakmp: phase 1 I ident
16:34:53.251638 IP 192.168.17.2.isakmp > 192.168.10.2.isakmp: isakmp: phase 1 R ident
16:34:53.256342 IP 192.168.10.2.isakmp > 192.168.17.2.isakmp: isakmp: phase 1 I ident
16:34:53.289838 IP 192.168.17.2.isakmp > 192.168.10.2.isakmp: isakmp: phase 1 R ident
16:34:53.519041 IP 192.168.10.2.isakmp > 192.168.17.2.isakmp: isakmp: phase 1 I ident[E]
16:34:53.519056 IP 192.168.10.2 > 192.168.17.2: udp
16:34:53.691762 IP 192.168.17.2.isakmp > 192.168.10.2.isakmp: isakmp: phase 2/others R inf[E]
16:34:53.860920 IP 192.168.17.2.isakmp > 192.168.10.2.isakmp: isakmp: phase 1 R ident[E]
16:34:53.860926 IP 192.168.17.2 > 192.168.10.2: udp
16:34:53.914613 IP 192.168.10.2.53425 > 192.168.10.1.domain: 1+ A? ca.amb.liga-net.org. (37)
16:34:53.915731 IP 192.168.10.2.53431 > 192.168.10.1.domain: 2+ A? ca.amb.liga-net.org. (37)
16:34:54.798135 IP 192.168.10.1.domain > 192.168.10.2.53425: 1 2/3/0 CNAME[|domain]
16:34:54.798247 IP 192.168.10.1.domain > 192.168.10.2.53431: 2 2/3/0 CNAME[|domain]
16:34:54.800962 IP 192.168.10.2.21331 > amb-ca.ca.amb.liga-net.org.ldap: S 4221591914:4221591914(0) win 4128
16:34:54.802286 IP amb-ca.ca.amb.liga-net.org.ldap > 192.168.10.2.21331: S 1288039318:1288039318(0) ack 4221591915 win 16384
16:34:54.802826 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: S 3639528822:3639528822(0) win 4128
16:34:54.803084 IP amb-ca.ca.amb.liga-net.org.http > 192.168.10.2.21389: S 3375440584:3375440584(0) ack 3639528823 win 16384
16:34:54.803607 IP 192.168.10.2.21331 > amb-ca.ca.amb.liga-net.org.ldap: . ack 1 win 4128
16:34:54.804120 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: . ack 1 win 4128
16:34:54.804820 IP 192.168.10.2.21331 > amb-ca.ca.amb.liga-net.org.ldap: . 1:15(14) ack 1 win 4128
16:34:54.805827 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: . 1:95(94) ack 1 win 4128
16:34:54.878012 IP amb-ca.ca.amb.liga-net.org.http > 192.168.10.2.21389: . 1:537(536) ack 95 win 65441
16:34:54.878090 IP amb-ca.ca.amb.liga-net.org.http > 192.168.10.2.21389: . 537:1073(536) ack 95 win 65441
16:34:54.879733 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: . ack 1073 win 7464
16:34:54.880045 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: . ack 1073 win 8000
16:34:54.880067 IP amb-ca.ca.amb.liga-net.org.http > 192.168.10.2.21389: FP 1073:1481(408) ack 95 win 65441
16:34:54.881088 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: . ack 1482 win 8000
16:34:54.881949 IP 192.168.10.2.21389 > amb-ca.ca.amb.liga-net.org.http: FP 95:95(0) ack 1482 win 7592
16:34:54.882119 IP amb-ca.ca.amb.liga-net.org.http > 192.168.10.2.21389: . ack 96 win 65441
16:34:54.965537 IP 192.168.10.2.isakmp > 192.168.17.2.isakmp: isakmp: phase 2/others I oakley-quick[E]
16:34:54.974299 IP 192.168.17.2.isakmp > 192.168.10.2.isakmp: isakmp: phase 2/others R oakley-quick[E]
16:34:54.982984 IP 192.168.10.2.isakmp > 192.168.17.2.isakmp: isakmp: phase 2/others I oakley-quick[E]
16:34:55.009078 IP amb-ca.ca.amb.liga-net.org.ldap > 192.168.10.2.21331: . ack 15 win 65521
|
Приведенный выше фрагмент показывает, что процессы соединения, обмена ключами и сертификатами, и проверки сертификатов прошли успешно.
Факт, что соединение действительно защищено, иллюстрирует фрагмент, приведенный ниже:
16:34:55.213925 IP 192.168.10.2 > 192.168.17.2: ESP(spi=0x966f9b4a,seq=0x1)
16:34:55.215175 IP 192.168.17.2 > 192.168.10.2: ESP(spi=0xa496a63e,seq=0x1)
16:34:55.216533 IP 192.168.10.2 > 192.168.17.2: ESP(spi=0x966f9b4a,seq=0x2)
16:34:55.217719 IP 192.168.17.2 > 192.168.10.2: ESP(spi=0xa496a63e,seq=0x2)
16:34:55.219056 IP 192.168.10.2 > 192.168.17.2: ESP(spi=0x966f9b4a,seq=0x3)
16:34:55.220265 IP 192.168.17.2 > 192.168.10.2: ESP(spi=0xa496a63e,seq=0x3)
16:34:55.221622 IP 192.168.10.2 > 192.168.17.2: ESP(spi=0x966f9b4a,seq=0x4)
16:34:55.222800 IP 192.168.17.2 > 192.168.10.2: ESP(spi=0xa496a63e,seq=0x4)
|
Тестирование производилось на оборудовании фирмы Cisco Systems, Inc. Модель маршрутизатора, которая использовалась для тестирования - «Cisco 871 Security Bundle with Advanced IP Services».
Оборудование для тестирования было любезно предоставлено компанией «МУК» (Мерисел Украина).
|