Управление доступом

Аутентификация

Аутентификация – это процесс проверки подлинности введённых пользователем имени и пароля. В ARMA Стена возможна аутентификация с использованием локальной или внешней БД пользователей. Для хранения УЗ пользователей по умолчанию применяется локальная БД. В качестве внешней БД служат различные внешние серверы авторизации.

В системе ARMA Стена предусмотрена встроенная учётная запись «admin», обладающая правами суперпользователя и имеющая неограниченный доступ к системным функциям, включая выполнение команд с привилегиями sudo.

Использование данной УЗ для повседневной административной деятельности не рекомендуется. В целях обеспечения повышенного уровня безопасности следует создать отдельную УЗ администратора с необходимым набором прав.

Локальные учётные записи

Просмотр локальных учётных записей

Система ARMA Стена предоставляет команды для просмотра информации о локальных УЗ, включая их статус, тип, класс, данные о последнем входе и другие атрибуты.

Просмотр пользовательских учётных записей

Для отображения списка пользовательских УЗ, созданных в системе, используется команда (см. Рисунок – Созданные УЗ):

admin@ngfwos:~$ show system login users ngfwos [json]
../../../../_images/ngfw.r.cli.access-control_2.1.1.1.png

Рисунок – Созданные УЗ

Опциональный параметр «json» позволяет вывести данные в формате JSON для программной обработки.

Формат вывода включает следующие поля:

  • «Username» – имя УЗ пользователя, использованное при аутентификации в системе.

  • «Full name» – полное имя УЗ пользователя.

  • «Class» – класс УЗ.

  • «Type» – тип УЗ.

  • «Status» – состояние УЗ на момент последнего входа. Возможные значения:

    • «Normal» – УЗ активна, ограничений нет;

    • «Temporarily locked» – УЗ временно заблокирована вследствие превышения допустимого числа неудачных попыток аутентификации;

    • «Locked» – УЗ заблокирована.

  • «Tty» – идентификатор терминала или псевдотерминала, выделённого сессии пользователя. Допустимые значения:

    • «tty» – физические или виртуальные консоли (tty1–tty6), доступные при локальном подключении (KVM, serial-порт);

    • «pts/n» – псевдотерминалы, используемые для сетевых сессий (SSH);

    • «ttySn» – последовательные терминалы (при использовании последовательной консоли).

  • «From» – IP-адрес хоста, с которого выполнен вход в систему.

  • «Last login» – дата и время последней успешной аутентификации в формате: «ДеньНедели Месяц День ЧЧ:ММ:СС ГГГГ», представленные по локальному времени системы.

Просмотр всех учётных записей в системе

Для отображения полного списка всех локальных УЗ, включая системные и служебные, используется команда (см. Рисунок – Все локальные УЗ):

admin@ngfwos:~$ show system login users all [json]
../../../../_images/ngfw.r.cli.access-control_2.1.2.1.png

Рисунок – Все локальные УЗ

Просмотр системных (служебных) учётных записей

Для фильтрации и отображения только технических УЗ, используемых внутренними службами системы, применяется команда (см. Рисунок – Технические УЗ):

admin@ngfwos:~$ show system login users other [json]
../../../../_images/ngfw.r.cli.access-control_2.1.3.1.png

Рисунок – Технические УЗ

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

Для отображения всех УЗ, находящихся в состоянии блокировки, используется команда (см. Рисунок – Заблокированные УЗ):

admin@ngfwos:~$ show system login users locked [json]
../../../../_images/ngfw.r.cli.access-control_2.1.4.1.png

Рисунок – Заблокированные УЗ

Добавление пользовательских учётных записей

Для создания локальной УЗ в системе необходимо выполнить следующую последовательность команд в режиме конфигурирования:

set system login user <user> full-name <text>
set system login user <user> authentication plaintext-password <password>
commit
save

где:

  • <user> – имя пользователя (логин), используемое для аутентификации. Максимальная длина – «32» символа. Допускается использование следующих символов:

    • буквы латинского алфавита (a–z, A–Z);

    • цифры (0–9);

    • символ подчёркивания («_») и точка («.»).

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

    В имени пользователя не допускается использование символа дефис («-»).

  • <text> – отображаемое (полное) имя пользователя. Максимальная длина – «70» символов. В случае наличия пробелов значение должно быть заключено в двойные кавычки (например, "Иванов Иван"). Использование символа двоеточия («:») запрещено.

  • <password> – пароль УЗ в открытом виде. Допустимый набор символов включает:

    • латинские буквы (a–z, A–Z);

    • цифры (0–9);

    • специальные символы: «(», «)», «!», «#», «%», «*», «+», «,», «.», «/», «:», «;», «&», «>», «<», «_», «=», «@», «[», «]», «^», «{», «}», «|», «~», «$», «`».

    Примечание

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

При создании УЗ без указания пароля она автоматически переводится в заблокированное состояние и остаётся недоступной для входа. Блокировка снимается автоматически после назначения пароля.

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

show system login user
../../../../_images/ngfw.r.cli.access-control_2.2.1.png

Рисунок – Конфигурации учётных записей

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

Политика паролей учётных записей

Команды конфигурации политики паролей УЗ:

  1. Указать максимальную длину пароля:

set system login password maximum-length <max>

где <max> – значение максимальной длины пароля. Возможно указать значение в диапазоне от «1» до «128». По умолчанию используется значение «128».

  1. Указать минимальную длину пароля:

set system login password minimum-length <min>

где <min> – значение минимальной длины пароля. Возможно указать значение в диапазоне от «1» до «64». По умолчанию используется значение «1».

  1. Указать минимальное количество цифр в пароле:

set system login password minimum-numerics <number>

где <number> – количество цифр в пароле. Возможно указать значение в диапазоне от «1» до «32». По умолчанию используется значение «0».

  1. Указать минимальное количество специальных символов в пароле:

set system login password minimum-special <number>

где <number> – количество специальных символов. Возможно указать значение в диапазоне от «1» до «32». По умолчанию используется значение «0».

В пароле допускается использовать следующие специальные символы: «!», «#», «%», «&», «(», «)», «*», «+», «,», «.», «/», «:», «;», «<», «=», «>», «@», «[», «]», «^», «_», «{», «|», «}», «~», «`», «$».

  1. Указать минимальное количество букв в нижнем регистре в пароле:

set system login password minimum-lower-case <number

где <number> – количество букв в нижнем регистре. Возможно указать значение в диапазоне от «1» до «32». По умолчанию используется значение «0».

  1. Указать минимальное количество букв в верхнем регистре в пароле:

set system login password minimum-upper-case <number>

где <number> – количество букв в верхнем регистре. Возможно указать значение в диапазоне от «1» до «32». По умолчанию используется значение «0».

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

Система ARMA Стена поддерживает механизм временной блокировки учётных записей в случае превышения допустимого количества неудачных попыток аутентификации. Настройки применяются ко всем локальным учётным записям и действуют при аутентификации через локальный вход или SSH.

Примечание

Механизмы временной блокировки УЗ в системе ARMA Стена не распространяются на пользователей с правами «NGFW_Super_Administrators».

