...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить NTP-клиент согласно разделу Алгоритм настойки NTP. Маршрутизатор должен получать точное время от NTP-сервера или NTP-пира, либо доверять локально настроенному времени с включенным режимом NTP Master. |
| |
| 2 | Перейти в режим настройки PKI-клиента, который будет использоваться в настройках PKI-сервера как источник самоподписанных сертификатов. | esr(config)# crypto pki trustpoint <TRUSTPOINT> | <TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа. |
| 3 | Перейти в режим настройки отличительного имени сертификата – набора атрибутов, уникально описывающих удостоверяющий центр. | esr(config-trustpoint)# subject-name | |
| 4 | Указать код страны (необязательно). | esr(config-trustpoint-subject-name)# country <COUNTRY> | <COUNTRY> – код страны, задаётся строкой длиной 2 символа. Рекомендуется использовать двухбуквенные обозначения стран "alpha-2" из стандарта ISO 3166-1. |
| 5 | Указать название штата, области или провинции (необязательно). | esr(config-trustpoint-subject-name)# state <STATE> | <STATE> – название штата, области или провинции, задаётся строкой от 1 до 128 символов. |
| 6 | Указать название населенного пункта или его территориальной единицы (необязательно). | esr(config-trustpoint-subject-name)# locality <LOCATION> | <LOCATION> – название населенного пункта или его территориальной единицы, задаётся строкой от 1 до 128 символов. |
| 7 | Указать название организации (необязательно). | esr(config-trustpoint-subject-name)# organization <ORGANIZATION> | <ORGANIZATION> – название организации, задаётся строкой от 1 до 64 символов. |
| 8 | Указать подразделение организации (необязательно). | esr(config-trustpoint-subject-name)# organization-unit <ORGANIZATION-UNIT> | <ORGANIZATION-UNIT> – название подразделения организации, задаётся строкой от 1 до 64 символов. |
| 9 | Указать общее имя сертификата. | esr(config-trustpoint-subject-name)# common-name <COMMON-NAME> | <COMMON-NAME> – общее имя, задаётся строкой от 1 до 64 символов. Чаще всего Как правило в качестве общего имени сертификата удостоверяющего центра используется имя домена, который обслуживает удостоверяющий центр или юридическое название удостоверяющего центра. |
| 10 | Перейти в режим настройки альтернативных имен сертификата (необязательно). | esr(config-trustpoint)# subject-alt-name | |
| 11 | Указать IP-адрес в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# ipv4 <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| esr(config-trustpoint-san)# ipv6 <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
| 12 | Указать полное доменное имя хоста в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# dns <NAME> | <NAME> – полное доменное имя хоста (FQDN), задается строкой от 1 до 235 символов. Пример записи доменного имени – router.example.loc. |
| 13 | Указать адрес электронной почты в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# email <EMAIL> | <EMAIL> – адрес электронной почты, задается строкой от 6 до 254 символов. Пример записи электронной почты – router@example.loc. |
| 14 | Перейти в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего самоподписанные сертификаты укажем тип "selfsigned". | esr(config-trustpoint)# enrollment selfsigned | |
| 15 | Указать время жизни самоподписанных сертификатов (необязательно). | esr(config-trustpoint-enrollment-selfsigned)# lifetime <DAYS> | <DAYS> – количество дней, принимает значения в диапазоне [1..3650]. Значение по умолчанию: 3650. |
| 16 | Указать назначение генерируемых сертификатов. Для PKI-клиента, используемого в настройках PKI-сервера в качестве источника самоподписанных сертификатов необходимо указать значение "root-ca". | esr(config-trustpoint)# usage root-ca | |
| 17 | Указать экземпляр VRF, в котором будет работать PKI-клиент (необязательно). В случае, если Если планируется работа PKI-сервера в определенном VRF - , PKI-клиент с самоподписанными сертификатами также требуется вынести в этот VRF. | esr(config-trustpoint)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
| 18 | Включить PKI-клиент. | esr(config-trustpoint)# enable | |
| 19 | Перейти в режим настройки PKI-сервера. | esr(config)# crypto pki server | |
| 20 | Указать имя раннее настроенного PKI-клиента, который будет использоваться в настройках PKI-сервера как источник самоподписанных сертификатов. | esr(config-pki-server)# trustpoint <TRUSTPOINT> | <TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа. |
| 21 | Указать экземпляр VRF, в котором будет работать PKI-сервер (необязательно). | esr(config-pki-server)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
| 22 | Указать IP-адрес или сетевой интерфейс, который будет будет прослушиваться PKI-сервером для обработки входящих запросов (необязательно). В случае, если настройка не будет указана PKI-сервер будет принимать запросы на всех настроенных IP-интерфейсах маршрутизатора. | esr(config-pki-server)# source-address <ADDR> | <ADDR> – IP-адрес, назначенный на локальном сетевом интерфейсе маршрутизатора, на котором PKI-сервер будет слушать входящие подключения, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| esr(config-pki-server)# source-interface <IF> | <IF> – интерфейс или туннель, на котором PKI-сервер будет слушать входящие подключения. | ||
| 23 | Указать challenge-password, который будет использован для аутентификации PKI-клиентов (необязательно). | esr(config-pki-server)# challenge-password { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
| 24 | Указать время жизни выписываемых клиентам сертификатов в днях (необязательно). | esr(config-pki-server)# lifetime <DAYS> | <DAYS> – количество дней, принимает значения в диапазоне [1..3650]. Значение по умолчанию: 365. |
| 25 | Включить PKI-сервер. | esr(config-pki-server)# enable |
...
Настроить на маршрутизаторе PKI-сервер в роли корневого удостоверяющего центра. Время жизни сертификата удостоверяющего центра должно быть ограничено одном одним годом, а время жизни клиентских сертификатов должно быть ограничено двумя неделями.
...
Применим конфигурацию на маршрутизаторе и дождемся успешной синхронизации времени по протоколу NTP:
| Примечание |
|---|
В случае, если Если произвести настройку подключения к NTP-серверу одновременно с настройкой PKI-сервера - , сгенерированные на этапе запуска PKI-сервера служебные файлы и сертификаты могут содержать некорректные дату и время, что приведет к ошибкам в дальнейшей работе инфраструктуры PKI. |
...
Перейдем в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего самоподписанные сертификаты, укажем тип "selfsigned". В нем настроим время жизни самоподписанных сертификатов:
...
Укажем назначение генерируемых сертификатов. Для PKI-клиента, используемого в настройках PKI-сервера, в качестве источника самоподписанных сертификатов необходимо указать значение "root-ca":
...
В команде show crypto pki trustpoints можно увидеть PKI-клиент ROOT_CA, готовый к работе, а добавив его имя в конце команды, можно более подробно рассмотреть его текущий статус:
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Перейти в режим настройки PKI-клиента. | esr(config)# crypto pki trustpoint <TRUSTPOINT> | <TRUSTPOINT> – имя PKI-клиента, задаётся строкой от 1 до 31 символа. |
| 2 | Перейти в режим настройки отличительного имени сертификата – набора атрибутов, уникально описывающих владельца сертификата. | esr(config-trustpoint)# subject-name | |
| 3 | Указать код страны (необязательно). | esr(config-trustpoint-subject-name)# country <COUNTRY> | <COUNTRY> – код страны, задаётся строкой длиной 2 символа. Рекомендуется использовать двухбуквенные обозначения стран "alpha-2" из стандарта ISO 3166-1. |
| 4 | Указать название штата, области или провинции (необязательно). | esr(config-trustpoint-subject-name)# state <STATE> | <STATE> – название штата, области или провинции, задаётся строкой от 1 до 128 символов. |
| 5 | Указать название населенного пункта или его территориальной единицы (необязательно). | esr(config-trustpoint-subject-name)# locality <LOCATION> | <LOCATION> – название населенного пункта или его территориальной единицы, задаётся строкой от 1 до 128 символов. |
| 6 | Указать название организации (необязательно). | esr(config-server-subject-name)# organization <ORGANIZATION> | <ORGANIZATION> – название организации, задаётся строкой от 1 до 64 символов. |
| 7 | Указать подразделение организации (необязательно). | esr(config-trustpoint-subject-name)# organization-unit <ORGANIZATION-UNIT> | <ORGANIZATION-UNIT> – название подразделения организации, задаётся строкой от 1 до 64 символов. |
| 8 | Указать общее имя сертификата. | esr(config-trustpoint-subject-name)# common-name <COMMON-NAME> | <COMMON-NAME> – общее имя, задаётся строкой от 1 до 64 символов. Чаще всего Как правило в качестве общего имени клиентского сертификата используется полное доменное имя хоста, который использует данный клиентский сертификат или ФИО пользователя, использующего клиентский сертификат. |
| 11 | Перейти в режим настройки альтернативных имен сертификата (необязательно). | esr(config-trustpoint)# subject-alt-name | |
| 12 | Указать IP-адрес в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# ipv4 <ADDR> | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| esr(config-trustpoint-san)# ipv6 <IPV6-ADDR> | <IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
| 13 | Указать полное доменное имя хоста в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# dns <NAME> | <NAME> – полное доменное имя хоста (FQDN), задается строкой от 1 до 235 символов. Пример записи доменного имени – router.example.loc. |
| 14 | Указать адрес электронной почты в качестве альтернативного имени сертификата (необязательно). | esr(config-trustpoint-san)# email <EMAIL> | <EMAIL> – адрес электронной почты, задается строкой от 6 до 254 символов. Пример записи электронной почты – router@example.loc. |
| 14 | Перейти в режим настройки механизма выпуска сертификата. Для PKI-клиента, выпускающего сертификаты от вышестоящего удостоверяющего центра по протоколу SCEP необходимо указать значение "scep". | esr(config-trustpoint)# enrollment scep | |
| 15 | Указать URL для подключения к PKI-серверу. | esr(config-trustpoint-enrollment-scep)# url <URL> | <URL> – URL для подключения к PKI-серверу, задается в виде "http:// <ADDR>[:<PORT>]/", где:
В случае если PKI-сервер расположен на том же маршрутизаторе, на котором настраивается PKI-клиент необходимо указать в URL любой из IP-интерфейсов, которые слушает PKI-сервер. |
| 16 | Указать цифровой отпечаток сертификата PKI-сервера, к которому выполняется подключение. | esr(config-trustpoint-enrollment-scep)# fingerprint <FINGERPRINT> | <FINGERPRINT> – значение цифровой отпечаток сертификата, полученного при помощи алгоритма MD5. Имеет размер 16 байт и задается в виде HEX-строки длиной 32 символа без разделителей (YYYY...) или 47 символов с двоеточием в роли разделителя (YY:YY:YY...). |
| 17 | Указать challenge-password, который будет использован для аутентификации на PKI-сервере (необязательно). | esr(config-trustpoint-enrollment-scep)# challenge-password { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 32 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 32 байт (от 16 до 64 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
| 16 | Указать назначение генерируемых сертификатов. Для PKI-клиента, используемого в качестве источника ключевой информации в IPsec-туннелях, необходимо указать значение "ipsec". | esr(config-trustpoint)# usage ipsec | |
| 9 | Указать экземпляр VRF, в котором будет работать PKI-клиент клиент (необязательно). | esr(config-trustpoint)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
| 10 | Указать IP-адрес или сетевой интерфейс, с которого PKI-клиент будет выполнять запросы к удостоверяющему центру (необязательно). | esr(config-trustpoint)# source-address <ADDR> | <ADDR> – IP-адрес, назначенный на локальном сетевом интерфейсе маршрутизатора, с которого PKI-клиент будет выполнять запросы, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| esr(config-trustpoint)# source-interface <IF> | <IF> – интерфейс или туннель, с которого PKI-клиент будет выполнять запросы. | ||
| 18 | Включить PKI-клиент. | esr(config-trustpoint)# enable |
...
Настроить на маршрутизаторе PKI-клиент так, чтобы он успешно подключался к удостоверяющему центру. В качестве удостоверяющего центра рассмотрим полностью настроенный PKI-сервер из предыдущего пункта документациипримера. Помимо настройки отличительного имени сертификата настроим , настроим в качестве альтернативного имени IP-адрес маршрутизатора и его полное доменное имя.
...
| Информация |
|---|
Настройка NTP-клиента для работы PKI-клиента не является обязательной, в отличие от конфигурирования PKI-сервера. Но в связи с чувствительностью инфраструктуры открытых ключей к актуальности времени на узлах, использующих выписанные сертификаты, настройка NTP рекомендуется и на клиентской стороне. |
...
Применим конфигурацию на маршрутизаторе и дождемся успешной синхронизации времени по протоколу NTP:
| Примечание |
|---|
В случае, если Если произвести настройку подключения к NTP серверу одновременно с настройкой PKI-клиента - , сгенерированные на этапе запуска PKI-клиента служебные файлы и сертификаты могут содержать некорректные дату и время, что приведет к ошибкам в дальнейшей работе инфраструктуры PKI. |
...
Зададим challenge-password , для корректного обращения к удостоверяющему центру:
...
Укажем назначение генерируемых сертификатов. Для PKI-клиента, используемого в качестве источника ключевой информации в IPsec-туннелях, необходимо указать значение "ipsec".
...
Любой PKI-клиент, обращающийся за выпуском сертификата в удостоверяющий центр и получивший клиентский сертификат со сроком завершения валидности, эквивалентным сроку завершения жизни сертификата удостоверяющего центра, зафиксирует событие истечения жизни сертификата удостоверяющего центра и отдельным запросом запросит теневой сертификат уже для себя:
...
В момент, когда текущий сертификат удостоверяющего центра истечет - , и PKI-клиент самого удостоверяющего центра, и PKI-клиенты, выписывающие клиентские сертификаты - , произведут замену текущего сертификата на теневой и продолжат штатную работу:
...
Сгенерировать на ESR приватный RSA-ключ и сформировать запрос на сертификацию. Помимо настройки отличительного имени сертификата настроим в качестве альтернативного имени его полное доменное имя.
...