Alterator-usbguard: различия между версиями
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 12: | Строка 12: | ||
* сканирование подключенных устройств; | * сканирование подключенных устройств; | ||
* выбор и добавление устройств в набор правил из списка подключенных устройств; | * выбор и добавление устройств в набор правил из списка подключенных устройств; | ||
* создание | * создание предустановленных правил для распространённых сценариев; | ||
* создание правил по дескрипторам интерфейса: CC:SS:PP; | * создание правил по дескрипторам интерфейса: CC:SS:PP; | ||
* создание правил по свойствам USB-устройства: PID, VID; | * создание правил по свойствам USB-устройства: PID, VID; | ||
Строка 21: | Строка 21: | ||
* просмотр журнала событий подключения/отключения USB-устройств. | * просмотр журнала событий подключения/отключения USB-устройств. | ||
Для уведомления пользователя о подключённом | Для уведомления пользователя о подключённом и заблокированном устройстве сообщением в трее используется модуль уведомлений (пакет {{pkgL|usbguard-notifier}}). | ||
{{Note|Не рекомендуется использовать USB-устройства с не читаемым или коротким серийным номером.}} | |||
== Запуск == | == Запуск == | ||
Строка 31: | Строка 33: | ||
== Использование модуля == | == Использование модуля == | ||
=== | === Запуск/останов службы === | ||
В информационном поле отображается текущее состояние службы usbguard, список пользователей и групп, которые могут редактировать правила, сообщения об ошибках и предупреждения: | В информационном поле отображается текущее состояние службы usbguard, список пользователей и групп, которые могут редактировать правила, сообщения об ошибках и предупреждения: | ||
[[Файл:Alterator-usbguard-01.png| | [[Файл:Alterator-usbguard-01.png|Информационное поле]] | ||
{{Note| Добавить/удалить пользователя/группу, которые могут редактировать правила, можно в командной строке (см. [[USBGuard]]).}} | {{Note| Добавить/удалить пользователя/группу, которые могут редактировать правила, можно в командной строке (см. [[USBGuard]]).}} | ||
Для включения контроля за USB-устройствами необходимо установить отметку в пункте | Для включения контроля за USB-устройствами необходимо установить отметку в пункте | ||
«Активировать контроль портов» и нажать кнопку | «Активировать контроль портов» и нажать кнопку «Проверить», а затем кнопку «Применить». Служба usbguard будет запущена и добавлена в автозагрузку: | ||
[[Файл:Alterator-usbguard-01_2.png|Служба usbguard запущена и добавлена в автозагрузку]] | |||
{{Attention|По умолчанию будет установлен режим «Белый список: Заблокировать все, кроме подключенных устройств», поэтому все подключенные устройства будут добавлены в список разрешённых, а все новые USB-устройства будут блокироваться. | |||
Изменить поведение по умолчанию можно, установив нужный режим перед запуском службы usbguard см. [[Alterator-usbguard#Предустановки|Предустановки]]. }} | |||
Для отключения контроля за USB-устройствами необходимо снять отметку с поля «Активировать контроль портов», нажать кнопку «Проверить», а затем кнопку «Применить» и перезагрузить систему. | |||
=== Список USB-устройств === | === Список USB-устройств === | ||
Строка 46: | Строка 56: | ||
Если служба usbguard запущена, в веб-интерфейсе будет отображён список текущих подключённых устройств: | Если служба usbguard запущена, в веб-интерфейсе будет отображён список текущих подключённых устройств: | ||
[[Файл:Alterator-usbguard-02.png| | [[Файл:Alterator-usbguard-02.png|Список текущих подключённых USB-устройств]] | ||
В столбце «Статус» отображается текущее состояние USB-устройства («allow» — разрешённое устройство, «block» — заблокированное устройство). | В столбце «Статус» отображается текущее состояние USB-устройства («allow» — разрешённое устройство, «block» — заблокированное устройство). | ||
Строка 55: | Строка 65: | ||
если активен «Чёрный список», то для устройства со статусом «allow» будет активна кнопка «Заблокировать».}} | если активен «Чёрный список», то для устройства со статусом «allow» будет активна кнопка «Заблокировать».}} | ||
Кнопка | Кнопка «Сканировать устройства» позволяет обновить список подключённых USB-устройств. | ||
=== Предустановки === | === Предустановки === | ||
Строка 67: | Строка 77: | ||
#*«Белый список»: | #*«Белый список»: | ||
#**«Заблокировать все, кроме подключенных устройств» — в правила (таблица «Хэш») с действием «allow» будут добавлены все подключенные устройства. Все новые USB-устройства будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | #**«Заблокировать все, кроме подключенных устройств» — в правила (таблица «Хэш») с действием «allow» будут добавлены все подключенные устройства. Все новые USB-устройства будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | ||
#**«Заблокировать все, кроме подключенных и HID/HUB устройств» — в правила с действием «allow» будут добавлены все подключенные устройства (таблица «Хэш») и все устройства с интерфейсами 03:*:* (таблица «Маски CC:SS:PP»). Все новые USB-устройства кроме HID/HUB-устройств (клавиатуры, мыши, джойстики, USB-концентраторы) будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | #**«Заблокировать все, кроме подключенных и HID/HUB устройств» — в правила с действием «allow» будут добавлены все подключенные устройства (таблица «Хэш») и все устройства с интерфейсами 03:*:* и 09:*:* (таблица «Маски CC:SS:PP»). Все новые USB-устройства кроме HID/HUB-устройств (клавиатуры, мыши, джойстики, USB-концентраторы) будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | ||
#**«Ручной режим» — позволяет установить свои правила. | #**«Ручной режим» — позволяет установить свои правила. | ||
#*«Чёрный список»: | #*«Чёрный список»: | ||
#**«Блокировать устройства по классам дескриптора интерфейса: 06 Image и 08 Mass | #**«Блокировать устройства по классам дескриптора интерфейса: 06 Image и 08 Mass Storage» — в правила (таблица «Маски CC:SS:PP») с действием «block» будут добавлены все устройства с интерфейсами 08:*:* и 06:*:*. Все USB-устройства Mass Storage Device (USB-накопитель, карта памяти, кардридер, цифровая фотокамера) и Image (веб-камера, сканер) будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | ||
#**«Блокировать устройства по списку известных PID:VID, использующих Аndroid Debug | #**«Блокировать устройства по списку известных PID:VID, использующих Аndroid Debug Bus» — в правила (таблица «Маски VID:PID») с действием «block» будут добавлены известные Android-устройства. Все Android-устройства будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»); | ||
#**«Ручной режим» — позволяет установить свои правила. | #**«Ручной режим» — позволяет установить свои правила. | ||
# Нажать кнопку | # Нажать кнопку «Проверить». Будут показаны планируемые изменения, например: | ||
#:[[Файл:Alterator-usbguard-03.png|Планируемые изменения]] | #:[[Файл:Alterator-usbguard-03.png|Планируемые изменения]] | ||
# Если изменения корректные, нажать кнопку | # Если изменения корректные, нажать кнопку «Применить». | ||
# Для отмены изменений, до нажатия кнопки | # Для отмены изменений, до нажатия кнопки «Применить», следует выбрать пункт «Ручной режим» и нажать кнопку «Проверить», а затем «Применить». | ||
=== Добавление/удаление правил === | === Добавление/удаление правил === | ||
Для добавления нового правила должен быть выбран пункт «Ручной режим» в белом или чёрном списках. Если «Ручной режим» выбран в белом списке, правило будет добавлено с действием «allow», если в чёрном — с действием «block». | Для добавления нового правила должен быть выбран пункт «Ручной режим» в белом или чёрном списках. Если «Ручной режим» выбран в белом списке, правило будет добавлено с действием «allow», если в чёрном — с действием «block». | ||
==== Правила по | ==== Правила по классу интерфейса ==== | ||
Назначение USB-устройств может определяться кодами классов, которые сообщаются USB-узлу для загрузки необходимых драйверов. Коды классов позволяют унифицировать работу с однотипными устройствами разных производителей. Устройство может поддерживать один или несколько классов, максимальное количество которых определяется количеством доступных endpoints. Например, широко известны устройства класса Human Interface Device, HID (мыши, клавиатуры, игровые манипуляторы и т.д.) или устройства Mass Storage (USB-накопители, карты памяти и т.д.). | Назначение USB-устройств может определяться кодами классов, которые сообщаются USB-узлу для загрузки необходимых драйверов. Коды классов позволяют унифицировать работу с однотипными устройствами разных производителей. Устройство может поддерживать один или несколько классов, максимальное количество которых определяется количеством доступных endpoints. Например, широко известны устройства класса Human Interface Device, HID (мыши, клавиатуры, игровые манипуляторы и т.д.) или устройства Mass Storage (USB-накопители, карты памяти и т.д.). | ||
{{Note| Класс интерфейса указывается как три 8-битных числа в шестнадцатеричном формате, разделенных двоеточием (CC:SS:PP). Числа обозначают класс интерфейса (CC), подкласс (SS) и протокол (PP). Вместо номера подкласса и протокола можно использовать символ *, чтобы соответствовать всем подклассам или протоколам. Сопоставление определенного класса и определенного протокола не допускается, т.е. если в качестве номера подкласса используется *, то для протокола также необходимо использовать *.}} | |||
Добавление правила по маске: | Добавление правила по маске: | ||
Строка 88: | Строка 100: | ||
# В поле «CC:SS:PP» вписать маску, например, правило для всех устройств с интерфейсами 09:*:*: | # В поле «CC:SS:PP» вписать маску, например, правило для всех устройств с интерфейсами 09:*:*: | ||
#:[[Файл:Alterator-usbguard-04.png|Добавление правила для всех устройств с интерфейсами 09:*:* ]] | #:[[Файл:Alterator-usbguard-04.png|Добавление правила для всех устройств с интерфейсами 09:*:* ]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным: | ||
#:[[Файл:Alterator-usbguard-05.png|Проверка правила]] | #:[[Файл:Alterator-usbguard-05.png|Проверка правила]] | ||
# Исправить или удалить | # Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для активации правила. Правило для всех устройств с интерфейсами 09:*:* добавлено: | ||
#:[[Файл:Alterator-usbguard-06.png|Правило для всех устройств с интерфейсами 09:*:* добавлено]] | #:[[Файл:Alterator-usbguard-06.png|Правило для всех устройств с интерфейсами 09:*:* добавлено]] | ||
Строка 98: | Строка 110: | ||
# Нажать кнопку «Удалить». Правило будет готово к удалению (отображается зачёркнутым): | # Нажать кнопку «Удалить». Правило будет готово к удалению (отображается зачёркнутым): | ||
#:[[Файл:Alterator-usbguard-07.png|Удаление правила для всех устройств с интерфейсами 03:*:*]] | #:[[Файл:Alterator-usbguard-07.png|Удаление правила для всех устройств с интерфейсами 03:*:*]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для удаления правила. | ||
==== Правила по VID&PID ==== | ==== Правила по VID&PID ==== | ||
Каждое USB-устройство содержит атрибуты, куда входит идентификатор разработчика устройства (VID) и идентификатор изделия (PID). На основании этих идентификаторов узел (компьютер) ищет методы работы с этим устройством (обычно это выражается в требовании установить драйверы, поставляемые разработчиком устройства). | Каждое USB-устройство содержит атрибуты, куда входит идентификатор разработчика устройства (VID) и идентификатор изделия (PID). На основании этих идентификаторов узел (компьютер) ищет методы работы с этим устройством (обычно это выражается в требовании установить драйверы, поставляемые разработчиком устройства). | ||
{{Note| И VID и PID — это 16-битные числа в шестнадцатеричной системе счисления. В правиле можно также использовать символ *: | |||
* для соответствия любому идентификатору устройства *:* | |||
* для соответствия любому идентификатору продукта от конкретного поставщика, например, 090с:* | |||
[[Файл:Alterator-usbguard-21.png|Соответствие любому идентификатору устройства от поставщика 090с]]}} | |||
Добавление правила по VID&PID: | Добавление правила по VID&PID: | ||
Строка 108: | Строка 126: | ||
# В поле «VID» вписать идентификатор разработчика устройства (VID), а в поле «PID» идентификатор изделия (PID). Например: | # В поле «VID» вписать идентификатор разработчика устройства (VID), а в поле «PID» идентификатор изделия (PID). Например: | ||
#:[[Файл:Alterator-usbguard-08.png|Добавление правила по VID&PID ]] | #:[[Файл:Alterator-usbguard-08.png|Добавление правила по VID&PID ]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным: | ||
#:[[Файл:Alterator-usbguard-09.png|Проверка правила]] | #:[[Файл:Alterator-usbguard-09.png|Проверка правила]] | ||
# Исправить или удалить | # Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для активации правила. | ||
Удаление правил(а) по VID&PID: | Удаление правил(а) по VID&PID: | ||
# В таблице «Маски VID | # В таблице «Маски VID:PID» установить отметку в поле с соответствующим правилами: | ||
#:[[Файл:Alterator-usbguard-10.png|Выделение правил]] | #:[[Файл:Alterator-usbguard-10.png|Выделение правил]] | ||
# Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым): | # Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым): | ||
#:[[Файл:Alterator-usbguard-11.png|Правила готовы к удалению]] | #:[[Файл:Alterator-usbguard-11.png|Правила готовы к удалению]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для удаления правил. | ||
==== Правила по хэшу ==== | ==== Правила по хэшу ==== | ||
Строка 129: | Строка 147: | ||
# В поле «Хэш» вписать хэш устройства. Например: | # В поле «Хэш» вписать хэш устройства. Например: | ||
#:[[Файл:Alterator-usbguard-12.png|Добавление правила по хэшу ]] | #:[[Файл:Alterator-usbguard-12.png|Добавление правила по хэшу ]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным. | ||
# Исправить или удалить | # Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для активации правила. | ||
Удаление правил(а) по хэшу: | Удаление правил(а) по хэшу: | ||
Строка 137: | Строка 155: | ||
#:[[Файл:Alterator-usbguard-13.png|Выделение правил]] | #:[[Файл:Alterator-usbguard-13.png|Выделение правил]] | ||
# Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым). | # Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым). | ||
# Нажать кнопку | # Нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для удаления правил(а). | ||
==== Другие правила ==== | ==== Другие правила ==== | ||
Модуль позволяет создать сложные | Модуль позволяет создать сложные правила с дополнительными условиями. | ||
Добавление правила: | Добавление правила: | ||
Строка 147: | Строка 165: | ||
# В поле «Правило» вписать правило. Например, правило, разрешающее подключение принтера только через определённый порт: ''allow id 04a9:177a name "Canon E400" serial "F572EC" via-port "1-2" hash "eql9yA8m+5VVMmhXOvbUzwNPDGCAPq+fxIQHvbptlsY="'': | # В поле «Правило» вписать правило. Например, правило, разрешающее подключение принтера только через определённый порт: ''allow id 04a9:177a name "Canon E400" serial "F572EC" via-port "1-2" hash "eql9yA8m+5VVMmhXOvbUzwNPDGCAPq+fxIQHvbptlsY="'': | ||
#:[[Файл:Alterator-usbguard-14.png|Добавление сложного правила ]] | #:[[Файл:Alterator-usbguard-14.png|Добавление сложного правила ]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным. | ||
# Исправить или удалить | # Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для активации правила. | ||
#:[[Файл:Alterator-usbguard-15.png|Список сложных правил]] | #:[[Файл:Alterator-usbguard-15.png|Список сложных правил]] | ||
Строка 156: | Строка 174: | ||
# Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым): | # Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым): | ||
#:[[Файл:Alterator-usbguard-17.png|Правило готово к удалению]] | #:[[Файл:Alterator-usbguard-17.png|Правило готово к удалению]] | ||
# Нажать кнопку | # Нажать кнопку «Проверить». | ||
# Нажать кнопку | # Нажать кнопку «Применить» для удаления правила. | ||
==== Загрузка правил из файла ==== | ==== Загрузка правил из файла ==== | ||
Строка 177: | Строка 195: | ||
# Нажать кнопку «Обзор» (под таблицей «Хэш») и выбрать файл с правилами: | # Нажать кнопку «Обзор» (под таблицей «Хэш») и выбрать файл с правилами: | ||
#:[[Файл:Alterator-usbguard-18.png|Выбор файла с правилами]] | #:[[Файл:Alterator-usbguard-18.png|Выбор файла с правилами]] | ||
# Нажать кнопку «Загрузить из файла» | # Нажать кнопку «Загрузить из файла». | ||
# Нажать кнопку | # Нажать кнопку «Проверить»: | ||
#:[[Файл:Alterator-usbguard-19.png|Проверка правил, загруженных из файла]] | #:[[Файл:Alterator-usbguard-19.png|Проверка правил, загруженных из файла]] | ||
# Нажать кнопку | # Нажать кнопку «Применить». | ||
{{Attention|При загрузке правил из файла политика тоже будет выбрана из файла. Если в файле указана политика противоположная текущей, все существующие правила будут удалены, например: | {{Attention|При загрузке правил из файла политика тоже будет выбрана из файла. Если в файле указана политика противоположная текущей, все существующие правила будут удалены, например: | ||
Строка 186: | Строка 204: | ||
[[Файл:Alterator-usbguard-20.png|Политика правил, загруженных из файла, противоположна текущей политике]]}} | [[Файл:Alterator-usbguard-20.png|Политика правил, загруженных из файла, противоположна текущей политике]]}} | ||
=== Просмотр журнала аудита === | |||
Для просмотра журнала событий подключения/отключения USB-устройств необходимо нажать кнопку «Журнал», расположенную в левом нижнем углу модуля. | |||
По нажатию на эту кнопку раскрывается журнал аудита: | По нажатию на эту кнопку раскрывается журнал аудита: | ||
[[Файл:Alterator-usbguard-log-01.png|Журнал аудита]] | [[Файл:Alterator-usbguard-log-01.png|Журнал аудита]] | ||
Передвигаться по журналу к более старым или более новым записям можно с помощью кнопок | Передвигаться по журналу к более старым или более новым записям можно с помощью кнопок «Назад» и «Вперёд». | ||
Есть возможность фильтровать данные с помощью специального поля. | Есть возможность фильтровать данные с помощью специального поля. | ||
{{Note|Фильтрация по логу USBGuard | {{Note|Фильтрация по логу USBGuard — строгая, регистрозависимая.}} | ||
Для того чтобы скрыть панель журнала, необходимо нажать кнопку | Для того чтобы скрыть панель журнала, необходимо нажать кнопку «Свернуть». | ||
== Модуль уведомлений для USBGuard == | == Модуль уведомлений для USBGuard == | ||
Строка 207: | Строка 225: | ||
[[Файл:Usbguard-notifier-01.png|Сообщение о блокировке USB-устройства]] | [[Файл:Usbguard-notifier-01.png|Сообщение о блокировке USB-устройства]] | ||
Для возможности оповещения пользователя о блокировке USB-устройств | Для возможности оповещения пользователя о блокировке USB-устройств достаточно установить пакет {{pkgL|usbguard-notifier}}: | ||
<syntaxhighlight lang="bash"># apt-get install usbguard-notifier</syntaxhighlight> | |||
{{Note|После установки служба '''usbguard-notifier''' будет добавлена в автозагрузку. Если необходимо исключить данную службу из автозагрузки, необходимо выполнить команду: | |||
<syntaxhighlight lang="bash"># systemctl --global disable usbguard-notifier.service</syntaxhighlight> | |||
}} | |||
{{Category navigation|title=Модули Alterator|category=Модули Alterator|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Модули Alterator|category=Модули Alterator|sortkey={{SUBPAGENAME}}}} | ||
[[Категория:Модули Alterator]] | [[Категория:Модули Alterator]] |
Текущая версия от 13:49, 25 октября 2024
Название пакета
Назначение
Модуль USBGuard предназначен для настройки ограничений на использование USB-устройств. Модуль работает на основе функционала USBGuard, позволяет вести чёрный и белый списки ограничений и предоставляет два типа действий — allow/block.
Модуль предоставляет следующие возможности:
- сканирование подключенных устройств;
- выбор и добавление устройств в набор правил из списка подключенных устройств;
- создание предустановленных правил для распространённых сценариев;
- создание правил по дескрипторам интерфейса: CC:SS:PP;
- создание правил по свойствам USB-устройства: PID, VID;
- создание правил по хэшу устройства по PID+VID+SN;
- создание сложных правил с дополнительными условиями;
- загрузка правил из csv-файла;
- редактирование значений в созданных правилах;
- просмотр журнала событий подключения/отключения USB-устройств.
Для уведомления пользователя о подключённом и заблокированном устройстве сообщением в трее используется модуль уведомлений (пакет usbguard-notifier).
Запуск
Модуль USBGuard доступен в веб-интерфейсе по адресу https://ip-address:8080 (раздел Система ▷ USBGuard):
Использование модуля
Запуск/останов службы
В информационном поле отображается текущее состояние службы usbguard, список пользователей и групп, которые могут редактировать правила, сообщения об ошибках и предупреждения:
Для включения контроля за USB-устройствами необходимо установить отметку в пункте
«Активировать контроль портов» и нажать кнопку «Проверить», а затем кнопку «Применить». Служба usbguard будет запущена и добавлена в автозагрузку:
Для отключения контроля за USB-устройствами необходимо снять отметку с поля «Активировать контроль портов», нажать кнопку «Проверить», а затем кнопку «Применить» и перезагрузить систему.
Список USB-устройств
Если служба usbguard запущена, в веб-интерфейсе будет отображён список текущих подключённых устройств:
В столбце «Статус» отображается текущее состояние USB-устройства («allow» — разрешённое устройство, «block» — заблокированное устройство).
Для редактирования состояния USB-устройства, необходимо выделить строку с нужным USB-устройством и нажать кнопку «Разблокировать»/«Заблокировать». При этом будет добавлено соответствующее правило в таблицу «Хэш».
Кнопка «Сканировать устройства» позволяет обновить список подключённых USB-устройств.
Предустановки
Правила могут работать в режиме белого или чёрного списка. После установки режима «Чёрный список», будут заблокированы только перечисленные в данном списке USB-устройства. А после установки режима «Белый список», будут заблокированы все USB-устройства, кроме перечисленных в данном списке.
Кроме ручного режима добавления правил в списки существует возможность предварительной настройки списков. Для предварительной настройки правил необходимо:
- Выбрать соответствующий пункт:
- «Белый список»:
- «Заблокировать все, кроме подключенных устройств» — в правила (таблица «Хэш») с действием «allow» будут добавлены все подключенные устройства. Все новые USB-устройства будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»);
- «Заблокировать все, кроме подключенных и HID/HUB устройств» — в правила с действием «allow» будут добавлены все подключенные устройства (таблица «Хэш») и все устройства с интерфейсами 03:*:* и 09:*:* (таблица «Маски CC:SS:PP»). Все новые USB-устройства кроме HID/HUB-устройств (клавиатуры, мыши, джойстики, USB-концентраторы) будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»);
- «Ручной режим» — позволяет установить свои правила.
- «Чёрный список»:
- «Блокировать устройства по классам дескриптора интерфейса: 06 Image и 08 Mass Storage» — в правила (таблица «Маски CC:SS:PP») с действием «block» будут добавлены все устройства с интерфейсами 08:*:* и 06:*:*. Все USB-устройства Mass Storage Device (USB-накопитель, карта памяти, кардридер, цифровая фотокамера) и Image (веб-камера, сканер) будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»);
- «Блокировать устройства по списку известных PID:VID, использующих Аndroid Debug Bus» — в правила (таблица «Маски VID:PID») с действием «block» будут добавлены известные Android-устройства. Все Android-устройства будут заблокированы (будут отображаться в таблице «Список устройств» со статусом «block»);
- «Ручной режим» — позволяет установить свои правила.
- «Белый список»:
- Нажать кнопку «Проверить». Будут показаны планируемые изменения, например:
- Если изменения корректные, нажать кнопку «Применить».
- Для отмены изменений, до нажатия кнопки «Применить», следует выбрать пункт «Ручной режим» и нажать кнопку «Проверить», а затем «Применить».
Добавление/удаление правил
Для добавления нового правила должен быть выбран пункт «Ручной режим» в белом или чёрном списках. Если «Ручной режим» выбран в белом списке, правило будет добавлено с действием «allow», если в чёрном — с действием «block».
Правила по классу интерфейса
Назначение USB-устройств может определяться кодами классов, которые сообщаются USB-узлу для загрузки необходимых драйверов. Коды классов позволяют унифицировать работу с однотипными устройствами разных производителей. Устройство может поддерживать один или несколько классов, максимальное количество которых определяется количеством доступных endpoints. Например, широко известны устройства класса Human Interface Device, HID (мыши, клавиатуры, игровые манипуляторы и т.д.) или устройства Mass Storage (USB-накопители, карты памяти и т.д.).
Добавление правила по маске:
- Под таблицей «Маски CC:SS:PP» нажать кнопку «Добавить».
- В поле «CC:SS:PP» вписать маску, например, правило для всех устройств с интерфейсами 09:*:*:
- Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным:
- Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить».
- Нажать кнопку «Применить» для активации правила. Правило для всех устройств с интерфейсами 09:*:* добавлено:
Удаление правила по маске:
- В таблице «Маски CC:SS:PP» установить отметку в поле с соответствующим правилом.
- Нажать кнопку «Удалить». Правило будет готово к удалению (отображается зачёркнутым):
- Нажать кнопку «Проверить».
- Нажать кнопку «Применить» для удаления правила.
Правила по VID&PID
Каждое USB-устройство содержит атрибуты, куда входит идентификатор разработчика устройства (VID) и идентификатор изделия (PID). На основании этих идентификаторов узел (компьютер) ищет методы работы с этим устройством (обычно это выражается в требовании установить драйверы, поставляемые разработчиком устройства).
- для соответствия любому идентификатору устройства *:*
- для соответствия любому идентификатору продукта от конкретного поставщика, например, 090с:*
Добавление правила по VID&PID:
- Под таблицей «Маски VID:PID» нажать кнопку «Добавить».
- В поле «VID» вписать идентификатор разработчика устройства (VID), а в поле «PID» идентификатор изделия (PID). Например:
- Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным:
- Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить».
- Нажать кнопку «Применить» для активации правила.
Удаление правил(а) по VID&PID:
- В таблице «Маски VID:PID» установить отметку в поле с соответствующим правилами:
- Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым):
- Нажать кнопку «Проверить».
- Нажать кнопку «Применить» для удаления правил.
Правила по хэшу
Для каждого USB-устройства USBGuard вычисляет хэш на основе значений атрибутов устройства и данных дескриптора USB (PID+VID+SN).
Добавление правила по хэшу:
- Под таблицей «Хэш» нажать кнопку «Добавить».
- В поле «Хэш» вписать хэш устройства. Например:
- Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным.
- Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить».
- Нажать кнопку «Применить» для активации правила.
Удаление правил(а) по хэшу:
- В таблице «Хэш» установить отметку в поле с соответствующим правилом:
- Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым).
- Нажать кнопку «Проверить».
- Нажать кнопку «Применить» для удаления правил(а).
Другие правила
Модуль позволяет создать сложные правила с дополнительными условиями.
Добавление правила:
- Под таблицей «Другие правила» нажать кнопку «Добавить».
- В поле «Правило» вписать правило. Например, правило, разрешающее подключение принтера только через определённый порт: allow id 04a9:177a name "Canon E400" serial "F572EC" via-port "1-2" hash "eql9yA8m+5VVMmhXOvbUzwNPDGCAPq+fxIQHvbptlsY=":
- Нажать кнопку «Проверить». Корректное правило будет выделено зелёным цветом, некорректное — красным.
- Исправить или удалить некорректное правило и повторно нажать кнопку «Проверить».
- Нажать кнопку «Применить» для активации правила.
Удаление правила:
- В таблице «Другие правила» установить отметку в поле с соответствующим правилом.
- Нажать кнопку «Удалить». Правила будут готовы к удалению (отображаются зачёркнутым):
- Нажать кнопку «Проверить».
- Нажать кнопку «Применить» для удаления правила.
Загрузка правил из файла
Правила должны быть добавлены в csv-файл, по одному правилу в каждой строке. Строка должна иметь вид:
allow/block,Interface,PID:VID,Hash
Например:
allow,,090c:1000,"2dfdMHZxF5olAaNbsh68G4fpzD3iQLPL3+M7KHnSRjE="
allow,00:00:*,,
allow,,1000:*,
allow,,,"eql9yA8m+5VVMmhXOvbUzwNPDGCAPq+fxIQHvbptlsY="
Для загрузки правил из файла:
- Нажать кнопку «Обзор» (под таблицей «Хэш») и выбрать файл с правилами:
- Нажать кнопку «Загрузить из файла».
- Нажать кнопку «Проверить»:
- Нажать кнопку «Применить».
Просмотр журнала аудита
Для просмотра журнала событий подключения/отключения USB-устройств необходимо нажать кнопку «Журнал», расположенную в левом нижнем углу модуля.
По нажатию на эту кнопку раскрывается журнал аудита:
Передвигаться по журналу к более старым или более новым записям можно с помощью кнопок «Назад» и «Вперёд».
Есть возможность фильтровать данные с помощью специального поля.
Для того чтобы скрыть панель журнала, необходимо нажать кнопку «Свернуть».
Модуль уведомлений для USBGuard
Модуль уведомлений обрабатывает сообщения от USBGuard при подключении/отключении USB-устройств и выводит сообщения для пользователя, если устройство заблокировано, например:
Для возможности оповещения пользователя о блокировке USB-устройств достаточно установить пакет usbguard-notifier:
# apt-get install usbguard-notifier
# systemctl --global disable usbguard-notifier.service