5. Ролевая модель

5.1. Управление учётными записями

Все действия, связанные с использованием учётных записей администраторов, записываются в системный журнал.

5.1.1. Создание и удаление учётных записей

Для создания учётной записи применяется команда:

# set system login account <account-name> uid <uid>

где

  • <account-name> – строка длиной от 1 до 64 символов;

  • <uid> – число от 1001 до 64000.

Если значение уникального числового идентификатора (<uid>) учётной записи в данной системе не имеет значения, вместо вышеуказанной команды применяется следующая:

# setup login <account-name>

где <account-name> – строка длиной от 1 до 64 символов.

При использовании данной команды формируется элемент на уровне конфигурации [edit system login account <account-name>] с использованием незанятого числового идентификатора.

Для удаления учётной записи применяется команда:

# del system login account <account-name>

где <account-name> – имя существующей учётной записи.

Удаление учётной записи администратора root невозможно.

5.1.2. Создание пароля учётной записи

В ПАК “Фортикс” предусмотрено два способа установки пароля учётной записи:

  • в интерактивном режиме;

  • в виде хэшированного пароля.

В ПАК “Фортикс” принимается хэш пароля, вычисленный с помощью функции PBKDF2, описанной в рекомендациях Р 1323565.1.040-2022 с использованием хэш-функции, описанной в ГОСТ Р 34.11-2012.

Для указания пароля в интерактивном режиме применяется команда:

# setup login <account-name> password

где <account-name> – имя существующей учётной записи.

Пример установки пароля данным способ подробно описан в подразделе 3.1.3 Смена пароля учётной записи администратора root.

Для установки хэшированного пароля учётной записи, отличной от учётной записи администратора root, применяется команда:

# set system login account <account-name> passwd-hash <hash>

где

  • <account-name> – имя существующей учётной записи;

  • <hash> – строка в формате crypt(5).

Для установки хэшированного пароля учётной записи администратора root применяется команда:

# set system login root passwd-hash <hash>

где <hash> – строка в формате crypt(5).

5.1.3. Настройка ключевой информации для учётной записи

В ПАК “Фортикс” реализована возможность аутентификации учётной записи с использованием ключевой информации (без пароля) при использовании протокола SSH для подключения к системе. Для аутентификации по SSH-ключам создаётся пара криптографических ключей: закрытый ключ, хранящийся на устройстве администратора, и открытый ключ для проверки подлинности, размещаемый на удалённом устройстве, к которому необходим доступ.

Для генерации ключевой пары в ПАК “Фортикс” используется команда:

> ssh key generate [ecdsa|rsa] [comment <key-id>]

где

  • ecdsa|rsa – криптографический алгоритм формирования ключа, по умолчанию – RSA;

  • <key-id> – слово.

По умолчанию в качестве идентификатора используется имя администратора.

Полученные ключи хранятся в домашнем каталоге администратора в директории ssh/.

Пример применения команд для генерации и просмотра ключевой пары в ПАК “Фотрикс”:

> ssh key generate rsa comment ident
The rsa key was successfully created
> ls /home/root/ssh
03.09.2025 20:15:57  ../
04.09.2025 00:37:08  id_rsa                 2.5K
04.09.2025 00:37:08  id_rsa.pub             558

В данном примере для администратора root создана ключевая пара с закрытым ключом id_rsa и открытым ключом id_rsa.pub.

Для просмотра содержимого файла с открытым ключом применяется команда:

> cat <path-to-public-key-file>

где <path-to-public-key-file> – полное имя файла с открытым ключом или имя файла относительно домашней директории пользователя.

Пример применения команды для просмотра содержимого файла с открытым ключом:

