Расширение USBGuard для Cockpit

Введение

Расширение USBGuard для Cockpit работает на основе программной платформы USBGuard и помогает защитить компьютер от мошеннических USB-устройств, внедряя базовые возможности белого и чёрного списков на основе атрибутов USB-устройств.

Установка расширения для Cockpit

Установите расширение для панели управления Cockpit с помощью следующей команды:

$ sudo dnf install cockpit-msvsphere-usbguard

Запустите сервис usbguard с помощью следующей команды:

$ sudo systemctl enable --now usbguard.service

По умолчанию USBGuard блокирует USB-устройства, не соответствующие правилам. После запуска сервиса usbguard в «белый» список добавятся все текущие подключённые устройства. Все новые подключённые USB-устройства будут блокироваться.

Настройка

Настройка пользователей

По умолчанию для работы с расширением USBGuard требуются права пользователя root или же пользователь должен состоять в группе wheel. Изменить настройки и добавить нового пользователя/группу может пользователь с правами администратора. Для этого выполните следующие действия.

  • Войдите в панель управления Cockpit. На странице «Обзор» нажмите кнопку «Включить доступ с правами администратора» или кнопку «Ограниченный доступ», которая также доступна на других страницах системы управления. На приведённом ниже снимке экрана эти кнопки выделены красным.

    Cockpit: страница "Обзор"
  • В открывшейся форме укажите свой пароль и нажмите кнопку «Проверка подлинности».

    Cockpit: форма получения прав администратора
  • После этого в левой панели откройте страницу «Расширенные настройки» (обозначена цифрой 1 на снимке экрана), там перейдите по ссылке «USBGuard» (обозначена цифрой 2 на снимке экрана).

    Cockpit: страница "Расширенные настройки"
  • Перейдите на вкладку «Пользователи».

    Cockpit: вкладка "Пользователи"

Добавление пользователя/группы

Для добавления пользователя или группы нажмите кнопку «Добавить пользователя» или «Добавить группу». В открывшемся окне вы можете указать создаваемый тип: «Пользователь» или «Группа», наименование и необходимые разрешения для устройств и правил.

Cockpit: вкладка "Пользователи", форма добавления

Разрешения для устройств включают следующие значения.

  • Просмотр (list) — получать список подключённых USB-устройств и их атрибуты.

  • Редактирование (modify) — изменять состояние авторизации USB-устройств (блокировка/разблокировка), включая постоянные изменения (т.е. изменение конкретных правил или устройств в политике).

  • Прослушивание (listen) — получать уведомления о подключении устройств и изменении политики устройств.

Разрешения для правил включают следующие значения.

  • Просмотр (list) — получать список правил.

  • Редактирование (modify) — изменять и удалять правила.

После добавления пользователя сервис usbguard будет перезапущен.

Cockpit: вкладка "Пользователи", форма добавления

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

Изменение пользователя/группы

Для изменения пользователя/группы нажмите на него в таблице. В открывшемся окне вы можете изменить требуемые разрешения. После сохранения изменений сервис usbguard будет перезапущен.

Cockpit: вкладка "Пользователи", форма редактирования

Удаление пользователя/группы

Для удаления пользователя/группы нажмите на кнопку «Удалить» в таблице пользователей и подтвердите действие. После удаления сервис usbguard будет перезапущен.

Cockpit: вкладка "Пользователи", удаление

Список USB-устройств

На вкладке отображается список текущих подключённых USB устройств.

Cockpit: вкладка "Список USB устройств"

В столбце «Статус» отображается текущее состояние USB-устройства:

  • allow — разрешено;

  • block — заблокировано.

Для редактирования состояния USB-устройства выделите строку с устройством. В зависимости от текущего статуса устройства станут доступны кнопки «Разблокировать/»Заблокировать».

Cockpit: вкладка "Список USB устройств", выделенный список

Нажмите на кнопку выбранного действия и подтвердите его в открывшемся окне.

Cockpit: вкладка "Список USB устройств", выделенный список, подтверждение

После подтверждения будет добавлено соответствующее правило для выбранных устройств.

Также в данном разделе доступна кнопка «Обновить список подключённых устройств» для обновления списка после подключения или удаления USB-устройств.

Список правил

На вкладке «Список правил» отображается список текущих правил для USB-устройств, основанный на их атрибутах.

Cockpit: вкладка "Список правил"

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

Для добавления правила нажмите на кнопку «Добавить». Откроется окно с формой добавления.

Cockpit: вкладка "Список правил", форма добавления

Доступны следующие атрибуты.

  • Тип интерфейса (CC:SS:PP) — тип интерфейса указывается как три 8-битных числа в шестнадцатеричном формате, разделённых двоеточием (CC:SS:PP). Числа обозначают класс интерфейса (CC), подкласс (SS) и протокол (PP). Пример списка классов. Вместо номера подкласса и протокола можно использовать символ *, чтобы выбрать все подклассы или протоколы. Также есть возможность указать несколько типов, при этом значения должны быть разделены пробелом и обрамлены фигурными скобками. Например: { 03:01:01 03:00:00 }.

  • Наименование — название устройства.

  • ID — значение по маске VID:PID (<ID вендора>:<ID продукта>). Формат — 16-битные числа в шестнадцатеричном формате. В значении может быть указан символ *, чтобы выбрать все значения.

  • Порт — USB-порт устройства.

  • Серийный номер устройства.

  • Хеш устройства.

  • Статус — может принимать одно из значений: block — заблокировать устройство, allow — разрешить, reject — удалить устройство из системы.

Правило вступает в силу после подключения USB-устройства. Таким образом, если устройство было подключено на момент создания правила, то правило начнёт действовать после его переподлючения.

Изменение правила

Для изменения правила нажмите на его номер в столбце «№» или на его имя в столбце «Наименование». Откроется окно редактирования правила.

Cockpit: вкладка "Список правил", форма редактирования

Удаление правил

Для удаления правила выберите его в списке и нажмите на кнопку «Удалить». В открывшемся окне подтвердите свои действия.

Cockpit: вкладка "Список правил", удаление

Предустановки

В разделе «Предустановки» вы можете отключить правила, а также добавить общие правила для некоторых классов USB-устройств.

Cockpit: вкладка "Предустановки"

Белый список

  • Заблокировать все кроме подключённых USB-устройств — все текущие правиле будут удалены, затем на основе списка подключённых устройств будут сгенерированы и добавлены новые правила. Также в конфигурационном файле USBGuard %sysconfdir%/usbguard/rules.conf значение ImplicitPolicyTarget (статус для новых устройств, не подходящих под текущие правила) будет изменено на block (по умолчанию).

Чёрный список

  • Блокировка USB накопителей — добавление правила с типом интерфейса 08:*:*.

  • Блокировка USB модемов — добавление правила с типом интерфейса 02:*:*

  • Блокировка USB видео устройств — добавление правила с типом интерфейса 0e:*:*