Настройка количества попыток ввода пароля до блокировки

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

set system login retry-options attemps-before-block <number>

где <number> – целочисленное значение в диапазоне от «1» до «100», определяющее количество допустимых неудачных попыток ввода пароля. Значение по умолчанию: «5» попыток.

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

Настройка продолжительности временной блокировки

Настройки временной блокировки УЗ в системе ARMA Стена действуют независимо от используемого метода аутентификации.

Время блокировки после превышения лимита попыток устанавливается следующими командами:

set system login retry-options lockout-period seconds <sec>
set system login retry-options lockout-period minutes <min>
set system login retry-options lockout-period hours <hour>

где:

  • <sec> – количество секунд. Возможно указать значение в диапазоне от «0» до «60»;

  • <min> – количество минут. Возможно указать значение в диапазоне от «0» до «60»;

  • <hour> – количество часов. Возможно указать значение в диапазоне от «0» до «168».

Общая длительность блокировки вычисляется как сумма всех активных компонентов: секунд, минут и часов. Максимально возможная длительность временной блокировки пользователя – 168 часов. По умолчанию учётная запись блокируется на 10 минут.

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

Разблокировка может быть выполнена только пользователем с правами «NGFW_Super_Administrators». Пользователь с правами «NGFW_Super_Administrators» может выдать права на использование команды для разблокировки временно заблокированных УЗ другому классу пользователей с помощью следующей команды конфигурационного режима:

set system login class <class> operational-command 'clear lock'

Для отображения пользователей, находящихся в состоянии временной блокировки, используется команда:

admin@ngfwos:~$ show lock <users | ip | all>

где:

  • <users> – список временно заблокированных пользователей (ssh-сессий);

  • <ip> – список временно заблокированных IP-адресов (веб-сессий);

  • <all> – список временно заблокированных пользователей и IP-адресов.

Пример работы команды show lock all:

admin@ngfwos:~$ show lock all
User name    Ip address     Ban time             Unban time           Remaining
-----------  -------------  -------------------  -------------------  -----------
-            192.168.1.249  2025-10-16 09:26:37  2025-10-16 09:36:37  0:09:54
svs          -              2025-10-16 08:54:38  2025-10-16 10:04:38  0:37:55

Для разблокировки временно заблокированных УЗ по имени пользователя используется команда:

admin@ngfwos:~$ clear lock user <user_name>

где <user_name> – имя пользователя, которого необходимо разблокировать.

Для разблокировки временно заблокированных IP-адресов используется команда:

admin@ngfwos:~$ clear lock user <ip-address>

где <ip-address> – IP-адрес, который необходимо разблокировать.

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

Для ограничения прав пользовательских УЗ используются классы.

Класс представляет собой перечень разрешённых команд для использования в ARMA Стена.

В системе ARMA Стена по умолчанию предусмотрено четыре класса УЗ:

  1. «NGFW_Super_Administrators» – специальный класс для встроенной УЗ «admin», для которой разрешены все команды эксплуатационного и конфигурационного режимов.

  2. «NGFW_Administrators» – группа администраторов с повышенными правами, для которых разрешены следующие команды:

  • в эксплуатационном режиме – разрешены все команды, за исключением:

    • «clear lock» – команды разблокировки УЗ и IP-адресов;

    • «force config-sync» – команды принудительной синхронизации конфигурации;

    • «generate tech-support» – команды экспорта архива с конфигурацией и журналами;

    • «integrity-control update» – команды пересчёта эталонных значений контроля целостности;

    • «telnet» – команды удалённого доступа и управления;

    • «set builtin» – команды использования встроенных (builtin) команд вместо внешних системных утилит;

    • «set terminal pager» – команды управления постраничным выводом;

    • «show system task-scheduler» – команда просмотра задач планировщика.

  • в конфигурационном режиме – разрешены все команды, за исключением:

    • «edit» – команда редактирования;

    • «set high-availability» – команды конфигурирования VRRP;

    • «set load-balancing» – команды конфигурирования службы балансировки нагрузки на WAN-интерфейсах;

    • «set system integrity-control» – команды конфигурирования службы контроля целостности;

    • «set system option emergency remove-nics» – команда выключения блокировки сетевых интерфейсов в аварийном режиме;

    • «set system task-scheduler» – команды настройки планировщика задач.

  1. «Network_Administrators» – группа администраторов сети.

В эксплуатационном режиме для пользователей в составе группы «Network_Administrators» разрешены следующие команды:

  • «clear»:

    • «console»;

    • «dhcp-server»;

    • «dns»;

    • «flow-accounting»;

    • «interfaces»;

    • «ip»;

    • «ipv6»;

    • «logging»;

    • «session»;

  • «configure»;

  • «encryption load»;

  • «exit»;

  • «force»:

    • «arp»;

    • «ipv6-nd»;

    • «ipv6-rd»;

    • «mtu»;

    • «ntp»;

    • «openconnect-server»;

    • «owping»;

    • «twping»;

    • «vrf»;

  • «generate»:

    • «interfaces»;

    • «ipsec»;

    • «macsec»;

    • «openconnect»;

    • «openvpn»;

    • «pki»;

    • «public-key-command»;

    • «ssh»;

    • «system»;

    • «wireguard»;

  • «import»;

  • «monitor»;

  • «mtr»;

  • «ping»;

  • «poweroff»;

  • «reboot»;

  • «release»;

  • «renew»;

  • «reset»;

  • «restart»;

  • «set pppoe-server»;

  • «show»:

    • «arp»;

    • «babel»;

    • «bfd»;

    • «bgp»;

    • «bridge»;

    • «conntrack»;

    • «conntrack-sync»;

    • «date»;

    • «dhcp»;

    • «dhcpv6»;

    • «dns»;

    • «evpn»;

    • «host»;

    • «interfaces»;

    • «ip»;

    • «ipoe-server»;

    • «ipv6»;

    • «isis»;

    • «l2tp-server»;

    • «lldp»;

    • «logging»:

      • «conntrack-sync»;

      • «dhcp»;

      • «dhcpv6»;

      • «dns»;

      • «https»;

      • «ipoe-server»;

      • «lldp»;

      • «nat»;

      • «ntp»;

      • «pppoe»;

      • «pppoe-server»;

      • «snmp»;

      • «ssh»;

      • «vpn»;

      • «vrrp»;

      • «webproxy»;

    • «monitoring»;

    • «mpls»;

    • «nat»;

    • «nat66»;

    • «nhrp»;

    • «ntp»;

    • «openconnect-server»;

    • «openvpn»;

    • «permissins current»;

    • «pki»;

    • «policy»;

    • «poweroff»;

    • «pppoe-server»;

    • «pptp-server»;

    • «protocols»;

    • «reboot»;

    • «reverce-proxy»;

    • «route-map»;

    • «rpki»;

    • «segment-routing»;

    • «sflow»;

    • «snmp»;

    • «ssh»;

    • «sstp-server»;

    • «table»;

    • «tech-support»;

    • «version»;

    • «vpn»;

    • «vrf»;

    • «wan-load-balance»;

    • «webproxy»;

    • «zebra»;

  • «traceroute»;

  • «update»;

  • «wake-on-lan».