> cat /home/root/ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC5AsjWL3H8aEzykgV2hHutYg6PNTQ/z+oL8jMi/OaFXpyyNjZIqKt3cOMij5zBJ8My8uy6J/X/NONjGsZ5A+QJ28kUrHCa5Tjdb2X9PfNgddtFWbH/yuha67qieOy0Tnr1LDI7J66K9f7Lmhaal5pMoJd7N93PQvqAJJtq1ksO9e125o+hRr1PnH2bq/JzUExluL8SPJMBshcbFA5UbRwGVggRb5JaG8WLNLb/exVi+nItAoPUcXydgFck3ymdkFOFRmp/efbyn3Ab17RyLyfOfRWRSXFLXkelcabBML88rGXRhQCG9EsInz85opnruBVUOeh/BSP/iB/lCFffW7ed0PAcNAU1DxhR781heX6JsEAx3+UkFDpBLaE/t9NyBByo3NjXLkAORV3+zR1QqmyMm+hDlm9FlV8I5Y1KvOhHUrYpYSP6WpFyhALZ9wvLQmhNN/n6whaPBuobnZHnK/qRsTr+BoLxmJMUyJd9F+wupdVGbOdzFXHClj0ofvnbLp8= ident

Файл, содержащий открытый ключ, состоит из трёх значений: алгоритм формирования ключа (в данном примере ssh-rsa), сам ключ (AAAAB3N ... vnbLp8=) и идентификатор ключа (ident).

После создания ключевой пары необходимо добавить открытый SSH-ключ на удалённое устройство, к которому настраивается беспарольный доступ. Настройка доступа к устройству без пароля зависит от учётной записи и осуществляется одной из следующих команд:

  1. Для настройки аутентификации учётной записи администратора root применяется команда:

# set system login root ssh-pubkey <ssh-pubkey-id> key <ssh-key-value>

где

  • <ssh−pubkey-id> – слово;

  • <ssh-key-value> – строка в формате алгоритм_формирования_ключа значение_ключа, где указываются алгоритм формирования ключа и значение ключа в одну строку подряд через один пробел.

Например:

# set system login root ssh-pubkey ident key "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC5AsjWL3H8aEzykgV2hHutYg6PNTQ/z+oL8jMi/OaFXpyyNjZIqKt3cOMij5zBJ8My8uy6J/X/NONjGsZ5A+QJ28kUrHCa5Tjdb2X9PfNgddtFWbH/yuha67qieOy0Tnr1LDI7J66K9f7Lmhaal5pMoJd7N93PQvqAJJtq1ksO9e125o+hRr1PnH2bq/JzUExluL8SPJMBshcbFA5UbRwGVggRb5JaG8WLNLb/exVi+nItAoPUcXydgFck3ymdkFOFRmp/efbyn3Ab17RyLyfOfRWRSXFLXkelcabBML88rGXRhQCG9EsInz85opnruBVUOeh/BSP/iB/lCFffW7ed0PAcNAU1DxhR781heX6JsEAx3+UkFDpBLaE/t9NyBByo3NjXLkAORV3+zR1QqmyMm+hDlm9FlV8I5Y1KvOhHUrYpYSP6WpFyhALZ9wvLQmhNN/n6whaPBuobnZHnK/qRsTr+BoLxmJMUyJd9F+wupdVGbOdzFXHClj0ofvnbLp8="

Для настройки аутентификации учётной записи, отличной от администратора root, применяется команда:

# set system login account <account-name> ssh−pubkey <ssh−pubkey-id> key <ssh-key-value>

где

  • <account-name> – имя существующей учётной записи;

  • <ssh−pubkey-id> – слово;

  • <ssh-key-value> – строка в формате алгоритм_формирования_ключа значение_ключа, где указываются алгоритм формирования ключа и значение ключа в одну строку подряд через один пробел.

  1. Настройка ключевой информации учётной записи с помощью команды setup и значений открытого ключа:

# setup login <account-name> ssh-pubkey text <ssh-pubkey-text>
# commit

где

  • <account-name> – имя существующей учётной записи;

  • <ssh-pubkey-text> – строка в формате алгоритм_формирования_ключа значение_ключа идентификатор_ключа, где указываются алгоритм формирования ключа, значение ключа и идентификатор ключа в одну строку подряд через один пробел.

  1. Настройка ключевой информации учётной записи с помощью команды setup и файла, содержащего значение открытого ключа:

