Расширение 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
. На странице «Обзор» нажмите кнопку «Включить доступ с правами администратора» или кнопку «Ограниченный доступ», которая также доступна на других страницах системы управления. На приведённом ниже снимке экрана эти кнопки выделены красным.В открывшейся форме укажите свой пароль и нажмите кнопку «Проверка подлинности».
После этого в левой панели откройте страницу «Расширенные настройки» (обозначена цифрой
1
на снимке экрана), там перейдите по ссылке «USBGuard» (обозначена цифрой2
на снимке экрана).Перейдите на вкладку «Пользователи».
Добавление пользователя/группы
Для добавления пользователя или группы нажмите кнопку «Добавить пользователя» или «Добавить группу». В открывшемся окне вы можете указать создаваемый тип: «Пользователь» или «Группа», наименование и необходимые разрешения для устройств и правил.

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

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

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

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

В столбце «Статус» отображается текущее состояние USB-устройства:
allow — разрешено;
block — заблокировано.
Для редактирования состояния USB-устройства выделите строку с устройством. В зависимости от текущего статуса устройства станут доступны кнопки «Разблокировать/»Заблокировать».

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

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

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

Доступны следующие атрибуты.
Тип интерфейса (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-устройства. Таким образом, если устройство было подключено на момент создания правила, то правило начнёт действовать после его переподлючения.
Изменение правила
Для изменения правила нажмите на его номер в столбце «№» или на его имя в столбце «Наименование». Откроется окно редактирования правила.

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

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

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