В конфигурационном режиме для пользователей в составе группы «Network_Administrators» разрешены следующие команды:

  • «comment»;

  • «commit»;

  • «commit-check»;

  • «commit-confirm»;

  • «confirm»;

  • «copy/delete/rename/set/show»:

    • «high-availability»;

    • «interfaces»;

    • «load-balancing»;

    • «nat»;

    • «nat64»;

    • «nat66»;

    • «pki»;

    • «policy»;

    • «protocols»;

    • «qos»;

    • «service»:

      • «active-sync-proxy»;

      • «broadcast-relay»;

      • «dhcp-relay»;

      • «dhcp-server»;

      • «dhcpv6-relay»;

      • «dhcpv6-server»;

      • «dns»;

      • «ipoe-server»;

      • «lldp»;

      • «mdns»;

      • «ndp-proxy»;

      • «ntp»;

      • «pppoe-server»;

      • «router-advert»;

      • «snmp»;

      • «ssh»;

      • «stunnel»;

      • «tftp-server»;

      • «webproxy»;

    • «system»:

      • «conntrack»;

      • «flow-accounting»;

      • «frr»;

      • «ip»;

      • «ipv6»;

      • «logging»;

      • «name-server»;

      • «proxy»;

      • «sflow»;

      • «static-host-mapping»;

    • «third-party»;

    • «vpn»;

    • «vrf»;

  • «discard»;

  • «exit»;

  • «save».

  1. «Security_Engineers» – группа инженеров безопасности.

В эксплуатационном режиме для пользователей в составе группы «Security_Engineers» разрешены следующие команды:

  • «configure»;

  • «encryption load»;

  • «exit»;

  • «generate firewall»;

  • «monitor»;

  • «ping»;

  • «poweroff»;

  • «reboot»;

  • «show»:

    • «date»;

    • «conntrack»;

    • «firewall»;

    • «flow-accounting»;

    • «host»;

    • «interfaces»;

    • «logging»:

      • «firewall»;

      • «idps»;

      • «nat»;

    • «nat»;

    • «nat66»;

    • «permissions current»;

    • «pki»;

    • «poweroff»;

    • «reboot»;

    • «tech-support»;

    • «version»;

  • «suricata»;

  • «traceroute»;

  • «update».

В конфигурационном режиме для пользователей в составе группы «Security_Engineers» разрешены следующие команды:

  • «comment»;

  • «commit»;

  • «commit-check»;

  • «commit-confirm»;

  • «copy/delete/rename/set/show»:

    • «nat»;

    • «nat64»;

    • «nat66»;

    • «pki»;

    • «service»:

      • «ids»;

    • «suricata»;

    • «system»:

      • «conntrack»;

      • «logging»;

  • «discard»;

  • «exit»;

  • «save»;

  • «set app-control»;

  • «show app-control».

Примечание

Класс пользователя «NGFW_Super_Administrators» предназначен исключительно для встроенной УЗ «admin». Добавление других УЗ в этот класс не допускается.

Класс пользователя «NGFW_Super_Administrators» не может быть изменён или удалён.

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

set system login class <name_class> <operational-command | configure-command> <permitted-command>

где:

  • <name_class> – уникальное имя класса;

  • <operational-command> – установка прав на использование команд в эксплуатационном режиме;

  • <configure-command> – установка прав на использование команд в конфигурационном режиме;

  • <permitted-command> – разрешённая команда.

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

set system login class <name_class> description <text>

где <text> – текстовое описание класса. Описание не должно превышать «255» символов. Текст описания необходимо заключить в двойные кавычки, если он содержит пробел или символ «#».

Для добавления класса к УЗ пользователя необходимо ввести команду:

set system login user <name_user> class <name_class>

где <name_user> – имя учётной записи пользователя.

Для каждой УЗ пользователя возможно назначить только один класс.

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

show system login class [name_class] [operational-command | configure-command]

Для просмотра списка разрешённых команд для текущей УЗ необходимо в эксплуатационном режиме ввести команду:

admin@ngfwos:~$ show permissions

Пример вывода списка разрешённых команд для УЗ «test»:

test@ngfwos:~$ show permissions

==================================================
Current user permissions
==================================================

 Configuration commands
------------------------------
  commit
  commit-check
  commit-confirm
  confirm
  discard
  exit
  run configure
  run exit
  run show permissions
  save

Operational commands
------------------------------
  configure
  exit
  show permissions

==================================================
test@ngfwos:~$

Примечание

Встроенной УЗ «admin» запрещено изменять класс, удалять или отключать её.

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

Список разрешённых команд в эксплуатационном режиме:

  • «configure» – войти в конфигурационный режим;

  • «encryption load» – команда, предназначенная для расшифровки и монтирования зашифрованного раздела конфигурации;

  • «show permissions» – вывести список разрешённых команд для данной УЗ;

  • «show version» – вывести информацию о версии программного обеспечения;

  • «exit» – выйти из системы.

Список разрешённых команд в конфигурационном режиме:

  • «commit» – зафиксировать текущий набор изменений;

  • «commit-check» – команда, предназначенная для анализа текущих конфигурационных изменений с целью выявления потенциальных ошибок или противоречий перед их фактическим применением;

  • «commit-confirm» – зафиксировать текущий набор изменений с обязательным «подтверждением»;

  • «confirm» – подтвердить предыдущую фиксацию;

  • «discard» – отменить незафиксированные изменения;

  • «exit» – выход из текущего уровня конфигурации;

  • «run configure» – выполнить команду эксплуатационного режима «configure»;

  • «run exit» – выполнить команду эксплуатационного режима «exit»;

  • «run show permissions» – выполнить команду эксплуатационного режима «show permissions»;

  • «save» – сохранить конфигурацию в файл.

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

В качестве примера приведён список команд для создания учётной записи «test» с паролем «Password» и разрешением прав на использование команд: «ping», «set service dns», «delete service dns», «show service dns».

set system login user test authentication plaintext-password Password
set system login class c_dns
set system login class c_dns operational-command ping
set system login class c_dns operational-command configure
set system login class c_dns configure-command "set service dns"
set system login class c_dns configure-command "delete service dns"
set system login class c_dns configure-command "show service dns"
set system login user test class c_dns
commit
save

Тайм-аут пользовательской сессии

Для настройки периода бездействия, по истечении которого автоматически завершается сеанс локальной УЗ, необходимо ввести в конфигурационном режиме следующую команду:

set system login timeout <time>

где <time> – значение тайм-аута в секундах. Возможно указание значения в диапазоне от «5» до «604800» (7 суток). По истечении указанного интервала неактивности сеанс пользователя автоматически завершается. Отсчёт времени начинается с момента выполнения последней команды.

Примечание

На сессии, активные на момент применения данной конфигурации, новое значение тайм-аута не распространяется.

Блокировка пользователя

Система ARMA Стена поддерживает функцию блокирования локальных УЗ с сохранением их конфигурационных параметров. Блокировка может быть выполнена немедленно или запланирована на заданное время, а также может быть ограничена определённым временным интервалом.