# setup login <account-name> ssh-pubkey file <path-to-sshpubkey-file>

где

  • <account-name> – имя существующей учётной записи;

  • <path-to-sshpubkey-file> – полное имя файла с открытым ключом или имя файла относительно домашней директории пользователя.

5.1.4. Настройка времени активности сессии

Для настройки тайм-аута активности сессии, по истечении которого при отсутствии каких-либо действий администратора в системе сессия его учётной записи автоматически завершается, применяется команда:

# set system login session-timeout <session-timeout>

где <session-timeout> – число секунд от 0 до 4294967295, по умолчанию – 0.

Для удаления тайм-аута активности сессии применяется одна из следующих команд:

# del system login session-timeout

или

# set system login session-timeout 0

5.1.5. Блокировка учётных записей

Блокировка учётной записи позволяет запретить доступ учётной записи к системе.

Для блокировки учётной записи применяется команда:

# set system login account <account-name> locked

где <account-name> – имя существующей учётной записи.

Блокировка учётной записи администратора root невозможна.

Для снятия блокировки учётной записи применяется команда:

# del system login account <account-name> locked

где <account-name> – имя существующей учётной записи.

5.1.6. Автоматическая блокировка учётных записей

Для предотвращения несанкционированного доступа посредством подбора пароля к учётной записи администратора в ПАК “Фортикс” реализована временная блокировка учётной записи, которая осуществляется по следующему сценарию: если за определённый промежуток времени (по умолчанию – 15 минут) последовательно осуществляется несколько (по умолчанию – 3) неудачных попыток аутентификации учётной записи, данная учётная запись временно блокируется (отключается). Время блокировки по умолчанию составляет 10 минут. По истечении указанного промежутка времени учётная запись становится доступной. При перезагрузке системы блокировка учётных записей снимается.

Для снятия блокировки всех учётных записей без перезагрузки системы применяется команда:

> clear system auth faillock

Данная команда снимает блокировку всех ранее заблокированных учётных записей.

Для разблокировки заданной учётной записи применяется команда:

> clear system auth faillock account <account-name>

где <account-name> – имя существующей учётной записи.

Для просмотра информации о попытках аутентификации применяется команда:

> show system auth faillock [brief]

где [brief] – параметр, при указании которого информация отображается в сжатом виде.

5.1.6.1. Команды настройки автоматической блокировки

Для изменения количества допустимых последовательно неудачных попыток аутентификации учётной записи применяется команда:

# set system auth faillock deny <faillock-deny-number>

где <faillock-deny-number> – число от 0 до 100, по умолчанию – 3.

Для изменения времени блокировки учётной записи по истечение допустимого количества неудачных попыток аутентификации применяется команда:

# set system auth faillock unlock-time <faillock-unlock-time>

где <faillock-unlock-time> – число секунд от 0 до 65535, по умолчанию – 600.

При использовании значения 0 указанной настройки автоматическая разблокировка учётной записи отключается. При этом активация учётной записи осуществляется только по команде clear system auth faillock или после перезагрузки системы.

Для изменения интервала времени, за который учитываются попытки аутентификации, применяется команда:

# set system auth faillock fail-interval <faillock-fail-interval>

где <faillock-fail-interval> – число секунд от 0 до 65535, по умолчанию – 900.

5.2. Ролевая модель в механизме NACM

5.2.1. Предустановленные ролевые группы

В заводской конфигурации ПАК “Фортикс” определены следующие ролевые группы:

  • группа adm;

  • группа netadm;

  • группа oper.

Учётные записи, добавленные в одну из данных ролевых групп, наделяются соответствующими полномочиями. Если созданная учётная запись не добавлена ни в одну из групп, при включённом механизме NACM (см. подраздел 5.2.3 Механизм NACM) данная учётная запись не имеет никаких полномочий.

5.2.1.1. Группа adm

