Настройка исключений программ для Linux-агента

Настройка исключений для Linux-агента отличается от Windows. Фактически она управляет внедрением модуля мониторинга (preloader) в процессы и только частично исключает программу из мониторинга.

Preloader — это модуль мониторинга, который внедряется в процессы программ для мониторинга определенных действий.

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

Агент использует несколько механизмов сбора данных, preloader отслеживает только малую часть из них:

  • файловые операции, кроме копирования;

  • контроль печати;

  • доступ к USB;

  • черный список доступа к вебу;

  • перехват терминалов TTY;

  • контроль ВНИ.

Остальные механизмы мониторинга работают независимо от внедрения preloader. Система по‑прежнему фиксирует события: скриншоты экрана, нажатия клавиш, сетевой трафик и пр.

Формат правила

Примечание

Для Linux-агента используется только черный список. Вводите правило исключения только в поле Исключить. Поле Разрешить не используется.

<app>[ <cmdline>][ ...]

Элемент

Описание

<app>

Канонизированный путь исполняемого файла (можно использовать астериск * и остальные метасимволы GNU fnmatch)
или имя GUI-приложения в том виде, как агент передает его на сервер

<cmdline>

Маска для командной строки (необязательно).
Обычно используется со звездочками

...

Три точки в конце правила.
Указывает, что исключение распространяется на все дочерние процессы

Как получить значение <app>

Есть два способа добавить приложение в исключения для агентов Linux:

  • канонизированный путь — используйте для исключения конкретного исполняемого файла;

  • имя GUI-приложения:

    • из интерфейса Staffcop — для исключения всех экземпляров приложения;

    • из WM_CLASS — для разных экземпляров, когда бинарные пути отличаются на разных дистрибутивах или несколько приложений имеют одинаковое имя;

    • из логов агента — универсальный способ для любых процессов, в которые внедряется preloader.

Если из логов исчез связанный с внедрением preloader процесс, исключение сработало — см. как проверить в разделе Лог агента.

Внимание

Все способы требуют анализа поведения процессов и формата логов агента. Создание правила — задача экспертного уровня. Если вы не уверены в корректности правила, обратитесь в техническую поддержку.

Канонизированный путь

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

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

Чтобы узнать путь:

  1. Запустите приложение и выполните команду:

realpath /proc/$(pgrep -n <имя_процесса>)/exe

Пример для Firefox:

realpath /proc/$(pgrep -n firefox)/exe
  1. В результате будет выведен полный путь к исполняемому файлу, например:

/snap/firefox/3836/usr/lib/firefox/firefox

Внимание

Если определить путь не удается или возникли другие вопросы, обратитесь в техническую поддержку.

  1. Добавьте полученный путь в поле Исключить.

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

Исключение сработает только для приложений, которые откроет пользователь после применения исключений к агентам.

Примечание

Исключение всегда должно начинаться со слэша /. Даже если маска начинается со звездочки, она не сработает без слэша. Пример: /*/dotnet* — корректно, */dotnet* — неправильно.

Имя GUI-приложения из интерфейса

Внимание

Linux различает регистр символов: Google-chrome и google-chrome считаются разными именами.
Исключение по имени GUI-приложения не распространяется на его фоновые или дочерние процессы без интерфейса. Чтобы игнорировать их события, задайте отдельное исключение.

Вместо пути можно указать имя приложения из интерфейса Staffcop. Тогда будут заблокированы все приложения с одинаковым именем.

  1. Перейдите в конструкторе в измерение Приложение и выберите атрибут Описание.

  2. Откроется список приложений. Найдите в нем целевое приложение.

  3. Имя приложения будет в колонке Приложения в таблице справа.

../../_images/app_name.png

Примечание

Чтобы исключение действовало на дочерние процессы, используйте многоточие (…) в конце правила.

Пример:

firefox *-abcd* ... # запрет для Firefox, запущенного с ключом командной строки -abcd, и всех дочерних процессов
  1. Добавьте имя приложения в поле Запретить.

  2. Исключение сработает только для процессов, которые будут запущены после получения исключения агентами. Рекомендуется перезагрузка компьютера.

WM_CLASS

Узнать имя приложения через атрибут WM_CLASS из логов агента. WM_CLASS помогает системе различать приложения с одинаковыми бинарными именами или разными путями установки. Используйте этот способ, если бинарные пути отличаются на разных дистрибутивах.

sudo /usr/share/staff/agent log | grep wm_class

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

2026-04-14 19:36:03,433 D XAct sts:0: wm_class: terminator//Terminator -> Terminator

В исключение нужно указать Terminator.

Лог агента

Этот способ подходит для любых процессов, в которые внедряется preloader. Он позволяет определить точное имя процесса и его командную строку.

Как найти процесс в логе:

sudo /usr/share/staff/agent log,Socket:,init

При попадании процесса под перехват в логе появляется строка. Эта строка — единственный достоверный источник данных для составления исключения. Если после добавления исключения строка перестала появляться, исключение сработало.

Пример строки из лога:

2026-04-06 17:42:51,665 D Socket: 6RyqKrElmTC init (3) 20260406150512 root unknown0 /usr/lib/xorg/Xorg /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

где:

  • имя процесса — первое /usr/lib/xorg/Xorg,

  • командная строка (cmdline) — от второго /usr/lib/xorg/Xorg и до конца строки.

Пример исключения для этого процесса (и всех его потомков, если бы они были):

/*/Xorg */Xorg*auth*root* ...

Примеры исключений

Маска

Описание

/*/*sh */opt/kaspersky/* ...

Исключает preloader для любых шелл-скриптов из каталогов,
содержащих в себе подстроку /opt/kaspersky/ и все их дочерние процессы

/*/*sh */kesl/* ...

Шелл-скрипты из любой директории kesl и их дочерние процессы

/*/*sh *starter* ...

Процессы с именем вида /bin/bash, содержащие в командной строке starter

/*/dotnet*  ...

Все приложения .NET, независимо от каталога.
В Linux-агенте .NET-приложения запускаются через процесс dotnet

/*/bash *bin/rstudio* ...

Среда RStudio

/*/bash *bin/xfreerdp*

Клиент удаленного рабочего стола xfreerdp

/* *-abcd-*

Запрещает внедрение preloader во ВСЕ процессы, у которых есть -abcd в командной строке

Последнее обновление: 20.04.26