Поиск по сайту:

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


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

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

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

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

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

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

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

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

Что такое USBGuard?

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

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

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

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

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

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

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

lsusb

Установка USBGuard

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

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

sudo apt install usbguard

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

sudo dnf install usbguard

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

sudo pacman -S usbguard

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

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

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

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

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

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

sudo -i
usbguard generate-policy -X -t reject > /etc/usbguard/rules.conf
exit

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

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

sudo cat /etc/usbguard/rules.conf

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

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

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

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

lsusb

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

sudo usbguard list-devices -b

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

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

sudo usbguard allow-device 10

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

sudo usbguard list-devices -b

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

sudo usbguard allow-device 10 -p

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

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

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

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

sudo usbguard list-devices -a

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

sudo usbguard block-device 13 -p

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

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

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