Немедленная блокировка УЗ

Для немедленного блокирования УЗ используется команда:

set system login user <username> disable
commit
save

где <username> – имя блокируемой учётной записи.

Отложенная блокировка УЗ

Для активации блокировки УЗ в заданное время применяется команда:

set system login user <username> lockout startdate "YYYY-MM-DD HH:MM"
commit
save

где YYYY-MM-DD HH:MM – дата и время начала блокировки в формате «год-месяц-день часы:минуты», указываются в двойных кавычках.

Пример: блокировка УЗ «test», запланированная на 15 августа 2026 года, с момента 00:00:

set system login user test lockout startdate "2026-08-15 00:00"
commit
save

После наступления указанного времени доступ к данной УЗ будет заблокирован.

Блокировка УЗ на заданный временной интервал

Для временной блокировки УЗ в указанный период используются следующие команды:

set system login user <username> lockout startdate "YYYY-MM-DD HH:MM"
set system login user <username> lockout stopdate "YYYY-MM-DD HH:MM"
commit
save

где:

  • startdate "YYYY-MM-DD HH:MM" – дата и время начала блокировки;

  • stopdate "YYYY-MM-DD HH:MM" – дата и время окончания блокировки.

По истечении указанного периода УЗ автоматически разблокируется.

При одновременном наличии параметров «disable» и «lockout» для одной УЗ приоритет отдаётся состоянию, заданному параметром «disable». Таким образом, если УЗ явно отключена с помощью параметра «disable», она остаётся заблокированной независимо от настроек временной блокировки через «lockout». Автоматическая разблокировка по достижению времени «stopdate» не выполняется, пока активна постоянная блокировка, установленная через «disable».

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

После применения блокировки УЗ пользователь не сможет выполнить новый вход в систему. Однако, если пользователь уже авторизован и имеет одну или несколько активных сессий на момент активации блокировки, данные сессии не прерываются автоматически.

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

Для немедленного прекращения доступа заблокированного пользователя необходимо вручную завершить его активные сессии (см. раздел «Управление пользовательскими сессиями»).

Управление пользовательскими сессиями

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

Просмотр списка активных сессий

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

admin@ngfwos:~$ show users sessions

# Пример вывода:
SESSION  UID USER  SEAT TTY
  12177 1002 admin      pts/0
  12178 1002 admin
  12203 1053 test       pts/1
  12205 1053 test

Предусмотрен вывод в формате JSON:

admin@ngfwos:~$ show users sessions json
[{'session': '12177', 'uid': 1002, 'user': 'admin', 'seat': '', 'tty': 'pts/0'}, {'session': '12178', 'uid': 1002, 'user': 'admin', 'seat': '', 'tty': ''}, {'session': '12203', 'uid': 1053, 'user': 'test', 'seat': '', 'tty': 'pts/1'}, {'session': '12205', 'uid': 1053, 'user': 'test', 'seat': '', 'tty': ''}]

Сессии без указанного значения в поле «TTY» являются фоновыми и, как правило, используются системными службами (например, cron и другими демонами). Такие сессии не связаны с интерактивным входом пользователя.

Завершение пользовательской сессии

Для завершения текущей сессии пользователя в эксплуатационном режиме следует выполнить команду:

admin@ngfwos:~$ exit

Принудительное завершение сессий

Система поддерживает принудительное завершение сессий по идентификатору сессии или по имени пользователя.

  1. Завершение сессии по идентификатору.

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

admin@ngfwos:~$ reset sessions id <session>

где <session> – числовой идентификатор сессии (значение из поля SESSION).

  1. Завершение всех сессий пользователя.

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

admin@ngfwos:~$ reset sessions username <username>

где <username> – имя пользователя, все сессии которого подлежат завершению.

Команда завершает все активные сессии, включая интерактивные и фоновые, ассоциированные с указанным пользователем.

Просмотр недавних сеансов входа

Для отображения списка пользователей, недавно выполнивших вход в систему ARMA Стена, используется команда:

admin@ngfwos:~$ show users recent [number]

где <number> – необязательный параметр, указывающий количество выводимых записей. Значение параметра – целое положительное число. Если параметр [number] не указан, по умолчанию выводится 10 последних записей.

Записи отображаются в порядке убывания времени входа (начиная с самой последней).

Пример вывода списка сессий:

admin@ngfwos:~$ show users recent
test     pts/1        Tue Aug 19 06:23:53 2025 - Tue Aug 19 07:24:56 2025  (01:01)     192.168.21.2
admin    pts/0        Tue Aug 19 06:12:15 2025   still logged in                       192.168.21.2
admin    pts/0        Mon Aug 18 11:28:11 2025 - Tue Aug 19 06:12:00 2025  (18:43)     192.168.21.2
admin    pts/0        Mon Aug 18 10:19:51 2025 - Mon Aug 18 10:20:17 2025  (00:00)     192.168.21.2
admin    pts/0        Mon Aug 18 10:17:23 2025 - Mon Aug 18 10:18:59 2025  (00:01)     192.168.21.2
admin    pts/0        Mon Aug 18 06:01:23 2025 - Mon Aug 18 09:54:02 2025  (03:52)     172.16.10.9
user1    pts/1        Fri Aug 15 14:42:44 2025 - Fri Aug 15 14:43:14 2025  (00:00)     172.16.10.9
user3    pts/4        Fri Aug 15 14:42:19 2025 - Fri Aug 15 14:45:41 2025  (00:03)     172.16.10.9
user2    pts/3        Fri Aug 15 14:40:47 2025 - Fri Aug 15 14:44:51 2025  (00:04)     172.16.10.9
user4    pts/2        Fri Aug 15 14:30:39 2025 - Fri Aug 15 16:43:44 2025  (02:13)     172.16.10.9

Аутентификация RADIUS

RADIUS (Remote Authentication Dial-In User Service) – это сетевой протокол, который обеспечивает централизованную аутентификацию, авторизацию и учёт пользователей.

Система ARMA Стена поддерживает RADIUS-серверы в качестве серверной части для пользовательской аутентификации.

Атрибут «cisco-avpair = shell:priv-lvl» в Radius-сервере предназначен для определения уровня привилегий учётных записей. В системе ARMA Стена реализованы два уровня доступа для учётных записей Radius-сервера:

Таблица «Список разрешённых команд для УЗ RADIUS-сервера с ограниченным доступом»

Режим работы

Команда

Краткое описание

Эксплуатационный

exit

Выход из системы

Эксплуатационный

monitor

Мониторинг системной информации

Эксплуатационный

ping

Отправить запрос эха ICMP

Эксплуатационный

show

Просмотр настроек и журнала событий системы

Эксплуатационный

telnet

Telnet к узлу

Эксплуатационный

traceroute

Трассировка сетевого пути к узлу

Перед началом настройки внешнего Radius-сервера необходимо убедиться в наличии сетевого доступа к данному серверу.

Примечание

При обнаружении идентичных УЗ в локальной базе данных пользователей и в Radius-сервере, система ARMA Стена осуществляет аутентификацию посредством локальной УЗ.

