Материал из Юпитер-8
Filskiy (обсуждение | вклад) Новая страница: «В связи с требованиями информационной безопасности, иногда возникает вопрос, связанный с ограничением подключения внешних носителей по USB порту.<br> <u>Методика:</u> создать в udev правило, которое будет блокировать все флешки, серийник которых не внесён в п...» |
Filskiy (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
В связи с требованиями информационной безопасности, иногда возникает вопрос, связанный с ограничением подключения внешних носителей по USB порту.<br> | В связи с требованиями информационной безопасности, иногда возникает вопрос, связанный с ограничением подключения внешних носителей по USB порту.<br> | ||
<u>Методика:</u> создать в udev правило, которое будет блокировать все флешки, серийник которых не внесён в правило. | <u>Методика:</u> создать в udev правило, которое будет блокировать все флешки, серийник которых не внесён в правило.<br> | ||
1. Запустить терминал. Перейти в каталог /etc/udev/rules.d: <code>cd /etc/udev/rules.d</code><br> | 1. Запустить терминал. Перейти в каталог /etc/udev/rules.d: <code>cd /etc/udev/rules.d</code><br> | ||
2. Запустить любой доступный редактор с правами root, например, <code>sudo nano</code> | 2. Запустить любой доступный редактор с правами root, например, <code>sudo nano 99-access-usb.rule</code><br>Имя файла можете и сами придумать, но главное соблюдайте правила udev.<br> | ||
3. Внести в файл следующие записи: | 3. Внести в файл следующие записи: | ||
ACTION!="add", GOTO="dont_remove_usb" | ACTION!="add", GOTO="dont_remove_usb" | ||
Строка 12: | Строка 12: | ||
<u>Пояснение:</u><br> | <u>Пояснение:</u><br> | ||
* Если действие не '''add''', то выходим (выходим путем отсылки интерпретатора командой '''GOTO''' к метке, расположенной в самом конце файла).<br> | |||
* Если подключается устройство не usb, то выходим.<br> | |||
* Если подключенное '''''usb''''' устройство не типа ''disk'', то выходим. Это важный нюанс, т.к. без этой опции отключается вся '''''usb''''' переферия - клавиатуры, мышки и т.д. На тестовом реальном компьютере так и произошло. При использовании VirtualBox этот эффект не проявлялся.<br> | |||
* Проверка на серийный номер. Если параметр ID_SERIAL_SHORT у '''''usb''''' устройства равен указанному, то выходим - эту флешку вставлять в машину можно.<br> | |||
* Если правило всё еще выполняется. Учитывая все проверки выше, это означает, что к машине подключили '''''usb''''' накопитель, серийный номер которого не прошел проверку. Это означает, что его нужно отключить. Делается это путем записывания "1" в файл sys/путь к '''''usb''''' устройству/device/delete. После этого флешка отключается. На тестах это выглядело как отключение питания от флешки - на ней гаснет светодиодный индикатор работы.<br> | |||
* Отметка, куда будет перемещен интерпретатор, если ему передать это командой '''GOTO'''.<br> | |||
4. Сохранить изменения в файле. Если используются редактора nano или mcedit. то надо нажать <F2> и выйти из редактора.<br> | |||
Правило должно начать работать сразу после добавления. Для надежности можете выполнить команды <code>sudo udevadm control --reload-rules</code> и <code>udevadm trigger</code> или перезапустить компьютер. | |||
Версия от 09:22, 31 марта 2023
В связи с требованиями информационной безопасности, иногда возникает вопрос, связанный с ограничением подключения внешних носителей по USB порту.
Методика: создать в udev правило, которое будет блокировать все флешки, серийник которых не внесён в правило.
1. Запустить терминал. Перейти в каталог /etc/udev/rules.d: cd /etc/udev/rules.d
2. Запустить любой доступный редактор с правами root, например, sudo nano 99-access-usb.rule
Имя файла можете и сами придумать, но главное соблюдайте правила udev.
3. Внести в файл следующие записи:
ACTION!="add", GOTO="dont_remove_usb" ENV{ID_BUS}!="usb", GOTO="dont_remove_usb" ENV{ID_TYPE}!="disk", GOTO="dont_remove_usb" ENV{ID_SERIAL_SHORT}=="008D7DC64", GOTO="dont_remove_usb" ENV{ID_BUS}=="usb", RUN+="/bin/sh -c 'echo 1 > /sys$DEVPATH/device/delete'" LABEL="dont_remove_usb"
Пояснение:
- Если действие не add, то выходим (выходим путем отсылки интерпретатора командой GOTO к метке, расположенной в самом конце файла).
- Если подключается устройство не usb, то выходим.
- Если подключенное usb устройство не типа disk, то выходим. Это важный нюанс, т.к. без этой опции отключается вся usb переферия - клавиатуры, мышки и т.д. На тестовом реальном компьютере так и произошло. При использовании VirtualBox этот эффект не проявлялся.
- Проверка на серийный номер. Если параметр ID_SERIAL_SHORT у usb устройства равен указанному, то выходим - эту флешку вставлять в машину можно.
- Если правило всё еще выполняется. Учитывая все проверки выше, это означает, что к машине подключили usb накопитель, серийный номер которого не прошел проверку. Это означает, что его нужно отключить. Делается это путем записывания "1" в файл sys/путь к usb устройству/device/delete. После этого флешка отключается. На тестах это выглядело как отключение питания от флешки - на ней гаснет светодиодный индикатор работы.
- Отметка, куда будет перемещен интерпретатор, если ему передать это командой GOTO.
4. Сохранить изменения в файле. Если используются редактора nano или mcedit. то надо нажать <F2> и выйти из редактора.
Правило должно начать работать сразу после добавления. Для надежности можете выполнить командыsudo udevadm control --reload-rules
иudevadm trigger
или перезапустить компьютер.