Перейти к основному содержимому
Версия: 7.3

Добавление нового правила

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

Пример заполненной страницы «Новое правило»

Рис. 1 — Пример заполненной страницы «Новое правило»

Каждое правило описывается следующими полями:

  • commands – список команд. Каждая команда представляет собой строку определенного вида;
  • condition – условие. Описывает, как должны агрегироваться результаты команд;
  • description – текстовое поле, содержащее общее описание назначения правила. Уточняет, какие настройки проверяются, что должна выполнять команда и за что отвечают соответствующие параметры в конфигурации. Может также в себя включать текстовые рекомендации по безопасным параметрам конфигурации;
  • group – заполняется пользователем и используется для логической группировки правил. Например, аутентификация и авторизация, управление пользователями, аудит и логирование, удалённый доступ, сетевые протоколы, файловая система и права доступа;
  • before_commands – список команд, которые выполняются перед основными командами правила. Используется для настройки окружения перед выполнением проверки. Наиболее актуально для роутеров, где может потребоваться переход в нужный режим CLI, но также может применяться в других окружениях, например, для установки переменных окружения или подготовки сессии.

Условие может иметь следующие значения:

  • any – выполнять команды до первой с результатом PASSED;
  • all – выполнять команды до первой с результатом NOT_PASSED или INVALID.

Команды могут проверять наличие файлов, директорий, элементов в xml-документах, разделов и значений реестра, запущенных процессов, рекурсивно проверять наличие файлов внутри директорий. Когда дело доходит до проверки содержимого, команды могут проверять содержимое файлов, вывод команд и значения разделов реестра, рекурсивно проверять содержимое файлов внутри директорий.

Абстрактно, команда начинается с цели и ее типа. За целью следует описание проверки. Проверки делятся на две категории: проверка наличия и проверка содержимого. Тип цели указан в таблице ниже, и этой целью может быть файл, директория, xml-документ, название процесса, команда или раздел реестра.

Команда завершается с одним из трех результатов:

  • PASSED – команда выполнилась успешно. Например, проверялось наличие файла и файл был обнаружен;
  • NOT_PASSED – команда выполнилась неуспешно. Например, проверялось наличие определенной строки в файле и строка не нашлась;
  • INVALID – команда выполнилась некорректно. Например, на активе не оказалось необходимой для выполнения команды утилиты или было разорвано соединение с активом.

Примеры написания команд

Проверяет, что файл существует:

file:/proc/sys/net/ipv4/ip_forward

Проверяет, что содержимое файла соответствует всей строке:

file:/proc/sys/net/ipv4/ip_forward -> 1

Проверяет, что root единственный аккаунт с UID равным 0:

file:/etc/passwd -> !r:^# && !r:^root: && r:^\w+:\w+:0:

Проверяет, что директория существует:

dir:/etc/mysql

Проверяет, что директория содержит файлы:

dir:/home -> ^.mysql_history$

Проверяет, что атрибут элемента xml-документа равен 1:

xml:C:\ProgramData\Security Code\Secret Net Studio\Client\Control Center\DefaultTemplatesSettings.xml -> //Template[Nodes/Node[@path='TemplateInfo' and a[@name='name']]]/Nodes/Node[@path='Basic']/Node[@path= 'GinaMode']/a[@name='value']/@value -> 1

Проверяет, что процесс существует:

proc:avahi-daemon

Проверяет конфигурацию sshd на предмет максимального количества попыток аутентификации:

cmd:sshd -T -> !r:^\s*maxauthtries\s+4\s*$

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

reg:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ Netlogon\Parameters -> MaximumPasswordAge -> 0

Более подробное описание синтаксиса написания правил указано в подсказке на странице «Новое правила», которую можно раскрыть, нажав на кнопку « Иконка интерфейса » в верхней правой части страницы.