Авторизация в системе EcoRouter Documentation / Авторизация в системе
- Вход в систему
- Уровни доступа
- Создание учетных записей пользователей
- Команды просмотра
- Аккаунтинг (Syslog)
- Служебные пользователи
- Настройки AAA
- Профили безопасности
- Инфраструктура открытых ключей
AAA (от англ. Authentication, Authorization, Accounting) — используется для описания процесса предоставления доступа и контроля над ним.
- Authentication (аутентификация) — сопоставление персоны (запроса) существующей учётной записи в системе безопасности. Осуществляется по логину, паролю или сертификату.
- Authorization (авторизация, проверка полномочий, проверка уровня доступа) — сопоставление учётной записи в системе (и персоны, прошедшей аутентификацию) и определённых полномочий. В EcoRouter пользователям предоставляется несколько предопределенных уровней доступа к командам системы.
- Accounting (учёт) — слежение за потреблением ресурсов (преимущественно сетевых) пользователем. В accounting включается также и запись фактов получения доступа к системе (англ. access logs).
Вход в систему
При соединении с консолью управления EcoRouter пользователю предлагается ввести логин и пароль, соответствующие одной из учетных записей пользователей в системе.
По умолчанию существует учетная запись admin с ролью администратора (admin) и с паролем admin.
После верификации на консоль выводится версия системы и приглашение командной строки, в котором отображается hostname (в примере "ecorouter") и значок пользовательского режима консоли (в примере '>').
Пример:
<<< EcoRouter 3.2.0.0.xxxxxxxxxxxxxxxx (x86_64) - ttyS0 >>>
ecorouter login: admin
Password:|
User Access Verification
EcoRouterOS version 3.2.0 EcoRouter 06/29/16 15:35:53
ecorouter>
Уровни доступа
Для разграничения уровней доступа в EcoRouter используются роли пользователей.
Следующие варианты ролей являются предопределенными:
Роль | Описание | Режимы консоли |
---|---|---|
admin | Администратор | пользовательский, администрирования, конфигурации |
noc | Аудитор | пользовательский, администрирования |
helpdesk | Поддержка | пользовательский |
Для каждой роли доступен свой набор команд.
Список команд для каждой роли приведен в Справочнике команд.
Для просмотра подробной информации по имеющимся ролям и доступным для каждой роли командам и режимам используется функция административного режима show role.
Три предопределенные роли нельзя редактировать. Однако возможно создать новую роль с нужными параметрами.
Для того чтобы создать роль, используется команда конфигурационного режима role <NAME> [based-on {admin | noc | helpdesk}]. Здесь имя новой роли <NAME> - обязательный параметр. В результате выполнения команды role <NAME> будет создана роль, не содержащая никаких прав. Роль также можно создать на основе одной из предопределенных, тогда все команды и режимы, доступные для предопределенной роли, будут автоматически скопированы в новую роль. Первый вариант создания роли более удобен, если нужно создать роль с небольшим набором команд. Второй вариант создания роли (на основе предопределенных) более удобен, если необходимо создать роль с большим набором команд или набором команд, незначительно отличающимся от одной из предопределенных ролей.
Для редактирования созданной роли используется аналогичная команда конфигурационного режима role <NAME>.
В контекстном режиме редактирования созданной роли можно добавить описание для роли при помощи команды description <DESCRIPTION> и задать или изменить доступ к командам.
Для управления доступом используются команды permit {config | context-config | enable-exec | user-exec} <COMMAND>, чтобы добавить доступ, и no permit {config | context-config | enable-exec | user-exec} <COMMAND>, чтобы запретить доступ. По умолчанию, те команды, которые не разрешены для роли, - запрещены. В данных командах используются два обязательных параметра. Первый - это указание на режим работы CLI, к которому разрешается/запрещается доступ для роли (access level), где:
- config - конфигурационный режим,
- context-config - контекстный режим,
- enable-exec - административный режим,
- user-exec - пользовательский режим.
Второй обязательный параметр - <COMMAND> - имя команды. Если название команды состоит из нескольких слов, например, banner motd, допускается указывать только первое слово (banner). При добавлении команды автоматически добавляется допуск для этой же команды с префиксами no и do (обратная команда и включение данной команды в конфигурационном режиме). При удалении команды, аналогично, запрещается доступ к обратной команде и включению данной команды в конфигурационном режиме (префиксы no и do). Поэтому не рекомендуется отдельно вносить в список команды с префиксами!
Если необходимо добавить или удалить несколько команд, то для каждой строка permit вводится отдельно.
Пример:
ecorouter(config)# role myrole
ecorouter(config-role)# permit enable-exec copy
ecorouter(config-role)# no permit enable-exec copy
ВНИМАНИЕ: некоторые команды не могут быть добавлены в роль (доступны только в предустановленной роли admin). Подробнее это описано в разделе Справочник команд.
Для удаления роли в конфигурационном режиме используется команда no role <NAME>.
ВНИМАНИЕ! Все изменения и добавления ролей и пользователей применяются в системе только после выполнения команды write.
Создание учетных записей пользователей
Создать учетную запись пользователя можно только в режиме конфигурации. Для этого используется команда username <NAME>.
Далее в пользовательском режиме задаются параметры учетной записи пользователя. Команды, управляющие этими параметрами, описаны в таблице ниже.
Команда | Описание |
---|---|
description <DESCR> | Добавить описание пользователя |
no description | Удалить описание пользователя |
password <PASS> | Задать пароль пользователя |
no password | Очистить пароль пользователя |
role {admin | noc | helpdesk} | Назначить пользователю предопределенную роль. Указывается одно из значений: admin, noc, helpdesk |
no role {admin | noc | helpdesk} | Лишить пользователя роли |
custom-role <NAME> | Назначить пользователю редактируемую роль. Если введенное имя роли не соответствует ни одной из созданных в конфигурации ролей, то автоматически будет создана "пустая" роль |
vr <NAME> | Разрешить пользователю доступ к виртуальному маршрутизатору |
no vr <NAME> | Запретить пользователю доступ к виртуальному маршрутизатору |
ВНИМАНИЕ: пользователь, которому не назначено ни одной роли с правами, не сможет выполнять никаких действий.
Одному пользователю может быть одновременно назначено несколько ролей. Каждая роль может быть назначена нескольким пользователям одновременно.
Для удаления учетной записи пользователя используется команда конфигурационного режима: no username <NAME>.
Пример:
ecorouter(config)# username user1
ecorouter(config-user)# description sysadmin
ecorouter(config-user)# password administrator
ecorouter(config-user)# role admin
Кроме предустановленных ролей можно создать пользовательскую роль (см. предыдущий раздел). Для этого в настройке пользователя используется контекстная команда custom-role <NAME>.
Для удаления пользовательской роли используется команда no custom-role <NAME>.
В процессе авторизации роль пользователя может быть определена записью в локальной базе данных или получена с RADIUS/TACACS+ сервера. В случае если пользователь существует и в локальной базе пользователей на маршрутизаторе, и в базе пользователей RADIUS/TACACS+ сервера, роль будет определяться способом авторизации.
Команды просмотра
Для просмотра запущенных терминалов, а также ролей активных пользователей используется команда пользовательского режима show users connected. Подробнее данная команда описана в разделе "Общие сведения о работе с CLI".
ecorouter>show users connected
Line User Logged Location PID Roles
0 con 0 admin 00:00:15 ttyS0 1979 admin
130 vty 0 ecouser 00:00:00 pts/0 2090 admin_tes
Для просмотра учетных записей пользователей, имеющихся в базе данных EcoRouter, используется команда show users localdb.
ecorouter#show users localdb
User: admin
Description: Administrator User
VR:
pvr
Roles:
admin ''
User: daemon
Description: The user is used to get configuration data
VR:
pvr
Roles:
User: tacacs
Description: The user is used to make authorization through tacacs
VR:
pvr
Roles:
noc ''
Для данных команд доступны модификаторы и вывод в файл, как и для других команд show.
Аккаунтинг (Syslog)
Функции аутентификации осуществляются при помощи создания пользователей в локальной базе данных.
Функции авторизации реализуются путем привязки к пользователю конкретной роли с определенным набором команд, который может быть изменен по усмотрению пользователя.
Функции аккаунтинга реализованы через отправку лог-данных на удаленный сервер с помощью встроенных в маршрутизатор функций отправки сообщений стандарта Syslog (rsyslog). Команда настройки отправки Syslog-сообщений выглядит следующим образом: rsyslog host <address> {mgmt | vr {default | <VR_NAME>}}. Где address - это IP-адрес сервера, на который будут отправляться логи. В свою очередь, сообщения могут отправляться через management-порт mgmt или виртуальный маршрутизатор vr {default | <VR_NAME>}, где параметр VR_NAME является именем виртуального маршрутизатора, а default подразумевает стандартный (невиртуализированный) маршрутизатор.
Служебные пользователи
По умолчанию в системе также существует служебный пользователь tacacs с ролью Аудитора (noc).
Когда пользователь аутентифицируется в EcoRouter через TACACS+, в системе этот пользователь будет аутентифицирован как tacacs. Соответственно, права пользователя при доступе через TACACS+ будут ограничены ролью соответствующего служебного пользователя. Например, если пользователь admin аутентифицируется в EcoRouter через TACACS+, то его доступ будет соответствовать роли Аудитора (noc), а не Администратора.
Для пользователя tacacs можно изменять роль или создать новую роль с нужным набором доступных команд, как и для обычного пользователя (см. "Уровни доступа").
В файлах логирования (см. "Syslog") будет фиксироваться и действительное имя пользователя, и служебное, если он аутентифицируется через TACACS+.
Настройки AAA
Приоритет авторизации
Для установки приоритета видов авторизации используется команда aaa precedence <local | radius | tacacs>.
В качестве параметров данной команды вводятся виды авторизации в порядке их приоритетности:
ecorouter(config)#aaa precedence radius local tacacs
Удаленная аутентификация, авторизация и аккаунтинг при помощи RADIUS
Для аутентификации, авторизации и/или аккаунтинга при помощи RADIUS необходимо указать, какой абонентский AAA-профиль должен для этого использоваться. Предварительно необходимо создать и настроить абонентский AAA-профиль.
Для создания абонентского AAA-профиля используется команда в конфигурационном режиме subscriber-aaa <SUBSCRIBER_AAA>, где <SUBSCRIBER_AAA> - имя абонентского AAA-профиля. Если профиль с указанным именем уже существует, а также после его создания в результате выполнения команды будет автоматически произведен переход в контекстный режим конфигурации этого профиля, префикс приглашения изменится на (config-sub-aaa).
Для удаления абонентского AAA-профиля используется команда конфигурационного режима no subscriber-aaa <SUBSCRIBER_AAA>, где <SUBSCRIBER_AAA> - имя удаляемого абонентского AAA-профиля.
В контекстном режиме конфигурации абонентского AAA-профиля оператор может отредактировать или удалить описание профиля, указать группы RADIUS-серверов для аутентификации и/или аккаунтинга.
Для задания описания абонентского AAA-профиля используется команда контекстного конфигурационного режима (config-sub-aaa) description <TEXT>, где <TEXT> - строка описания.
Для удаления описания абонентского AAA-профиля используется команда контекстного конфигурационного режима (config-sub-aaa) no description.
Для установки режима аутентификации через RADIUS используется команда контекстного конфигурационного режима (config-sub-aaa) authentication radius <RADIUS_GROUP>, где <RADIUS_GROUP> - имя группы RADIUS-серверов.
Для установки режима аккаунтинга через RADIUS используется команда контекстного конфигурационного режима (config-sub-aaa) accounting radius <RADIUS_GROUP>, где <RADIUS_GROUP> - имя группы RADIUS-серверов.
Пример:
ecorouter(config)#subscriber-aaa NEW_AAA
ecorouter(config-sub-aaa)#authentication
radius RADIUS authentication
ecorouter(config-sub-aaa)#authentication radius
RADIUS_GROUP RADIUS server group
ecorouter(config-sub-aaa)#authentication radius test
ecorouter(config-sub-aaa)#accounting radius test2
ecorouter(config-sub-aaa)#
Subscriber AAA commands:
accounting Subscriber AAA profile accounting method
authentication Subscriber AAA profile authentication method
description Subscriber AAA profile description
exit Exit from the current mode to the previous mode
help Description of the interactive help system
no Negate a command or set its defaults
show Show running system information
ecorouter(config-sub-aaa)#
Для использования настроенного профиля необходимо перейти в контекстный конфигурационный режим (config-subscriber-map) и выполнить команду set aaa <SUBSCRIBER_AAA>, где <SUBSCRIBER_AAA> - имя абонентского AAA-профиля для использования.
В данный момент для установки сервиса от AAA-сервера требуется выполнение следующих условий:
1) Наличие сконфигурированного абонентского сервиса (subscriber-service) на маршрутизаторе.
2) Конфигурация группы AAA-серверов для абонентов с помощью subscriber-aaa.
3) Полное соответствие имени абонентского сервиса и имени сервиса в сообщении от AAA-сервера.
При соблюдении вышеуказанных требований, установить сервис от RADIUS-сервера можно с помощью команды set aaa <NAME>, где <NAME> соответствует заранее сконфигурированной группе AAA-серверов для абонентов. Напомним, что при наличии этой команды в карте абонента аутентификация и авторизация меняются с локальной на удаленную для этой последовательности в subscriber-map.
Если от AAA-сервера приходит сервис, имя которого не найдено в конфигурации маршрутизатора, и локальных сервисов для этих абонентов не предусмотрено в subscriber-map, то сервис для клиентов считается недействительным и трафик от абонентов блокируется.
Для использования настроенного профиля в PPPoE необходимо перейти в контекстный конфигурационный режим PPPoE профиля (config-pppoe) и выполнить аналогичную команду set aaa <SUBSCRIBER_AAA>.
TACACS+
TACACS+ (англ. Terminal Access Controller Access Control System plus) — сеансовый протокол, результат дальнейшего усовершенствования TACACS, предпринятого Cisco.
Улучшена безопасность протокола (шифрование), а также введено разделение функций аутентификации, авторизации и учёта, которые теперь можно использовать по отдельности.
TACACS+ использует понятия сеансов. В рамках TACACS+ возможно установление трёх различных типов сеансов AAA (англ. authentication, authorization, accounting). Установление одного типа сеанса в общем случае не требует предварительного успешного установления какого-либо другого. Спецификация протокола не требует для открытия сеанса авторизации открыть сначала сеанс аутентификации. Сервер TACACS+ может потребовать аутентификацию, но протокол этого не оговаривает.
Команда aaa tacacs-config debug включает выгрузку отладочной информации TACACS в формате syslog.
ecorouter(config)#aaa tacacs-config debug
Если в параметрах сервера указан ключ шифрования, то информация в логах будет также зашифрована.
Если используется несколько серверов, то по умолчанию запросы будут отправляться до первого доступного сервера из списка. На все сервера дублируется только информация о моменте логина/разлогина пользователя.
Для настройки TACACS-сервера используется команда используется команда aaa tacacs-server.
Синтаксис команды: aaa tacacs-server <IP> port <NUM> secret <PASS> ( vrf ) ( account | auth ) timeout <0-300>.
Параметры команды представлены в таблице ниже.
Параметр | Описание |
---|---|
<IP> | IP-адрес TACACS-сервера |
port <NUM> | Указать порт |
secret <PASS> | Ключ шифрования. Если указан, шифрование будет автоматически включено |
mgmt | Соединение через management-порт |
(vrf (NAME | ) | Имя VRF, в котором задан IP-адрес сервера (значение по умолчанию - VRF текущего виртуального маршрутизатора) |
account | Разрешить учет (аккаунтинг) |
auth | Разрешить аутентификацию и авторизацию |
timeout | Установить таймаут в секундах. Допустимые значения от 0 до 300 секунд |
Пример:
ecorouter(config)#aaa tacacs-server 192.168.0.1 port 80 vrf management timeout 200 account auth
Профили безопасности
Для фильтрации принимаемого EcoRouter трафика используются так называемые профили безопасности. Профиль безопасности представляет собой набор правил, определяющих, пакеты каких протоколов будут пропускаться маршрутизатором (и виртуальными маршрутизаторами в его составе).
Для того чтобы создать профиль безопасности необходимо в режиме конфигурации ввести команду security-profile <номер>. В качестве названия профиля задается его порядковый номер.
Внутри профиль безопасности содержит правила, определяющие доступ к системе.
Для задания правила используется команда rule <0-1023> [permit | deny] <PROTOCOL> <SOURCE> <DESTINATION> (<DEST PORT> <DP NUMBER>). Параметры команды описаны в таблице ниже.
Параметр | Описание |
---|---|
<0-1023> | Порядковый номер правила, от 0 до 1023. Правила применяются, начиная с 0 по 1023. |
permit | deny | Тип правила: разрешить (permit) или запретить (deny) |
PROTOCOL | Пакеты какого протокола подпадают под это правило. Может быть указан номер протокола по спецификации IANA от 0 до 255 или одно из следующих обозначений:
|
SOURCE | IP-адрес источника с длиной маски. Задается в виде A.B.C.D/M. Если под правило должны попадать все адреса, значение параметра должно быть any. Если под правило должен подпадать единственный адрес, в значении параметра указывается host <IP-адрес> |
DESTINATION | IP-адрес назначения с длиной маски. Задается в виде A.B.C.D/M. Если под правило должны попадать все адреса, значение параметра должно быть any. Если под правило должен подпадать единственный адрес, в значении параметра указывается host <IP-адрес> |
Фильтрация по порту назначения, доступно для протоколов TCP и UDP | |
DEST PORT | Вариант фильтрации. Указывается одно из следующих обозначений:
|
DP NUMBER | Номер или обозначение порта. Возможные значения для TCP:
Возможные значения для UDP:
Если задается диапазон портов (range), то нижняя и верхняя граница диапазона указываются числами через пробел. |
Если трафик не подпадает ни под одно из правил, то он пропускается (permit).
В EcoRouter существует жестко заданный профиль по умолчанию. Изменить его нельзя.
Состав профиля по умолчанию:
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
Management порт и виртуальные маршрутизаторы
Для management порта по умолчанию разрешены все протоколы.
Для того чтобы назначить созданный профиль безопасности на management порт, используется команда конфигурационного режима security <SP_NAME> vrf management , где SP_NAME - имя профиля . Для того чтобы назначить созданный профиль безопасности на VRF, по умолчанию используется команда конфигурационного режима security <SP_NAME>. Для того чтобы назначить созданный профиль безопасности на произвольную VRF, используется команда конфигурационного режима security <SP_NAME> vrf <NAME>, где NAME - имя VRF.
Для того чтобы назначить профиль безопасности виртуальному маршрутизатору, необходимо войти в виртуальный маршрутизатор. После чего в конфигурационном режиме виртуального маршрутизатора выполнить команды, аналогичные описанным выше.
Для того чтобы отвязать профиль безопасности от VRF или менеджмент порта, используется аналогичная команда с префиксом no . После этого к VRF или менеджмент порту применяется пустой профиль безопасности с названием security none.
Для удаления всех правил для VRF или менеджмент порта можно назначить пустой профиль безопасности с названием security none.
После назначения профиля безопасности его нельзя менять. Чтобы изменить профиль безопасности, его нужно вначале отвязать от VRF и/или менеджмент порта, которым он назначен.
Для корректной работы рекомендуется сначала отвязывать от виртуального маршрутизатора профиль безопасности, а потом удалять сам маршрутизатор.
Для просмотра настроенных профилей безопасности используется команда административного режима show security-profile.
Для просмотра текущих настроек безопасности используется команда административного режима show ip vrf.
Пример настройки профиля безопасности
Создание нового профиля.
ecorouter(config)#security-profile 1
ecorouter(config-security-profile)#rule 0 permit tcp any any eq 23
ecorouter(config-security-profile)#rule 1 deny udp any any eq bootp
ecorouter(config-security-profile)#rule 2 deny ospf host 127.0.0.12 any
ecorouter(config-security-profile)#rule 3 deny tcp any 192.168.10.2/24 range 21 23
ecorouter#show security-profile
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
Security profile 1
0: permit tcp any any eq 23
1: deny udp any any eq 67
2: deny ospf 127.0.0.12/32 any
3: deny tcp any 192.168.10.2/24 range 21 23
Создание VRF и назначение ему профиля безопасности.
ecorouter(config)#ip vrf vrf0
ecorouter(config-vrf)#end
ecorouter#show ip vrf
VRF default
Interfaces:
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
permit any any any
VRF management
VRF vrf0
Interfaces:
ecorouter(config)#security 1 vrf vrf0
ecorouter(config)#end
ecorouter#show ip vrf
VRF default
Interfaces:
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
permit any any any
VRF management
VRF vrf0
Interfaces:
Security profile 1
0: permit tcp any any eq 23
1: deny udp any any eq 67
2: deny ospf 127.0.0.12/32 any
3: deny tcp any 192.168.10.2/24 range 21 23
permit any any any
Внесение изменений в профиль безопасности.
ecorouter(config)#security-profile 1
ecorouter(config-security-profile)#rule 4 permit any any any
% Profile is set on 1 namespaces. Unset profile prior to change it.
ecorouter(config-security-profile)#ex
ecorouter(config)#no security 1 vrf vrf0
ecorouter(config)#security-profile 1
ecorouter(config-security-profile)#rule 4 permit any any any
ecorouter(config-security-profile)#ex
ecorouter(config)#ex
ecorouter#show security-profile
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
Security profile 1
0: permit tcp any any eq 23
1: deny udp any any eq 67
2: deny ospf 127.0.0.12/32 any
3: deny tcp any 192.168.10.2/24 range 21 23
4: permit any any any
permit any any any
ecorouter#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ecorouter(config)#security 1 vrf vrf0
ecorouter(config)#end
ecorouter#show ip vrf
VRF default
Interfaces:
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
permit any any any
VRF management
VRF vrf0
Interfaces:
Security profile 1
0: permit tcp any any eq 23
1: deny udp any any eq 67
2: deny ospf 127.0.0.12/32 any
3: deny tcp any 192.168.10.2/24 range 21 23
4: permit any any any
permit any any any
Удаление профиля безопасности.
ecorouter(config)#no security 1 vrf
ecorouter(config)#no ip vrf vrf0
ecorouter(config)#end
ecorouter#show ip vrf
VRF default
Interfaces:
Security profile default
0: deny tcp any any eq 22
1: deny tcp any any eq 23
2: deny tcp any any eq 161
3: deny udp any any eq 22
4: deny udp any any eq 23
5: deny udp any any eq 161
permit any any any
VRF management
ecorouter#
Обработка ICMP echo request пакетов
Обработка ICMP echo request пакетов (ответ на ping) по умолчанию осуществляется в data-plane и не учитывает профилей безопасности.
Для применения профилей безопасности к ICMP echo request пакетам необходимо выполнить следующую команду конфигурационного режима:
icmp-echo control-plane
После выполнения этой команды обработка ICMP echo request пакетов будет осуществляться в control-plane, правила профилей безопасности будут учтены.
Для исключения обработки ICMP echo request пакетов из действия профилей безопасности необходимо выполнить следующую команду конфигурационного режима:
no icmp-echo control-plane
Инфраструктура открытых ключей
В EcoRouterOS для обеспечения безопасности соединения пользователей используется протокол TLS (Transport Layer Security — безопасность транспортного уровня) на основе инфраструктуры открытых ключей (PKI) и сертификатов X.509. Установка безопасного соединения между сервером и клиентом происходит совместно с процессом аутентификации клиента на сервере. EcoRouter при этом выполняет роли Центра сертификации (Certificate Authority - CA) и сервера.
Таким образом при подключении к EcoRouter устройство отправляет пользователю сообщение, содержащее сертификат маршрутизатора и запрос сертификата пользователя. Пользователь, в свою очередь, отправляет сообщение, содержащее его сертификат, после чего устанавливается безопасное соединение. При таком соединении вся информация, передающаяся между пользователем и устройством, шифруется при помощи закрытого ключа (Private Key). При передаче сообщения маршрутизатором сообщение шифруется закрытым ключом маршрутизатора таким образом, что расшифровать его пользователь может при помощи имеющегося у него открытого ключа (сертификата маршрутизатора). И наоборот, пользователь отправляет сообщения, зашифрованные при помощи закрытого ключа пользователя, которые EcoRouter расшифровывает при помощи переданного ему в начале сессии сертификата пользователя. Для того чтобы организовать этот процесс, у пользователя и EcoRouter должен быть идентичный набор сертификатов и специфический набор закрытых ключей.
Закрытый ключ и сертификат сервера автоматически генерируются в прошивке EcoRouter.
Закрытый ключ и сертификат пользователя генерируются EcoRouter при создании пользователя. При этом EcoRouter выступает в качестве CA, то есть сервера, отвечающего за регистрацию пользователей, обеспечивающего выпуск ключей, хранение реестра выданных ключей и проверку их статуса.
Таким образом для взаимодействия с маршрутизатором по защищенному соединению у пользователя должны храниться: сертификат EcoRouter (CA), сертификат пользователя, закрытый ключ пользователя.
EcoRouter также автоматически генерирует несколько служебных сертификатов для соединения с TACACS и RADIUS серверами.
Для просмотра пользовательских сертификатов в EcoRouter есть несколько команд, по умолчанию доступных только пользователям с ролью admin.
Для просмотра пользовательских сертификатов используется команда административного режима crypto certificate export. Для нее доступны модификаторы, при помощи которых можно отфильтровать вывод по конкретным пользователям. Например, исключить из вывода служебные сертификаты пользователей radius и tacacs.
В приведенном ниже примере сокращен вывод самих сертификатов. Все сертификаты хранятся и выводятся на консоль в кодировке Base64.
ecorouter#crypto certificate export
User: admin
Certificate: Valid
-----BEGIN CERTIFICATE-----
ESTCCA...gAyhj
-----END CERTIFICATE-----
User: radius
Certificate: Valid
-----BEGIN CERTIFICATE-----
ESzC...l0lBt18=
-----END CERTIFICATE-----
User: tacacs
Certificate: Valid
-----BEGIN CERTIFICATE-----
E...j7tDSM=
-----END CERTIFICATE-----
Для экспорта (вывода на экран) закрытого ключа пользователя используется команда административного режима crypto key export. Данная команда выводит закрытый ключ того пользователя, который аутентифицирован в системе на данный момент.
В приведенном ниже примере сокращен вывод самого ключа. Все ключи хранятся и выводятся на консоль в кодировке Base64. Закрытые ключи должны передаваться на пользовательские компьютеры безопасным образом, исключающим возможность их получения третьими лицами.
ecorouter#crypto key export
User: admin
-----BEGIN RSA PRIVATE KEY-----
IEp...kjUcAQLyrg==
-----END RSA PRIVATE KEY-----
Для экспорта (вывода на экран) сертификата EcoRouter (CA) используется команда административного режима crypto ca export. Данная команда выводит сертификат сервера вместе с представленными в явном виде полями, такими как поле имени сервера - Subject: CN=ecorouter, подписью сервера и самим сертификатом.
В приведенном ниже примере сокращен вывод самого сертификата и подписи сервера. Сертификат CA хранится в базе данных на маршрутизаторе и выводится на консоль в кодировке Base64, а информация о нем - в текстовом виде.
ecorouter#crypto ca export
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
9a:14:57:6d:84:76:e9:31
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=ecorouter
Validity
Not Before: Oct 4 08:17:55 2016 GMT
Not After : Oct 5 08:17:55 2026 GMT
Subject: CN=ecorouter
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:c3:db:b8:b1:a7:a1:4b:34:82:af:1b:df:6a:2e:
...
0b:49:95
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
EA:DC:87:08:D8:03:AB:BB:44:C4:80:A1:58:38:91:45:16:E8:53:0A
X509v3 Authority Key Identifier:
keyid:EA:DC:87:08:D8:03:AB:BB:44:C4:80:A1:58:38:91:45:16:E8:53:0A
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
ac:57:98:1f:5f:00:fa:80:d1:cc:fe:c6:e5:50:06:ff:14:d6:
...
37:a7:ad:8f:2d:99:1a:0c
-----BEGIN CERTIFICATE-----
MIIE+z...kaDA==
-----END CERTIFICATE-----
Для того чтобы экспортировать выведенные на экран сертификаты и ключ, необходимо скопировать их в файлы с соответствующими названиями:
- cacert.pem - сертификат EcoRouter (CA),
- clientcert.pem - сертификат пользователя,
- clientkey.pem - закрытый ключ пользователя.
Копировать вывод закрытого ключа и сертификата открытого ключа пользователя необходимо от символов "-----BEGIN" до последнего дефиса в строке "-----END CERTIFICATE-----" (или "-----END RSA PRIVATE KEY-----"). Копировать сертификат CA необходимо, начиная с строки "Certificate:".
На пользовательском устройстве эти файлы должны быть размещены в директориях, используемых клиентским программным обеспечением. Для Unix/Linux по умолчанию это:
- /etc/pki/CA/cacert.pem
- /etc/pki/libvirt/private/clientkey.pem
- /etc/pki/libvirt/clientcert.pem