Группа adm представляет собой группу учётных записей администраторов, обладающих следующими ограничениями полномочий относительно учётной записи администратора root:

  • не могут просматривать/администрировать настройки NACM (права доступа);

  • не могут просматривать/администрировать учётные записи (настройки уровня конфигурации system login и system auth, команды уровня clear system auth);

  • не могут администрировать установленные образы (команды уровней system software и system data-slot);

  • не могут обращаться к директории /config.

5.2.1.2. Группа netadm

Группа netadm представляет собой группу учётных записей администраторов, обладающих следующими ограничениями полномочий относительно учётных записей администраторов группы adm:

  • не могут выполнять команды и администрировать настройки СКЗИ (команды и настройки уровня crypto);

  • не могут выполнять команды диагностики СКЗИ, в том числе просматривать журнал событий СКЗИ (команды уровня show crypto);

  • не могут обращаться к директориям /share, /system, /crypto.

5.2.1.3. Группа oper

Группа oper представляет собой группу учётных записей администраторов, обладающих следующими ограничениями полномочий относительно учётных записей администраторов группы netadm:

  • не могут менять конфигурацию системы;

  • не могут выполнять действия, меняющие состояние узла;

  • не могут менять состояние системы, в том числе:

    • не могут перезагружать/выключать систему;

    • не могут выключать сигнал на события уровня ALERT;

  • не имеют доступа к внешним носителям (директория /media).

5.2.2. Управление членством учётных записей в группах

Для добавление учётной записи в существующую группу применяется команда:

# set nacm groups group <group-name> user-name <user-name>

где

  • <group-name> – имя существующей группы;

  • <user-name> – имя существующей учётной записи.

Для удаления учётной записи из группы применяется команда:

# del nacm groups group <group-name> user-name <user-name>

где

  • <group-name> – имя существующей группы;

  • <user-name> – имя существующей учётной записи.

Для удаления всех учётных записей из группы применяется команда:

# del nacm groups group <group-name> user-name

где <group-name> – имя существующей группы.

Пример применения команд для создания учётной записи администратора группы adm с именем alex:

> configure
# setup login alex
# setup login alex password
Change password for alex
Password:
Retype password:
# set nacm groups group adm user-name alex
# commit

После добавления учётной записи администратора в группу adm целесообразно отключить удалённый доступ по протоколу SSH для учётной записи администратора root.

Для отключения удалённого доступа по протоколу SSH учётной записи администратора root применяется команда:

# del service ssh access root-login

5.2.3. Механизм NACM

В ПАК “Фортикс” контроль доступа и полномочий учётных записей основан на механизме NACM (Network Configuration Access Control Model), который представляет собой модель управления доступом к элементам конфигурации и операциям системы (см. RFC 8341). В настройки механизма NACM ПАК “Фортикс” добавлены дополнительные опции, обеспечивающие управление доступом к командам режима администрирования.

Включённый механизм NACM позволяет контролировать каждую попытку администратора изменить конфигурацию через консоль, сессию SSH или протокол NETCONF: для каждого действия администратора осуществляется проверка на наличие прав у его учётной записи на изменения (создание, удаление, модификацию). Механизм NACM используется в системе по умолчанию.

Для отключения механизма NACM применяется команда:

# set nacm enable-nacm false

Предупреждение

Не рекомендуется отключать механизм NACM, так как при отключённом механизме NACM все учётные записи получают полный доступ ко всей конфигурации и RPC-операциям протокола NETCONF.

Для включения механизма NACM применяется одна из следующих команд:

# del nacm enable-nacm

или

# set nacm enable-nacm true

Учётная запись администратора root обладает полным набором полномочий, механизм NACM на неё не влияет.

Предусмотрена возможность редактирования настроек механизма NACM для существующих ролевых групп или создание новых групп со специфическими наборами полномочий. Изменение/просмотр настроек механизма NACM доступны учётной записи администратора root и учётным записям администраторов группы adm.

