Центр сертификатов на маршрутизаторе Cisco

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

На этой странице описывается как настроить маршрутизатор Cisco:

  • для работы в качестве центра сертификатов (Certificate Authority, CA);
  • для получения сертификатов от:
    • центра сертификатов на Windows Server 2003,
    • центра сертификатов на маршрутизаторе Cisco,
    • самого себя, если маршрутизатор сам является центром сертификатов.

Содержание

[править] Основные понятия

Основные понятия относящиеся к центрам сертификатов и инфраструктуре открытого ключа на странице Криптография

[править] Настройка CA-сервера на маршрутизаторе

[править] Начальная настройка маршрутизатора

При настройке CA-сервера необходимо обратить внимание на время на самом сервере, а также на время, настроенное на клиентах, которые будут к нему обращаться. Время должно быть одинаковым. Простейший вариант использовать команду:

r3ca#clock set 21:32:00 02 October 2007

Можно поднять NTP сервер.

r3ca(config)#ntp master <номер страты>

Настройки на маршрутизаторах-клиентах для синхронизации времени с СА

dyn3(config)#ntp server <IP_адрес сервера NTP>

Задайте имя маршрутизатора и имя домена:

r3ca(config)#hostname r3ca
r3ca(config)#ip domain name cisco.com

Cisco IOS CA Server для выдачи сертификатов использует протокол SCEP (Simple Certificate Enrollment Protocol). Для того чтобы этот протокол работал, необходимо включить встроенный в IOS HTTP server:

r3ca(config)#ip http server

[править] Создание пары RSA ключей

Сначала необходимо сгенерировать пару ключей, которую будет использовать CA-сервер:

r3ca(config)#crypto key generate rsa general-keys label r3ca exportable

Имя r3ca (метка пары ключей) должно соответствовать имени сервера (используется при выполнении команды crypto pki server cs-label, которая рассматривается далее)

Экспорт ключей в NVRAM память:

r3ca(config)#crypto key export rsa r3ca pem url nvram: 3des cisco123
  • r3ca — название сгенерированной ранее пары ключей
  • pem — privacy-enhanced mail (PEM). Формат файла для передачи и запроса сертификатов
  • cisco123 — пароль, который используется для защиты приватного ключа

Увидеть сгенерированную пару ключей можно выполнив команду:

r3ca#show crypto key mypubkey rsa

[править] Обязательные настройки и значения по умолчанию

Для того чтобы запустить CA-сервер с настройками по умолчанию достаточно зайти в режим настройки сервера и включить его:

r3ca(config)#crypto pki server r3ca
r3ca(cs-server)#no shut

Имя сервера должно соответствовать имени пары ключей, сгенерированных ранее.

Конфигурация по умолчанию:

r3ca#show crypto pki server
Certificate Server r3ca:
    Status: enabled
    Server's configuration is locked  (enter "shut" to unlock it)
    Issuer name: CN=r3ca
    CA cert fingerprint: F3203FCB 8D7ABC51 96896E62 206E22B0 
    Granting mode is: manual
    Last certificate issued serial number: 0x1
    CA certificate expiration timer: 15:03:04 UTC Nov 29 2010
    CRL NextUpdate timer: 21:03:04 UTC Nov 30 2007
    Current storage dir: nvram:
    Database Level: Minimum - no cert data written to storage

После включения сервера одноименная trustpoint создается автоматически:

r3ca#show crypto pki trustpoints
Trustpoint r3ca:
    Subject Name:
    cn=r3ca
          Serial Number: 01
    Certificate configured.

Настройки применимые к CA-серверу:

r3ca(cs-server)#?
CA Server configuration commands:
  cdp-url      CRL Distribution Point to be included in the issued certs
  database     Certificate Server database config parameters
  default      Set a command to its defaults
  exit         Exit from Certificate Server entry mode
  grant        Certificate granting options
  issuer-name  Issuer name
  lifetime     Lifetime parameters
  mode         Mode
  no           Negate a command or set its defaults
  shutdown     Shutdown the Certificate Server
  • cdp-url — позволяет указать url по которому будет доступен CRL.