Добавление внешнего Radius-сервера

Для добавления внешнего Radius-сервера необходимо выполнить следующие настройки:

  1. Указать IP-адрес Radius-сервера и общий ключ, который используется для шифрования обмена данными между ARMA Стена и Radius-сервером:

set system login radius server <address> key <secret>

где:

  • <address> – IP-адрес Radius-сервера в формате <x.x.x.x> для IPv4 или <h:h:h:h:h:h:h:h> для IPv6;

  • <secret> – значение ключа, который используется для шифрования.

  1. Указать порт, через который будет осуществляться доступ к Radius-серверу:

set system login radius server <address> port <port>

где <port> – номер порта. Возможно указать значение в диапазоне от «1» до «65535». По умолчанию используется порт «1812».

Дополнительные команды настройки Radius-сервера

  1. Указать приоритет Radius-серверу:

set system login radius server <address> priority <1-255>

где <1-255> – номер приоритета для указанного Radius-сервера. Возможно указать значение в диапазоне от «1» до «255». По умолчанию используется значение «255». Чем ниже число, тем выше приоритет сервера.

Используется для определения порядка обращения к Radius-серверам при аутентификации.

  1. Установить время ожидания для получения ответа от Radius-сервера:

set system login radius server <address> timeout <timeout>

где <timeout> – время ожидания в секундах. Возможно указать значение в диапазоне от «1» до «50». По умолчанию используется значение «2».

Определяет, как долго ARMA Стена будет ожидать ответ от Radius-сервера. Помогает предотвратить зависание системы при недоступности сервера. При отсутствии ответа в течение заданного времени система перейдёт к локальной аутентификации или к другим настроенным Radius-серверам.

При настройке тайм-аута необходимо определить значение, которое обеспечит оптимальное соотношение между скоростью проверки подлинности и безопасностью. Слишком малое значение тайм-аута может привести к ложным отказам при нормальной работе сети, а слишком большое – к замедлению процесса аутентификации.

  1. Временно отключить указанный Radius-сервера:

set system login radius server <address> disable

Команда временно отключает указанный Radius-сервер, в результате чего система перестаёт обращаться к нему при попытке аутентификации пользователей. Для отмены отключения сервера необходимо удалить данную настройку с помощью команды «delete».

  1. Установить IP-адрес источника, с которого будут отправляться запросы к Radius-серверам:

set system login radius source-address <address>

где <address> – IP-адрес источника в формате <x.x.x.x> для IPv4 или <h:h:h:h:h:h:h:h> для IPv6.

Команда задаёт фиксированный IP-адрес, с которого ARMA Стена будет отправлять запросы ко всем настроенным Radius-серверам. Это особенно важно в случаях, когда Radius-серверы ограничивают доступ только с определённых IP-адресов.

  1. Определить режим безопасности для аутентификации Radius:

set system login radius security-mode optional

где «optional» – режим, при котором осуществляется первичная попытка аутентификации через Radius-сервер, а при неудаче производится попытка локальной аутентификации. Доступ к устройству сохраняется при недоступности Radius-сервера. Режим «optional» предоставляет баланс между безопасностью и доступностью, но требует дополнительного администрирования. Используется по умолчанию.

  1. Указать виртуальную сеть (VRF), через которую будет осуществляться подключение к Radius-серверу:

set system login radius vrf <vrf>

где <vrf> – имя виртуальной сети vrf.

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

Multifactor Radius Adapter

ARMA Стена предоставляет возможность проводить аутентификацию пользователей на удалённом Radius-сервере. В данном примере в качестве Radius-сервера будет использоваться Multifactor Radius Adapter, который доступен в двух версиях: для Windows и для Linux.

Multifactor Radius Adapter - Windows

В качестве примера настройки Multifactor Radius Adapter для Windows будет использоваться стенд, представленный на рисунке (см. Рисунок – Схема стенда для настройки Multifactor Radius Adapter - Windows).

../../../../_images/ngfw.r.cli.access-control_4.1.1.png

Рисунок – Схема стенда для настройки Multifactor Radius Adapter - Windows

Для получения доступа необходимо выполнить следующие шаги:

  1. Настроить ARMA Стена.

  2. Настроить Windows Server.

  3. Проверить работу службы.

Настройка ARMA Стена

Настройка интерфейсов

На первом шаге необходимо предоставить ARMA Стена доступ к интернету. Для этого требуется подключить интерфейс «eth0» к корпоративной сети, назначить ему IP-адрес вручную или через DHCP-сервер и присвоить описание «WAN»:

set interfaces ethernet eth0 address <x.x.x.x/x | dhcp>
set interfaces ethernet eth0 description "WAN"
commit
save

Далее необходимо назначить интерфейсу «eth1», направленному в локальную подсеть, IP-адрес и присвоить ему описание «LAN»:

set interfaces ethernet eth1 address 192.168.1.1/24
set interfaces ethernet eth1 description "LAN"
commit
save

Для просмотра информации о настройках интерфейсов необходимо ввести следующую команду в эксплуатационном режиме (см. Рисунок – Назначенные IP-адреса интерфейсам LAN и WAN):

admin@ngfwos:~$ show interfaces
../../../../_images/ngfw.r.cli.access-control_4.1.1.1.1.png

Рисунок – Назначенные IP-адреса интерфейсам LAN и WAN

Настройка DHCP-сервера

Необходимо настроить DHCP-сервер на интерфейсе «eth1» для автоматической выдачи адресов устройствам в локальной сети:

set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 default-router 192.168.1.1
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 name-server 192.168.1.1
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 lease 86400
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 range 0 start 192.168.1.100
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 range 0 stop 192.168.1.150
commit
save

где:

  • «LAN» – имя пула;

  • «192.168.1.1» – IP-адрес шлюза по умолчанию;

  • «86400» – время аренды IP-адресов в секундах;

  • «192.168.1.100» – начальный IP-адрес пула адресов;

  • «192.168.1.150» – конечный IP-адрес пула адресов.

Настройка DNS-ретрансляции

Команды настройки DNS-ретрансляции:

set service dns forwarding cache-size 0
set service dns forwarding listen-address 192.168.1.1
set service dns forwarding allow-from 192.168.1.0/24
commit
save

где:

  • «cache-size 0» – запись в кэш DNS-ретрансляции отключена;

  • «192.168.1.1» – IP-адрес интерфейса, на котором прослушиваются запросы DNS;

  • «192.168.1.0/24» – подсеть, на которой разрешён доступ к DNS-ретрансляции.

Настройка NAT

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

set nat source rule 11 outbound-interface name eth1
set nat source rule 11 source address 192.168.1.0/24
set nat source rule 11 translation address masquerade
commit
save
Добавление DNS-сервера

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

set system name-server 8.8.8.8
set system name-server 172.16.230.11
commit
save

где:

  • «8.8.8.8» – публичный DNS-сервер google;

  • «172.16.230.11» – DNS-сервер корпоративной сети.

Настройка маршрутизации

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

set protocols static route 0.0.0.0/0 next-hop 172.16.230.1
commit
save
Добавление Radius-server