В настоящем руководстве приводится краткое описание стандартных настроек механизма NACM. Далее по тексту пометка (Фортикс) соответствует настройкам, специфичным для механизма NACM ПАК “Фортикс”.

5.2.3.1. Глобальные настройки механизма NACM

Настройка механизма NACM осуществляется на следующем уровне конфигурации:

[edit nacm]

На данном уровне конфигурации доступны следующие настройки:

  • enable-nacm true|false – включить/выключить использование механизма NACM, по умолчанию – true;

  • read-default permit|deny <leaf-path> – разрешить/запретить чтение узла конфигурации, если для него не найдено иных правил, где <leaf-path> – строка в формате интерфейса командной строки;

  • write-default permit|deny <leaf-path> – разрешить/запретить изменение узла конфигурации, если для него не найдено иных правил, где <leaf-path> – строка в формате интерфейса командной строки;

  • exec-default permit|deny <leaf-path> – разрешить/запретить выполнение RPC-операций над узлом конфигурации, если для него не найдено иных правил, где <leaf-path> – строка в формате интерфейса командной строки;

  • groups – перейти на уровень конфигурации ролевых групп (см. ниже);

  • rule-list – перейти на уровень конфигурации именованных наборов правил (см. ниже).

Для редактирования настроек механизма NACM применяется команда:

[edit nacm]
# set <setting>

где <setting> – строка.

5.2.3.2. Настройки групп

Настройка групп осуществляется на следующем уровне конфигурации:

[edit nacm groups]

На данном уровне конфигурации доступны настройки именованных списков правил match/exclude и настройки групп.

Настройка именованных списков правил match/exclude осуществляется на следующем уровне конфигурации:

[edit nacm groups match-list <match-list-name>]

где <match-list-name> – строка.

На данном уровне конфигурации доступны следующие настройки:

  • match *|<pattern> (Фортикс) – указать шаблон команд режима администрирования, разрешённых данной группе (* – все команды, <pattern> – шаблон команд (строка)), возможно определение нескольких настроек данного уровня конфигурации;

  • exclude <pattern> (Фортикс) – указать шаблон команд, попадающих в шаблон настройки match, но подлежащих запрету (<pattern> – шаблон команд (строка)), возможно определение нескольких настроек данного уровня конфигурации.

Настройка групп осуществляется на следующем уровне конфигурации:

[edit nacm groups group <group-name>]

где <group-name> – строка.

На данном уровне конфигурации доступны следующие настройки:

  • user-name <user-name> – указать имя учётной записи, входящей в группу, где <user-name> – имя существующей учётной записи, возможно определение нескольких настроек данного уровня конфигурации;

  • match *|<pattern> (Фортикс) – указать шаблон команд режима администрирования, разрешённых данной группе, где * – любые команды, <pattern> – строка, возможно определение нескольких настроек данного уровня конфигурации;

  • exclude <pattern> (Фортикс) – указать шаблон команд, попадающих в шаблон настройки match, но подлежащих запрету, где <pattern> – строка, возможно определение нескольких настроек данного уровня конфигурации;

  • match-list <match-list-name> (Фортикс) – указать именованный список правил match/exclude, применяемый к данной группе, где <match-list-name> – имя существующего списка правил, возможно определение нескольких настроек данного уровня конфигурации;

  • fs-crypto-access (Фортикс) – разрешить группе доступ к области /crypto;

  • fs-media-access (Фортикс) – разрешить группе доступ к внешним носителям /media;

  • fs-system-access (Фортикс) – разрешить группе доступ к директории /system;

  • fs-config-access (Фортикс) – разрешить группе доступ к директории /config;

  • fs-share-access (Фортикс) – разрешить группе доступ к директории /share.

Настройки групп позволяют определять полномочия данной группы только в режиме администрирования. Полномочия группы в режиме конфигурации определяются с помощью других настроек механизма.

Шаблоны команд режима администрирования представляют собой указанный в кавычках набор слов, с которых начинаются команды. Шаблону соответствуют все команды, начинающиеся с указанного набора слов. Символ * подразумевает множество всех команд.