По умолчанию эта команда не настроена и клиенты Cisco IOS PKI будут автоматически использовать SCEP для получения CRL с сервера.

  • database url — указывает где будут храниться записи базы данных сервера сертификатов. По умолчанию — NVRAM
  • database level — контролирует какого рода информация будет храниться в базе данных выдачи сертификатов. По умолчанию — minimal.
  • issuer-name — как будет указываться в сертификате имя сервера выдавшего сертификат. По умолчанию имя сервера.
  • lifetime ca-certificate — время жизни (в днях) сертификата сервера. По умолчанию 3 года. Возможный диапазон значений от 1 дня до 1825 дней.
  • lifetime certificate — время жизни (в днях) сертификатов выданных клиентам. Значение по умолчанию — 1 год.
  • lifetime crl — время жизни (в часах) CRL. Значение по умолчанию - 168 часов (1 неделя). Максимальное значение 336 часов (2 недели).
  • grant — режим выдачи сертификатов.

[править] Выдача сертификатов

По умолчанию сервер требует ручного подтверждения запросов на сертификаты (режим manual). В этом случае для того чтобы ответить на все текущие запросы необходимо в режиме enable выполнить команду:

r3ca# crypto pki server r3ca grant all

Можно выбрать конкретный запрос и ответить только на него. Для это необходимо сначала посмотреть какие запросы сейчас есть (в некоторых IOS для этого используется команда crypto pki server r3ca info requests):

r3ca#sh crypto pki server r3ca requests 
Enrollment Request Database:

Subordinate CA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

RA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

Router certificates requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------
2      pending    901F7F846E00EB107CC70C587818189C hostname=dyn5.cisco.com
1      pending    8861015F613D8B142FB7FDFB7CC8A028 hostname=dyn3.cisco.com

И выполнить команду (где 2 — это номер запроса, на который необходимо ответить):

r3ca# crypto pki server r3ca grant 2

[править] Опциональные настройки

В качестве базового места для хранения данных СА-сервера укажите flash (по умолчанию — NVRAM, также может использоваться TFTP-сервер):

r3ca(cs-server)#database url flash:

Можно указать расположение различных типов файлов с помощью команды "database url {cnm|crl|crt|p12|pem|ser} root-url"

Установите какой тип данных будет храниться в базе данных выдачи сертификатов:

r3ca(cs-server)#database level minimum
  • minimum — хранится информация достаточная для выдачи новых сертификатов без возникновения конфликтов. Значение по умолчанию.
  • names — в дополнение к информации уровня minimum, хранится серийный номер и subject name каждого сертификата.
  • complete — в дополнение к информации уровней minimum и names, каждый выданный сертификат хранится в базе данных.

Задайте параметры для идентификации сервера в сети:

r3ca(cs-server)#issuer-name CN=r3ca

CN - common name.

Задайте время обновления списка отозванных сертификатов (crl), время (первый в часах, второй и третий — в сутках), в течение которого сертификат клиента и сертификат сервера будут действительны:

r3ca(cs-server)# lifetime crl 24
r3ca(cs-server)# lifetime certificate 200
r3ca(cs-server)# lifetime ca-certificate 365

Настройка сервера для автоматической генерации ответов на запросы сертификатов:

r3ca(cs-server)# grant auto

Icon-caution.gif

Данная команда приведет к тому, что любой запрос на получение сертификата будет выполнен автоматически и злоумышленник сможет получить себе полноценный сертификат от вашего CA-сервера.

[править] Настройка trustpoint

Настройки генерируются автоматически при поднятии СА-сервера. Они могут быть изменены, но до включения сервера сертификатов (до выполнения команды no shutdown в контексте настройки сервера).

Выйдите из режима настройки СА-сервера и задайте необходимые параметры:

r3ca(cs-server)#ex
r3ca(config)#crypto pki trustpoint r3ca
r3ca(ca-trustpoint)# enrollment url http://r3ca:80
r3ca(ca-trustpoint)# revocation-check crl