Для добавления Radius-server необходимо ввести следующие команды:

set system login radius server <192.168.1.x> key <secretRadius>
set system login radius server <192.168.1.x> port 1812
commit
save

где:

  • <192.168.1.x> – IP-адрес, который был выдан Windows Server;

  • <secretRadius> – секретный ключ, который был указан при конфигурировании Radius адаптера.

Настройка Windows Server

Первичная настройка

Перед началом работы необходимо, чтобы был настроен контроллер домена с установленными доменными службами Active Directory.

Настройка контроллера домена под Windows Server
  1. Открыть окно «Сетевые подключения». Для этого необходимо нажать сочетание клавиш «Win» + «R» и в открывшемся окне «Выполнить» ввести команду «ncpa.cpl».

  2. Нажать ПКМ по сетевому адаптеру, выбрать пункт меню «Свойства» и в открывшемся окне «Свойства» перейти в параметры «IP версии 4 (TCP/IPv4)» двойным нажатием ЛКМ (см. Рисунок – Окно свойств сетевого адаптера). Изменить динамические параметры IP и DNS на статические и ввести необходимые значения.

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.1.png

Рисунок – Окно свойств сетевого адаптера

  1. Открыть окно «Свойство системы». Для этого необходимо нажать сочетание клавиш «Win» + «R» и в открывшемся окне «Выполнить» ввести команду «sysdm.cpl». Нажать кнопку «Изменить» и в окне «Изменение имени компьютера или домена» переименовать компьютер в «DC1» (см. Рисунок – Изменение имени хоста).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.2.png

Рисунок – Изменение имени хоста

После применения настроек необходимо перезагрузить компьютер.

  1. После перезагрузки компьютера необходимо открыть «Диспетчер серверов», выбрать опцию «Добавить роли и компоненты», указать сервер DC1 и нажать кнопку «Далее» (см. Рисунок – Выбор целевого сервера).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.3.png

Рисунок – Выбор целевого сервера

  1. В ролях выбрать «DNS-сервер» и «Доменные службы Active Directory», в компонентах оставить всё как есть и следовать мастеру установки (см. Рисунок – Роли сервера).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.4.png

Рисунок – Роли сервера

  1. Далее необходимо настроить Active Directory. Для этого требуется нажать на иконку флага с восклицательным знаком в Диспетчере устройств и выбрать «Повысить роль этого сервера до уровня контроллера домена» (см. Рисунок – Настройка Active Directory).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.5.png

Рисунок – Настройка Active Directory

  1. В открывшемся окне «Мастер настройки доменных служб Active Directory» выбрать «Добавить новый лес» и указать имя корневого домена. Имя «IW2FA.ru» указано в качестве примера (см. Рисунок – Конфигурация Active Directory).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.6.png

Рисунок – Конфигурация Active Directory

  1. На следующем шаге необходимо придумать пароль для службы восстановления каталогов (см. Рисунок – Пароль для службы восстановления каталогов).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.7.png

Рисунок – Пароль для службы восстановления каталогов

  1. Мастер настройки предложит создать делегирование DNS. Однако в данном случае это не требуется, поэтому можно пропустить этот этап.

  2. На следующем этапе мастер настройки автоматически пропишет имя домена NetBIOS. При необходимости возможно изменить его (см. Рисунок – Имя домена NetBIOS).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.1.8.png

Рисунок – Имя домена NetBIOS

  1. Выполнить настройку доменных служб Active Directory в соответствии с инструкциями мастера, не изменяя параметры по умолчанию. По завершении настройки перезагрузить компьютер.

Создание пользователей и групп Active Directory
  1. Перейти в диспетчер серверов, открыть вкладку «Средства» и выбрать «Пользователи и компьютеры Active Directory» (см. Рисунок – Настройка пользователей Active Directory).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.2.1.png

Рисунок – Настройка пользователей Active Directory

  1. В открывшемся окне «Active Directory - пользователи и компьютеры» перейти в лес «IW2FA.ru», нажать ПКМ по директории «Users» и выбрать «Создать». В меню «Создать» выбрать «Пользователь» (см. Рисунок – Добавление пользователя).

../../../../_images/ngfw.r.cli.access-control_4.1.2.1.2.2.png

Рисунок – Добавление пользователя

  1. Откроется окно «Новый объект - Пользователь». Заполнить поля: «Имя», в примере используется имя «User(6)01»; «Имя входа пользователя», в примере используется – «user01». По завершении ввода параметров, нажать кнопку «Далее». Ввести пароль для создаваемого пользователя и установить флажок в чекбокс «Срок действия пароля не ограничен».

  2. По аналогии с созданием пользователей, для создания группы пользователей необходимо нажать ПКМ по директории «Users», выбрать «Создать», после чего выбрать «Группа».

  3. В открывшемся окне «Новый объект - Группа» ввести название группы.

  4. Для добавления пользователей в созданную группу необходимо нажать ПКМ по необходимой группе. В контекстном меню выберите пункт «Добавить в группу…» и в открывшемся окне найти и добавить требуемых пользователей.

Подготовка Radius адаптера
  1. Необходимо скачать актуальную версию утилиты Radius адаптер с официального сайта «https://multifactor.ru». Для этого в пункте «Теория» перейти во вкладку «RADIUS адаптер» и затем во вкладку «Windows версия», далее перейти по ссылке «сборка» (см. Рисунок – Документация Radius адаптера).

../../../../_images/ngfw.r.cli.access-control_4.1.2.2.1.png

Рисунок – Документация Radius адаптера

  1. После загрузки, распаковать скачанный архив и поместить его в корневую папку диска «С» в Windows Server.

Добавление Multifactor Radius Adapter
  1. Перейти на сайт «https://admin.multifactor.ru/account/login» и зарегистрироваться (см. Рисунок – Регистрация на сайте Multifactor).

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.1.png

Рисунок – Регистрация на сайте Multifactor

  1. После завершения регистрации будет запущен мастер настройки многофакторной аутентификации для административной панели. Будет предложено установить приложение Multifactor на смартфон для входа на сайт (см. Рисунок – Установка приложения Multifactor). Если необходимо выбрать другой способ аутентификации, требуется нажать на значок в виде шестерёнки в правом верхнем углу окна настройки, перейти в раздел «Расширенные настройки» и выбрать подходящий способ аутентификации (см. Рисунок – Расширенные настройки).

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.2.png

Рисунок – Установка приложения Multifactor

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.3.png

Рисунок – Расширенные настройки

  1. После добавления способа аутентификации необходимо подтвердить вход в панель администратора с помощью выбранного ранее способа.

  2. В панели администратора перейти в раздел «Ресурсы» и нажать кнопку «Добавить ресурсы» (см. Рисунок – Добавление ресурсов).

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.4.png

Рисунок – Добавление ресурсов

  1. Выбрать добавление ресурса «Другой» и в открывшемся окне указать необходимые настройки (см. Рисунок – Настройка ресурса).

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.5.png