По умолчанию для учётной записи, созданной вне предустановленных групп, все команды режима администрирования запрещены.

Команда считается разрешённой, если она соответствует хотя бы одному шаблону настройки match хотя бы одной группы, в которую входит данная учётная запись, при этом не соответствует ни одному шаблону настройки exclude данной группы.

Примеры применения шаблонов:

  • match * – разрешить все команды;

  • match "crypto matrix" – разрешить все команды, начинающиеся с crypto matrix;

  • exclude "crypto matrix operate" – запретить команды, начинающиеся с crypto matrix operate.

5.2.3.3. Настройки наборов правил

Настройка наборов правил осуществляется на следующем уровне конфигурации:

[edit nacm rule-list <rule-list-name>]

где <rule-list-name> – строка.

На данном уровне конфигурации доступны следующие настройки:

  • group <group-name> – указать имя группы, для которой применяется данный набор правил, где <group-name> – имя существующей группы, возможно определение нескольких настроек данного уровня конфигурации;

  • rule <rule-name> – указать имя правила, входящего в данных набор правил, где <rule-name> – имя существующего правила, возможно определение нескольких настроек данного уровня конфигурации.

Порядок указания наборов правил при настройке определяет их приоритет (см. подпункт 5.2.3.4 Алгоритм работы механизма NACM).

Настройка именованных правил осуществляется на следующем уровне конфигурации:

[edit nacm rule-list <rule-list-name> rule <rule-name>]

где

  • <rule-list-name> – имя существующего набора правил;

  • <rule-name> – строка.

На данном уровне конфигурации доступны следующие настройки:

  • comment <description> – указать описание правила, где <description> – строка;

  • path <leaf-xpath> – указать путь к узлу конфигурации, к ветвям и элементам которого применимо правило, где <leaf-xpath> – строка в формате XPath;

  • module-name <module-name> – указать имя YANG-модуля, к членам которого применимо правило, где <module-name> – строка;

  • rpc-name *|<rpc-name> – указать имя RPC-операции, к которой применимо правило, где * – любые операции, <rpc-name> – строка;

  • access-operations *|<list> – указать список действий над элементом/RPC-операций, к которым применимо правило, где * – любые действия/операции, <list> – строка в формате списка действий/операций;

  • action permit|deny – разрешить/запретить запрашиваемое действие в случае срабатывания правила.

В качестве параметра <list> настройки access-operations *|<list> указывается строка, содержащая перечисление через пробел каких-либо из следующих операций:

  • read;

  • create;

  • update;

  • delete;

  • exec.

Порядок указания именованных правил при настройке определяет их приоритет (см. подпункт 5.2.3.4 Алгоритм работы механизма NACM).

5.2.3.4. Алгоритм работы механизма NACM

При поступлении исходящей от учётной записи попытки изменения конфигурации или выполнения RPC-операции через протокол NETCONF (при включённом механизме NACM) выполняется следующий алгоритм их обработки:

  1. Формируется список групп, членом которых является данная учётная запись, согласно настройкам уровня конфигурации [edit nacm groups].

  2. Осуществляется обработка наборов правил (rule-list) в том порядке, в котором они объявлены в конфигурации.

  3. Если набор правил неприменим к группе(ам) учётной записи (то есть нет пересечения с группами настройки nacm rule-list <rule-list> group), набор правил пропускается.

  4. Если набор правил применим к группе(ам) учётной записи, рассматриваются правила (rule) одно за другим в порядке их определения в конфигурации.

  5. Проверяется применимость правила согласно установленным критериям по принципу логического “И”.

  6. Если все критерии выполняются, применяется действие, установленное в настройке action (то есть операция либо разрешается, либо запрещается). В случае применимости дальнейшие правила и наборы не рассматриваются.

  7. Если не сработало ни одно правило в текущем наборе правил, осуществляется переход к следующему набору правил (п. 3).

  8. Если не сработало ни одно правило ни в одном наборе правил, действие применяется согласно глобальным настройкам read-default, write-default, exec-default.чё В случае наличия настройки read-default true при операции чтения узла конфигурации с установленным YANG-атрибутом nacm:default-deny-all операция запрещается.