Включение CA-сервера:

r3ca(config)#crypto pki server r3ca        
r3ca(cs-server)#no shut

[править] Настройка маршрутизаторов для получения сертификатов от CA-сервера на маршрутизаторе

Задайте имя маршрутизатора и имя домена:

Router(config)#hostname dyn3
dyn3(config)#ip domain name cisco.com

Создание статической записи хост-ip address:

dyn3(config)# ip host r3ca 192.168.2.1

Необходимо сгенерировать пару ключей:

dyn3(config)# crypto key generate rsa 

Необходимо создать trustpoint и зайти в режим настройки:

dyn3(config)# crypto pki trustpoint r3ca

Указать url для запроса сертификатов:

dyn3(ca-trustpoint)# enrollment url http://r3ca:80

Получить сертификат CA-сервера:

dyn3(config)# crypto pki authenticate r3ca

Запросите собственный сертификат:

dyn3(config)# crypto pki enroll r3ca

В зависимости от настроек сервера запрос будет подтвержден автоматически или администратором.

[править] Настройка маршрутизатора, на котором находится CA, для получения сертификата

Создаем статическую запись хост-ip address:

r3ca(config)# ip host r3ca 192.168.2.1

Для того чтобы сервер мог получить сертификат необходимо создать на нем еще одну trustpoint, так как trustpoint созданная автоматически при создании CA-сервера не может использоваться для выдачи сертификата сервером самому себе:

r3ca(config)# crypto pki trustpoint TEST
r3ca(ca-trustpoint)#enrollment url http://r3ca:80

Получить сертификат CA-сервера:

r3ca(config)# crypto pki authenticate TEST

Запросите сертификат:

r3ca(config)# crypto pki enroll TEST

Теперь сервер может участвовать в работе PKI и в качестве клиента.

[править] Настройка маршрутизатора для получения сертификата от MS CA

В качестве корневого CA используется Windows Server 2003.

Задайте имя маршрутизатора и имя домена:

Router(config)#hostname R_2
R_2(config)#ip domain name unix.nt

Создание статической записи соответствия имени хоста IP-адресу:

R_2(config)# ip host winca 192.168.25.100

Необходимо сгенерировать пару ключей:

R_2(config)# crypto key generate rsa 

Необходимо создать trustpoint и зайти в режим настройки:

R_2(config)#crypto pki trustpoint winca 

Указать url для запроса сертификатов:

R_2(ca-trustpoint)#enrollment url http://winca/certsrv/mscep/mscep.dll
R_2(ca-trustpoint)#crl optional

Получить сертификат CA-сервера:

R_2(config)# crypto pki authenticate winca

Запросить собственный сертификат:

R_2(config)# crypto pki enroll winca

[править] Настройка CA на маршрутизаторе для работы в режиме RA

Icon-caution.gif

Если сервер сертификатов Cisco IOS на маршрутизаторе работает в режиме RA, то CA выдающий сертификаты должен быть сервером сертификатов Cisco IOS.

crypto pki server RArouter
 mode ra
!
crypto pki trustpoint RArouter
 enrollment mode ra
 enrollment url http://iosca
 subject-name cn=RArouter
 revocation-check crl
 rsakeypair RArouter
!         

[править] Пример конфигурации

Конфигурация сервера r3ca:

!
hostname r3ca
!
!
!
ip domain name cisco.com
ip host r3ca 192.168.2.1
!
!
!
crypto pki server r3ca
 grant auto
 lifetime crl 24
 lifetime certificate 200
 lifetime ca-certificate 365
!
crypto pki trustpoint r3ca
 enrollment url http://r3ca:80
 revocation-check crl
 rsakeypair r3ca
!
crypto pki trustpoint TEST
 enrollment url http://r3ca:80
 revocation-check crl