Рисунок – Настройка ресурса

  1. После добавления ресурса откроется окно с его параметрами. Необходимо скопировать параметры «NAS Identifier» и «Shared Secret» (см. Рисунок – Параметры добавленного ресурса). Они необходимы для конфигурирования Radius адаптер на Windows Server и для добавления Radius-server в ARMA Стена.

../../../../_images/ngfw.r.cli.access-control_4.1.2.3.6.png

Рисунок – Параметры добавленного ресурса

Конфигурирование Radius адаптера
  1. Открыть директорию с ранее извлечёнными из архива файлами Radius адаптера. Скопировать файл «cisco with ad.config.template», расположенный в папке «Clients» и переименовать его в «arma with ad.config.template». Удалить расширение «.template», чтобы получилось имя – «arma with ad.config». Таким образом, из предустановленного шаблона получится файл для конфигурации подключения адаптера к ARMA Стена.

  2. Открыть полученный файл «arma with ad.config» для редактирования с помощью программы «Блокнот» и внести следующие изменения в файле (см. Рисунок – Исходный шаблон конфигурации):

  • установить IP-адрес ARMA Стена;

  • ввести придуманный секретный ключ, который будет использоваться при настройке Radius-сервера в ARMA Стена;

  • внести имя домена Active Directory, по которому будет проводиться аутентификация;

  • указать группу, которой предоставляется доступ без второго фактора аутентификации;

  • указать группу, у которой будет запрашиваться второй фактор аутентификации;

  • ввести NAS Identifier, полученный на сайте Multifactor;

  • ввести Shared Secret, полученный на сайте Multifactor.

../../../../_images/ngfw.r.cli.access-control_4.1.2.4.1.png

Рисунок – Исходный шаблон конфигурации

Пример конфигурационного файла, в котором не предусмотрена поддержка группы без второго фактора аутентификации (см. Рисунок – Пример конфигурационного файла):

../../../../_images/ngfw.r.cli.access-control_4.1.2.4.2.png

Рисунок – Пример конфигурационного файла

Запуск Radius адаптера

Компонент может работать как в режиме консоли, так и в качестве службы операционной системы Windows. Для запуска компонента в режиме консоли достаточно запустить приложение.

Для установки Radius адаптера в качестве службы Windows необходимо перейти в папку с файлами адаптера и выполнить команду с ключом «/i» от имени администратора: «MultiFactor.Radius.Adapter.exe /i».

Для удаления Radius адаптера необходимо выполнить команду от имени администратора: «sc delete MFRadiusAdapter».

Проверка работы службы

Примечание

Перед началом работы необходимо отключить брандмауэр Windows!

При входе в NGFW и аутентификации с использованием учётных данных из группы, указанной в поле «active_directory_2fa_group» при настройке адаптера, система предложит зарегистрировать второй фактор аутентификации для пользователя (если он ещё не был зарегистрирован). В случае, если второй фактор уже зарегистрирован, система проверит его (см. Рисунок – Аутентификация):

../../../../_images/ngfw.r.cli.access-control_4.1.3.1.png

Рисунок – Аутентификация

Multifactor Radius Adapter - Linux

В качестве примера настройки Multifactor Radius Adapter для CentOS будет использоваться стенд, представленный на рисунке (см. Рисунок – Схема стенда для настройки Multifactor Radius Adapter - Linux).

../../../../_images/ngfw.r.cli.access-control_4.2.1.png

Рисунок – Схема стенда для настройки Multifactor Radius Adapter - Linux

Инструкции по настройке ARMA Стена и Multifactor Radius Adapter представлены в соответствующих разделах: «Настройка ARMA Стена» и «Добавление Multifactor Radius Adapter».

Настройка CentOS 7

Необходимо внести изменения в конфигурацию сетевого интерфейса CentOS. Для этого следует изменить параметр «ONBOOT» в файле «/etc/sysconfig/network-scripts/ifcfg-eth0» с «ONBOOT=no» на «ONBOOT=yes». После этого необходимо перезагрузить сетевую службу с помощью команды «systemctl restart network». Это позволит интерфейсу автоматически включаться при загрузке системы.

Для начала установки компонента Multifactor Radius Adapter необходимо обновить имеющиеся пакеты и проверить наличие доступа к репозиториям. Это осуществляется с помощью команды «yum -y update && yum -y upgrade». Однако при выполнении этой команды может возникнуть ошибка (см. Рисунок – Возможная ошибка).

../../../../_images/ngfw.r.cli.access-control_4.2.1.1.png

Рисунок – Возможная ошибка

Это свидетельствует о том, что доменное имя зеркал репозиториев не разрешается по неизвестной причине. Данная проблема может быть решена путём настройки других репозиториев, которые находятся в каталоге «/etc/yum.repos.d/CentOS-Base.repo». На следующем рисунке отображены репозитории по умолчанию (см. Рисунок – Репозитории по умолчанию).

../../../../_images/ngfw.r.cli.access-control_4.2.1.2.png

Рисунок – Репозитории по умолчанию

Необходимо закомментировать имеющиеся зеркала и указать другие значения «baseurl» в каждом блоке. В данном примере используются архивы snapshot 2021 г. (см. Рисунок – Комментирование имеющихся зеркал).

../../../../_images/ngfw.r.cli.access-control_4.2.1.3.png

Рисунок – Комментирование имеющихся зеркал

После этих действий команда «yum -y update && yum -y upgrade» выполнится без ошибок.

Далее необходимо установить среду выполнения «APS.NET Core runtime» версии 6:

sudo rpm -Uvh https: packages.microsoft.com/config/centos/7/packages- microsoft-prod.rpm
sudo yum install aspnetcore-runtime-6.0

После этого необходимо сформировать каталог для файлов инструмента, скопировать сборку в созданную папку и создать учётную запись, под которой будет работать служба:

sudo mkdir /opt/multifactor /opt/multifactor/radius/opt/multifactor/radius/logs # создание папок для файлов адаптера
sudo wget https: github.com/MultifactorLab/multifactor-radius-adapter/releases/latest/download/release_linux_x64.zip # клонирование сборки
sudo unzip release_linux_x64.zip -d /opt/multifactor/radius # распаковка архива
sudo useradd -r mfa # создание пользователя
sudo chown -R mfa:mfa /opt/multifactor/radius/ # присвоение директорий пользователю
sudo chown -R mfa:mfa /opt/multifactor/radius/clients
sudo chmod -R 700 /opt/multifactor/radius/ # изменять директории может только пользователь
sudo chmod -R 700 /opt/multifactor/radius/clients

Необходимо создать службу systemd для адаптера. Для этого сначала требуется создать файл службы с помощью команды «sudo vi /etc/systemd/system/multifactor-radius.service», а затем изменить его содержимое:

[Unit]
Description=Multifactor Radius Adapter

[Service]
WorkingDirectory=/opt/multifactor/radius/
ExecStart=/usr/bin/dotnet /opt/multifactor/radius/multifactor-radius- adapter.dll
Restart=always
# Restart service after 10 seconds if the service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=multifactor-radius
User=mfa
Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

# How many seconds to wait for the app to shut down after it receives the initial interrupt signal.
# If the app doesn't shut down in this period, SIGKILL is issued to terminate the app.
# The default timeout for most distributions is 90 seconds.
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target