5.2.3.5. Предустановленные настройки механизма NACM

В заводской конфигурации ПАК “Фортикс” определены следующие настройки механизма NACM:

nacm {
  enable-nacm true
  read-default permit
  write-default deny
  exec-default deny
  groups {
    group adm {
      match *
      exclude "clear system auth"
      exclude "system data-slot"
      exclude "system software"
      fs-crypto-access
      fs-media-access
      fs-system-access
      fs-share-access
    }
    group netadm {
      match-list adm-common
      match-list oper-common
      match-list show-common
      match "clear conntrack"
      match "clear firewall"
      match "clear neighbor"
      match "clear router"
      match "clear vrf"
      match dnssec
      match firewall
      match interface
      match "service captive-portal"
      match "service conntrack"
      match "service dhcp"
      match "service dns"
      match "service wcf"
      match ssl
      fs-media-access
    }
    group oper {
      match-list oper-common
      match-list show-common
    }
    match-list adm-common {
      match "clear alert"
      match "clear ssh known-hosts"
      match clock
      match configure
      match poweroff
      match reboot
      match "service journal"
    }
    match-list oper-common {
      match @
      match archive
      match arping
      match cat
      match compare
      match copy
      match curl
      match echo
      match edit
      match exit
      match gosthash
      match iftop
      match iperf
      match ls
      match mkdir
      match mv
      match nslookup
      match ping
      match rm
      match scp
      match "service journal verify"
      match ssh
      match sysmon
      match tail
      match tcpdump
      match telnet
      match traceroute
      match who
      match whois
      match write
    }
    match-list show-common {
      exclude "show crypto"
      match show
    }
  }
  rule-list deny-account-mgmt-rules {
    group adm
    group netadm
    group oper
    rule deny-account-mgmt {
      path /fx-system:system/fx-login:login
      access-operations *
      action deny
    }
    rule deny-auth-mgmt {
      path /fx-system:system/fx-auth:auth
      access-operations *
      action deny
    }
    rule deny-nacm {
      path /ietf-netconf-acm:nacm
      access-operations *
      action deny
    }
  }
  rule-list adm-rules {
    group adm
    rule allow-all {
      access-operations *
      action permit
    }
  }
  rule-list netadm-rules {
    group netadm
    rule deny-crypto {
      path /fx-crypto:crypto
      access-operations "create update delete exec"
      action deny
    }
    rule allow-rest {
      access-operations "create update delete"
      action permit
    }
    rule allow-keystore-rpc {
      module-name ietf-keystore
      rpc-name *
      action permit
    }
  }
  rule-list netconf-rpc-admins-rules {
    group netadm
    rule allow-commit {
      module-name ietf-netconf
      rpc-name commit
      action permit
    }
    rule allow-edit-config {
      module-name ietf-netconf
      rpc-name edit-config
      action permit
    }
    rule allow-copy-config {
      module-name ietf-netconf
      rpc-name copy-config
      action permit
    }
    rule deny-delete-config {
      module-name ietf-netconf
      rpc-name delete-config
      action deny
    }
    rule allow-lock {
      module-name ietf-netconf
      rpc-name lock
      action permit
    }
    rule allow-unlock {
      module-name ietf-netconf
      rpc-name unlock
      action permit
    }
    rule deny-kill-session {
      module-name ietf-netconf
      rpc-name kill-session
      action deny
    }
    rule allow-discard-changes {
      module-name ietf-netconf
      rpc-name discard-changes
      action permit
    }
    rule allow-cancel-commit {
      module-name ietf-netconf
      rpc-name cancel-commit
      action permit
    }
    rule allow-validate {
      module-name ietf-netconf
      rpc-name validate
      action permit
    }
    rule allow-get-schema {
      module-name ietf-netconf-monitoring
      rpc-name get-schema
      action permit
    }
    rule allow-edit-data {
      module-name ietf-netconf-nmda
      rpc-name edit-data
      action permit
    }
    rule allow-establish-subscription {
      module-name ietf-subscribed-notifications
      rpc-name establish-subscription
      action permit
    }
    rule allow-modify-subscription {
      module-name ietf-subscribed-notifications
      rpc-name modify-subscription
      action permit
    }
    rule allow-delete-subscription {
      module-name ietf-subscribed-notifications
      rpc-name delete-subscription
      action permit
    }
    rule deny-kill-subscription {
      module-name ietf-subscribed-notifications
      rpc-name kill-subscription
      action deny
    }
    rule allow-resync-subscription {
      module-name ietf-yang-push
      rpc-name resync-subscription
      action permit
    }
    rule allow-create-subscription {
      module-name notifications
      rpc-name create-subscription
      action permit
    }
  }
  rule-list oper-rpc-rules {
    group netadm
    group oper
    rule allow-exec-script {
      module-name fx-system
      rpc-name exec-script
      access-operations exec
      action permit
    }
    rule allow-get-uptime {
      module-name fx-system
      rpc-name get-uptime
      access-operations exec
      action permit
    }
    rule allow-get-interface-info {
      module-name fx-interface
      rpc-name get-interface-info
      access-operations exec
      action permit
    }
  }
}

