Как защитить свой компьютер с Linux от мошеннических USB-накопителей

Опубликовано: 2023-01-23
Рука человека, подключающая USB-накопитель к компьютеру.
Фрир/Shutterstock.com
Установите USBGuard, чтобы контролировать и управлять тем, какие флэш-накопители можно использовать на вашем компьютере с Linux. Действуя как своего рода брандмауэр для USB-устройств, он позволяет создавать набор правил, которые разрешают, блокируют или отклоняют определенные диски.

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

Оглавление

Карта памяти USB и ее опасности
Что такое USBGuard?
Нормальное поведение с USB-накопителями в Linux
Установка USBGuard
Настройка базовой политики
Добавление другого USB-устройства
Удаление доступа к USB-устройству

Карта памяти USB и ее опасности

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

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

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

Как USB-накопители могут быть опасны для вашего компьютера
СВЯЗАННЫЕ С : Как USB-накопители могут быть опасны для вашего компьютера

Но даже если в вашем доме есть компьютер, вы можете захотеть ограничить доступ к USB. Возможно, к вашим детям регулярно приходят друзья, чтобы поиграть. Блокировка доступа к USB — разумная мера предосторожности, чтобы предотвратить непреднамеренное возникновение проблем.

Когда кто-то находит USB-накопитель, сразу же возникает желание подключить его к чему-нибудь, чтобы посмотреть, что на нем. Киберугрозы, нацеленные на компьютеры Linux, встречаются гораздо реже, чем угрозы, предназначенные для компьютеров Windows, но они все же существуют.

Что такое USBGuard?

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

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

Предупреждение. Демон USBGuard запускается сразу после установки. Убедитесь, что вы настроили USBGuard сразу после его установки. Если вы этого не сделаете, все ваши USB-устройства будут заблокированы при перезагрузке компьютера.

Нормальное поведение с USB-накопителями в Linux

Прежде чем что-либо делать, мы проверим поведение по умолчанию на нашем компьютере с Ubuntu 22.10. Это простой процесс. Вставляем флешку и смотрим что получится.

Мы слышим звуковой сигнал, и в доке появляется значок карты памяти.

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

Открытие терминала и использование команды lsusb список подключенных USB-устройств. Верхняя запись — это рассматриваемая карта памяти, которая является устройством марки TDK.

 lsusb 

Использование lsusb для просмотра списка подключенных USB-устройств

СВЯЗАННЫЕ С: Как составить список устройств вашего компьютера из терминала Linux

Установка USBGuard

USBGuard зависит от usbutils и udisks2 . В последних сборках Manjaro, Fedora и Ubuntu, которые мы тестировали, они уже были установлены.

Чтобы установить USBGuard в Ubuntu, используйте эту команду:

 sudo apt установить usbguard 

Установка USBGuard на Ubuntu с помощью apt

В Fedora вам нужно ввести:

 sudo dnf установить usbguard 

Установка USBGuard на Fedora с помощью dnf

На Manjaro команда такая:

 sudo pacman -S usbguard 

Установка USBGuard на Manjaro с помощью pacman

Настройка базовой политики

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

USBGuard использует три типа правил.

  • Разрешить : Разрешающие правила разрешают указанному устройству беспрепятственную работу в обычном режиме. Это используется для устройств, которые всегда подключены, таких как проводные клавиатуры, мыши, трекболы, веб-камеры и т. д. Он также используется для устройств, которые периодически подключаются, являются известными и надежными.
  • Блокировать : правила блокировки запрещают работу USB-устройств. USB-устройство вообще не видно пользователю.
  • Reject : правила отклонения также запрещают работу USB-устройств, но USB-устройство видно пользователю с помощью lsusb .

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

Как контролировать доступ к sudo в Linux
СВЯЗАННЫЕ С : Как управлять доступом к sudo в Linux

Странная причуда требует, чтобы вы делали это как root. Использование sudo с командой не работает. Нам нужно использовать команду sudo -i (логин), чтобы открыть оболочку от имени пользователя root, а затем выполнить команду. Убедитесь, что вы используете команду exit , чтобы выйти из сеанса входа root после завершения.

 судо -я
 usbguard generate-policy -X -t reject > /etc/usbguard/rules.conf
 выход

Параметр -X (–no-hashes) запрещает USBGuard генерировать хеш-атрибуты для каждого устройства. Опция -t (цель) задает цель по умолчанию для всех неопознанных USB-устройств. В нашем случае мы выбрали «отклонить». Мы могли бы также выбрать «блокировать».

Создание базовой политики USBGuard с сеансом корневого терминала

Чтобы увидеть наши новые правила, мы можем использовать cat .

 sudo cat /etc/usbguard/rules.conf 

Использование cat для перечисления автоматически сгенерированных правил в /etc/usbguard/rules.conf

На нашем тестовом компьютере это обнаружило три USB-устройства и создало для них «разрешающие» правила. Он добавил «отклонить» в качестве цели для всех других USB-устройств.

Добавление другого USB-устройства

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

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

 lsusb 

Использование lsusb для просмотра списка подключенных USB-устройств

Если бы мы использовали цель «блокировать» в нашей базовой политике, нам нужно было бы использовать команду list-devices с параметром -b (заблокированные устройства).

 sudo usbguard list-devices -b 

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

Здесь показаны подключенные, но заблокированные USB-устройства.

Мы будем использовать часть информации из этой команды, чтобы позволить нашему отклоненному USB-устройству иметь временный или постоянный доступ. Чтобы дать нашему устройству временный доступ, мы будем использовать идентификационный номер устройства. В нашем примере это «10».

 sudo usbguard разрешить-устройство 10 

Предоставление USB-устройству временного доступа

Наше устройство подключено и появляется в доке и файловом браузере. Если мы попросим USBGuard перечислить заблокированные устройства, ни одно из них не будет указано.

 sudo usbguard list-devices -b 

USBGUard не находит заблокированных устройств

Мы можем сделать разрешение постоянным, используя опцию -p (permanent). Это создает для нас правило и добавляет его в нашу политику.

 sudo usbguard разрешить-устройство 10 -p 

Предоставление устройству постоянного доступа путем добавления разрешающего правила в политику

Теперь мы можем использовать это USB-устройство как обычно.

Удаление доступа к USB-устройству

Если вы передумали относительно USB-устройства — возможно, вы потеряли USB-накопитель и хотите закрыть к нему доступ — вы можете сделать это с помощью команды block-device .

Нам нужно знать идентификатор устройства. Мы можем найти это, перечислив разрешенные устройства. Обратите внимание, что этот номер может не совпадать с тем, который вы использовали для добавления правила в список, поэтому проверьте его, прежде чем вводить команду block-device .

 sudo usbguard list-devices -a 

Получение идентификационного номера USB-устройства с помощью команды list-devices

В нашем случае идентификатор «13». Мы будем использовать это с командой block-device и опцией -p (permanent), чтобы навсегда удалить его доступ.

 блок-устройство sudo usbguard 13 -p 

Постоянная блокировка доступа к USB-устройству с помощью команды block-device

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


USBGuard предоставляет вам эффективный и надежный способ контролировать и управлять тем, какие USB-устройства можно использовать на вашем компьютере.

Это ваш компьютер, поэтому будет справедливо, если вы выберете.

СВЯЗАННЫЕ С: Как монтировать и отключать устройства хранения данных из терминала Linux