После этого необходимо выполнить команду для запуска службы: «sudo systemctl enable multifactor-radius».

Затем приступить к редактированию конфигурации серверов Radius. Общие параметры работы компонента хранятся в файле «/opt/multifactor/radius/multifactor-radius-adapter.dll.config» в формате «xml»:

<!-- Адрес и порт (UDP), по которому адаптер будет принимать запросы на аутентификацию от клиентов -->
<add key="adapter-server-endpoint" value="0.0.0.0:1812"/>

<!-- Адрес API MULTIFACTOR -->
<add key="multifactor-api-url" value="https: api.multifactor.ru"/>

<!-- Доступ к API MULTIFACTOR через HTTP прокси (опционально) -->
<!-- <add key="multifactor-api-proxy" value="http: login:password@proxy:3128"/> -->
<!-- Уровень логирования: 'Debug', 'Info', 'Warn', 'Error' -->
<add key="logging-level" value="Debug"/>

Шаблоны для настройки отдельных подключений находятся в каталоге «/opt/multifactor/radius/clients». Для создания необходимой конфигурации, требуется скопировать имеющийся шаблон «cisco with ad.config.template» с помощью команды «cp cisco/with/ad.config.template [указать имя].config». Таким образом, будет скопирован шаблон конфигурации для связи с Active Directory, содержащий следующие данные:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="RadiusReply" type="MultiFactor.Radius.Adapter.RadiusReplyAttributesSection, multifactor-radius-adapter"/>
  </configSections>
  <appSettings>
    <!-- cisco asa ip -->
    <add key="radius-client-ip" value="10.10.10.10"/>
    <!-- shared secret between this service and cisco -->
    <add key="radius-shared-secret" value="0000000000"/>
    <!-- One of: ActiveDirectory, ADLDS, Radius, None -->
    <add key="first-factor-authentication-source" value="ActiveDirectory"/>
    <!-- ActiveDirectory authentication settings: for example domain local on host 10.0.0.4 -->
    <add key="active-directory-domain" value="ldaps:10.0.0.4/DC=domain,DC=local"/>
    <!-- ActiveDirectory access group (optiona): -->
    <add key="active-directory-group" value="UPN Users"/>
    <!-- ActiveDirectory 2FA group (optional) -->
    <add key="active-directory-2fa-group" value="2FA Users"/>
    <!-- get it from multifactor management panel -->
    <add key="multifactor-nas-identifier" value="1"/>
    <!-- get it from multifactor management panel -->
    <add key="multifactor-shared-secret" value="2"/>
   </appSettings>
  <RadiusReply>
    <Attributes>
      <add name="Class" from="memberOf"/>
    </Attributes>
  </RadiusReply>
</configuration>

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

  • поле «radius-client-ip» должно быть изменено на «192.168.1.1», так как Radius-сервер находится в локальной сети, а клиентом является ARMA Стена;

  • поле «radius-shared-secret» должно содержать значение, которое было придумано при настройке аутентификации Radius на ARMA Стена;

  • поле «active-directory-domain» должно быть изменено в соответствии с доменом Active Directory, который присутствует в подсети;

  • поле «active-directory-group» должно быть удалено, чтобы всегда использовался второй фактор аутентификации, указанный в поле «active-directory-2fa-group»;

  • поля «multifactor-nas-identifier» и «multifactor-shared-secret» должны быть взяты из панели администратора при создании ресурса для аутентификации.

Необходимо перезагрузить подсистемы служб и созданную службу для применения изменений:

sudo systemctl daemon-reload
sudo systemctl restart multifactor-radius

Возможные ошибки

  1. В случае возникновения ошибки «Unable to load shared library „ldap.so.2“ or one of its dependencies», необходимо внести коррективы в цепочку таким образом, чтобы симлинк «libldap.so.2» в конечном итоге указывал на конкретную библиотеку «libldap-2.X.so.2.Y.Z».

Пример: libldap.so.2 * libldap-2.4.so.2 это симлинк libldap-2.4.so.2 * libldap_r-2.4.so.2 это симлинк libldap_r-2.4.so.2 * libldap_r-2.4.so.2.11.5 это симлинк libldap_r-2.4.so.2.11.5 это сама библиотека.

Проверка и исправление символических ссылок: для проверки символических ссылок необходимо определить местоположение библиотеки «libldap». Обычно она находится в каталоге «/usr/lib/x86_64-linux-gnu».

Далее необходимо выполнить команду «ls -la», чтобы просмотреть список всех файлов и символических ссылок. Необходимо найти информацию о том, как и кто ссылается на библиотеку «libldap», а также определить, каких ссылок не хватает.

Чаще всего отсутствует одна ссылка – с «libldap.so.2» на основную версию библиотеки. Команды создания недостающего симлинка:

Для Debian и Ubuntu:
ln -s/usr/lib/x86_64-linux-gnu/libldap-2.4.so.2 /usr/lib/x86_64-linux- gnu/libldap.so.2

Для CentOS и REDOS:
ln -s /usr/lib64/libldap_r-2.4.so.2.10.9 /usr/lib64/libldap.so.2 #Версии библиотек могут отличаться

Аналогичные действия выполняются с библиотекой «liblber».

  1. В случае возникновения ошибки «Unable to start: Address already in use», существует два способа её устранения:

  • Если используете запуск адаптера через «/opt/multifactor/radius/multifactor-radius-adapter», то необходимо отключить адаптер как службу:

    sudo systemctl stop multifactor-radius
    sudo systemctl disable multifactor-radius
    sudo rm /etc/systemd/system/multifactor-radius.service
    sudo systemctl daemon-reload
    
  • Перейти в «/opt/multifactor/radius/multifactor-radius-adapter.dll.config», используя команду «sudo nano /opt/multifactor/radius/multifactor-radius-adapter.dll.config», и изменить порт в поле «adapter-server-endpoint».

Аутентификация TACACS (бета)

TACACS (Terminal Access Controller Access-Control System) – это сетевой протокол для удалённой аутентификации и авторизации.

Система ARMA Стена поддерживает TACACS-серверы в качестве серверной части для пользовательской аутентификации.

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

Это бета-функциональность для использования в ознакомительных целях.

Атрибут «cisco-avpair = shell:priv-lvl» в TACACS-сервере предназначен для определения уровня привилегий учётных записей. В системе ARMA Стена реализованы два уровня доступа для учётных записей TACACS-сервера:

Таблица «Список разрешённых команд для УЗ TACACS-сервера с ограниченным доступом»

Режим работы

Команда

Краткое описание

Эксплуатационный

exit

Выход из системы

Эксплуатационный

monitor

Мониторинг системной информации

Эксплуатационный

ping

Отправить запрос эха ICMP

Эксплуатационный

show

Просмотр настроек и журнала событий системы

Эксплуатационный

telnet

Telnet к узлу

Эксплуатационный

traceroute

Трассировка сетевого пути к узлу

Перед началом настройки внешнего TACACS-сервера необходимо убедиться в наличии сетевого доступа к данному серверу.