5.2.4. Удалённая аутентификация учётных записей по протоколу RADIUS

ПАК “Фортикс” поддерживает механизм аутентификации через удалённый сервер по протоколу RADIUS, который позволяет централизованно настраивать и администрировать множество учётных записей для различных систем в одном месте на удалённом сервере.

Для подключения удалённой аутентификации учётной записи по протоколу RADIUS необходимо:

  1. Активировать механизм удалённой аутентификации учётных записей с помощью команды:

# set system auth radius enable
# commit
  1. Выполнить настройку механизма удалённой аутентификации по протоколу RADIUS.

Обязательной настройкой является определение IP-адреса RADIUS-сервера и установка пароля для подключения к данному серверу. Данные настройки осуществляются с помощью команды:

# set system auth radius server <server-ip> secret <password>
# commit

где

  • <server-ip> – IP-адрес или DNS-имя, которое автоматически трансформируется в IP-адрес;

  • <password> – строка.

Для указания нескольких RADIUS-серверов, имеющих различные адреса, необходимо выполнить данную команду несколько раз с указанием адреса и пароля для каждого сервера (при удалённой аутентификации осуществляются поочередные попытки подключения ко всем указанным серверам).

При необходимости для указания номера порта подключения сервера применяется команда:

# set system auth radius server <server-ip> port <port-number>
# commit

где

  • <server-ip> – IP-адрес или DNS-имя, которое автоматически трансформируется в IP-адрес;

  • <port-number> – число от 1 до 65535, по умолчанию – 1812.

При необходимости для настройки тайм-аута подключения применяется команда:

# set system auth radius server <server-ip> timeout <timeout>
# commit

где

  • <server-ip> – IP-адрес или DNS-имя, которое автоматически трансформируется в IP-адрес;

  • <timeout> – число секунд, по умолчанию – 60.

  1. Создать учётную запись (достаточно без пароля) и добавить её в список учётных записей, которым разрешена удалённая аутентификации по протоколу RADIUS, с помощью команд:

# setup login <account-name>
# set system auth radius allow-login <account-name>
# commit

где <account-name> – имя существующей учётной записи.

После выполнения вышеописанных настроек на RADIUS-сервере возможно определение неограниченного количества пользователей и ассоциирование с ними атрибута Juniper-Local-User-Name (26.2636.1), содержащего имя учётной записи на узле.

Пользователь, успешно аутентифицированный на RADIUS-сервере, получает доступ к ПАК “Фортикс” со всеми полномочиями согласно настройкам его учётной записи.

Данный механизм работает как при входе с консоли, так и при соединении по протоколам SSH, Telnet и NETCONF.