!
crypto pki certificate chain r3ca
 certificate ca 01
  30820172 3082011C A0030201 02020101 300D0609 2A864886 F70D0101 04050030 
  0F310D30 0B060355 04031304 72336361 301E170D 30373130 30343135 34373434 
  5A170D30 38313030 33313534 3734345A 300F310D 300B0603 55040313 04723363 
  61305C30 0D06092A 864886F7 0D010101 0500034B 00304802 4100BA45 AE249F21 
  60B376F8 4B1C0A45 D6916465 0488BAEF 6ABF2C2B 2F567395 25E258C2 FB06BB9C 
  F3FC679B 69665321 6E7E4F14 FD592DED 5C98F880 19CD638F C0810203 010001A3 
  63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01 01FF0404 
  03020186 301F0603 551D2304 18301680 1435DA9B 01CC2874 E5F1E64F A3695D1B 
  CCCA8207 3D301D06 03551D0E 04160414 35DA9B01 CC2874E5 F1E64FA3 695D1BCC 
  CA82073D 300D0609 2A864886 F70D0101 04050003 41001C0B 232EFDB5 D9EC3662 
  B6075A76 47955C9D FA673691 8450A15C 9C420C9F 04EA2E70 D1394D7E 20FB91DF 
  3987F216 5B7B84A1 B6023DBE D9464AD0 F6289C99 0D4C
  quit
crypto pki certificate chain TEST
 certificate 04
  3082016F 30820119 A0030201 02020104 300D0609 2A864886 F70D0101 04050030
  11310F30 0D060355 04031306 43415345 5256301E 170D3037 31323031 31353136
  34375A17 0D303831 31333031 35313634 375A301E 311C301A 06092A86 4886F70D
  01090216 0D64796E 312E6E61 74612E63 6F6D305C 300D0609 2A864886 F70D0101
  01050003 4B003048 024100B0 462630CF 2969B6E1 6C616679 FEB6948A D5D11031
  8A0384EC 7F18C99E 366587EA 405CCCAB C267D3A9 D3A904BF DD2084D1 2AEAEE0A
  C7056D41 E7CA0C35 C22A6502 03010001 A34F304D 300B0603 551D0F04 04030205
  A0301F06 03551D23 04183016 8014F208 6746E378 9C261EF0 ECD40B4D 8C91B2AE
  B39B301D 0603551D 0E041604 14FF7414 E524AEC4 F20FE7FE 4A6F1B87 B0C78658
  8A300D06 092A8648 86F70D01 01040500 0341004A 2F068197 AB680572 41A2460D
  15C8E3A2 BD1C7C35 38CF44A8 90BA2073 852AD718 18ED23AB 111DD4F1 14E662AE
  CBFE2579 8F60682D 8F53BDC5 B6750F92 678B58
  quit
 certificate ca 01
  30820176 30820120 A0030201 02020101 300D0609 2A864886 F70D0101 04050030
  11310F30 0D060355 04031306 43415345 5256301E 170D3037 31313330 31353033
  30345A17 0D313031 31323931 35303330 345A3011 310F300D 06035504 03130643
  41534552 56305C30 0D06092A 864886F7 0D010101 0500034B 00304802 4100DA5A
  B917730A 5D8BBF73 C5C1F4D4 0DAA0438 647A9031 5702D68B 317FD0BA E2FAD957
  7415874B 03A87CF8 EA85351B A1C6D310 C2281A92 C6F581BE 9AC05E87 FCD70203
  010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01
  01FF0404 03020186 301F0603 551D2304 18301680 14F20867 46E3789C 261EF0EC
  D40B4D8C 91B2AEB3 9B301D06 03551D0E 04160414 F2086746 E3789C26 1EF0ECD4
  0B4D8C91 B2AEB39B 300D0609 2A864886 F70D0101 04050003 41005796 B8BF1DE3
  8137E559 C3315442 81A5D70E 811542B6 494E8C04 A851DC28 8C7BED12 7F5A4EAE
  6D40DAA0 357F0CF8 23E182D0 639BB71B D0C87B0F A637B885 CAA1
  quit
!
!
!
ip http server
no ip http secure-server
!
!

[править] Как поднять сервер сертификатов не на Cisco

[править] Дополнительная информация