Как защитить свой компьютер с Linux от мошеннических USB-накопителей
Опубликовано: 2023-01-23USB-накопители можно использовать для кражи данных с вашего компьютера с Linux. USBGuard позволяет вам устанавливать правила, регулирующие использование USB-накопителей, например, брандмауэр для USB-накопителей. Вот как это работает и как это настроить.
Карта памяти USB и ее опасности
Что такое USBGuard?
Нормальное поведение с 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-подключения.
Предупреждение. Демон USBGuard запускается сразу после установки. Убедитесь, что вы настроили USBGuard сразу после его установки. Если вы этого не сделаете, все ваши USB-устройства будут заблокированы при перезагрузке компьютера.
Нормальное поведение с USB-накопителями в Linux
Прежде чем что-либо делать, мы проверим поведение по умолчанию на нашем компьютере с Ubuntu 22.10. Это простой процесс. Вставляем флешку и смотрим что получится.
Мы слышим звуковой сигнал, и в доке появляется значок карты памяти.
Открытие браузера файлов показывает, что запись была добавлена в список местоположений на боковой панели. Отображаемое имя — это имя, присвоенное устройству при его форматировании.
Открытие терминала и использование команды lsusb
список подключенных USB-устройств. Верхняя запись — это рассматриваемая карта памяти, которая является устройством марки TDK.
lsusb
СВЯЗАННЫЕ С: Как составить список устройств вашего компьютера из терминала Linux
Установка USBGuard
USBGuard зависит от usbutils
и udisks2
. В последних сборках Manjaro, Fedora и Ubuntu, которые мы тестировали, они уже были установлены.
Чтобы установить USBGuard в Ubuntu, используйте эту команду:
sudo apt установить usbguard
В Fedora вам нужно ввести:
sudo dnf установить usbguard
На Manjaro команда такая:
sudo pacman -S usbguard
Настройка базовой политики
У USBGuard есть хитрый трюк. В нем есть команда, создающая правило, позволяющее беспрепятственно продолжать работу всем подключенным в данный момент USB-устройствам. Это означает, что вы можете создать базовую конфигурацию для всех ваших всегда необходимых устройств. Этот набор правил называется базовой политикой.
USBGuard использует три типа правил.
- Разрешить : Разрешающие правила разрешают указанному устройству беспрепятственную работу в обычном режиме. Это используется для устройств, которые всегда подключены, таких как проводные клавиатуры, мыши, трекболы, веб-камеры и т. д. Он также используется для устройств, которые периодически подключаются, являются известными и надежными.
- Блокировать : правила блокировки запрещают работу USB-устройств. USB-устройство вообще не видно пользователю.
- Reject : правила отклонения также запрещают работу USB-устройств, но USB-устройство видно пользователю с помощью
lsusb
.
У USBGuard есть хитрый трюк. У него есть команда, которая создаст базовую политику с разрешающим правилом для каждого из подключенных в данный момент USB-устройств. Это отличный способ быстро настроить устройства, которые всегда подключены к вашему компьютеру, например клавиатуры и веб-камеры. Это также удобный способ захвата доверенных устройств с прерывистой связью. Просто убедитесь, что все ваши доверенные устройства подключены к вашему компьютеру, когда вы вводите команду.
Странная причуда требует, чтобы вы делали это как root. Использование sudo
с командой не работает. Нам нужно использовать команду sudo -i
(логин), чтобы открыть оболочку от имени пользователя root, а затем выполнить команду. Убедитесь, что вы используете команду exit
, чтобы выйти из сеанса входа root после завершения.
судо -я
usbguard generate-policy -X -t reject > /etc/usbguard/rules.conf
выход
Параметр -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 разрешить-устройство 10
Наше устройство подключено и появляется в доке и файловом браузере. Если мы попросим USBGuard перечислить заблокированные устройства, ни одно из них не будет указано.
sudo usbguard list-devices -b
Мы можем сделать разрешение постоянным, используя опцию -p
(permanent). Это создает для нас правило и добавляет его в нашу политику.
sudo usbguard разрешить-устройство 10 -p
Теперь мы можем использовать это USB-устройство как обычно.
Удаление доступа к USB-устройству
Если вы передумали относительно USB-устройства — возможно, вы потеряли USB-накопитель и хотите закрыть к нему доступ — вы можете сделать это с помощью команды block-device
.
Нам нужно знать идентификатор устройства. Мы можем найти это, перечислив разрешенные устройства. Обратите внимание, что этот номер может не совпадать с тем, который вы использовали для добавления правила в список, поэтому проверьте его, прежде чем вводить команду block-device
.
sudo usbguard list-devices -a
В нашем случае идентификатор «13». Мы будем использовать это с командой block-device и опцией -p
(permanent), чтобы навсегда удалить его доступ.
блок-устройство sudo usbguard 13 -p
Обратите внимание, что это немедленно отключит устройство. Используйте эту команду только после того, как вы закончите использовать какие-либо данные на устройстве.
USBGuard предоставляет вам эффективный и надежный способ контролировать и управлять тем, какие USB-устройства можно использовать на вашем компьютере.
Это ваш компьютер, поэтому будет справедливо, если вы выберете.
СВЯЗАННЫЕ С: Как монтировать и отключать устройства хранения данных из терминала Linux