LinuxForum.Fans
Тема

udev белый список USB устройств

Автор: ctopmbi4 13 сообщений 1542 просмотров
06.04.2017 10:09 #422121

Доброго времени суток комрады Linux.
Озадачился вопросом. Блокировки всех устройств USB кроме разрешенных. Чтобы сотрудники не подключали левые девайсы по USB.
Делал по этой ссылки https://wiki.gentoo.org/wiki/Allow_only_known_usb_devices
Собственно версия ОС.

text

[b]# uname -a[/b]
Linux TEST 3.0.101-68.4-desktop #1 SMP PREEMPT Tue Dec 1 17:21:37 CET 2015 (ed01a9f) x86_64 x86_64 x86_64 GNU/Linux

Набросал правила в

text
 /etc/udev/rules.d/
text

# Skeep not USB
SUBSYSTEM!="usb", GOTO="usb_end"
# Skeep remove actions
ACTION=="remove", GOTO="usb_end"

#Usb-Intel-HUB SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="8087", ATTR{authorized}="1", GOTO="usb_end"

#Usb-HUB1 SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="1d6b", ATTR{authorized}="1", GOTO="usb_end"

#Microsystems-HUB SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="0424", ATTR{authorized}="1", GOTO="usb_end"

#Usb-Hasp-Key SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="1111", ATTR{authorized}="1", GOTO="usb_end"

#Keyboard SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="046d", ATTR{authorized}="1", GOTO="usb_end"

#Mouse SUBSYSTEMS=="usb", ACTION=="add", ATTR{idVendor}=="045e", ATTR{authorized}="1", GOTO="usb_end"

#Flash SUBSYSTEMS=="usb", ACTION=="add", ATTRS{serial}=="55555", ATTR{authorized}="1", GOTO="usb_end"

# Disable all other USB devices SUBSYSTEMS=="usb", ACTION=="add", ATTR{authorized}="0"

LABEL="usb_end"

То есть взял вывод с

text

[b]lsusb[/b]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1111:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 004: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 005: ID 045e:0797 Microsoft Corp. Optical Mouse 200
Bus 001 Device 006: ID 5555:161a Kingston Technology Dell HyperVisor internal flash drive

Решил проверять по параметру

text
ATTRS{idProduct}

Таким образом все работает, пропускает все устройства. Причем и те которые не добавлены в данный список.

Тут возникли вопросы: Как посмотреть где находится устройства, клава, мышь и т.д.
Чтобы проверить их параметры как с Flash.
Как я понял должны находится тут

text
/sys/bus/usb/devices 
text

ls /sys/bus/usb/devices/ |grep -v ':'
1-3
1-4
1-4.1
1-4.2
1-4.4
3-1
4-1
usb1
usb2
usb3
usb4

Саму Flash нашел

text
udevadm info -a -p /sys/block/sdc

Вопрос в правилах указывать

text
ATTR

или

text
ATTRS

?
Где ошибся почему не работает так как задумано?

06.04.2017 12:02 #422129

"ctopmbi4" написал:
или
я делал так:
ATTRS{idVendor}
ATTRS{idProduct}

В итоге перешел на usbguard :-)
06.04.2017 12:38 · отредактировано #422130

i2ks написал:
[quote="ctopmbi4"]или
я делал так:
ATTRS{idVendor}
ATTRS{idProduct}

В итоге перешел на usbguard :-)[/quote]

Так в чем отличие? ATTRS и ATTR
Правила срабатывают кроме не последнего правила о запрете.
Я думаю может из за того что все USB хабы разрешены? или их необходимо разрешать?
У вас не получилось реализовать через UDEV?
можно ссылку на usbguard?
06.04.2017 12:43 · отредактировано #422131

Из man udev:

ATTR{filename}
Match sysfs attribute values of the event device. Trailing whitespace in the attribute values is ignored unless the specified match value itself contains trailing whitespace.
...

ATTRS{filename}
Search the devpath upwards for a device with matching sysfs attribute values. If multiple ATTRS matches are specified, all of them must match on the same device. Trailing whitespace in
the attribute values is ignored unless the specified match value itself contains trailing whitespace.

"ctopmbi4" написал:
можно ссылку на usbguard?

https://github.com/dkopecek/usbguard

06.04.2017 14:39 #422132

забыл сказать, что подключено через КВМ

06.04.2017 17:24 #422134

"ctopmbi4" написал:
забыл сказать, что подключено через КВМ
вот здесь совсем уже запутали.
Опишите подробнее тогда.
06.04.2017 20:32 #422136

i2ks написал:
[quote="ctopmbi4"]забыл сказать, что подключено через КВМ
вот здесь совсем уже запутали.
Опишите подробнее тогда.[/quote]
Стоит примерно такая модель.
text
http://www.komistar.ru/shop/show-product/9384/18/evetron-adf-2u2ar-m/

Как проверить что он работает как USB хаб?

07.04.2017 10:36 #422145

"ctopmbi4" написал:
Как проверить что он работает как USB хаб?
Вы инструкцию к нему читали? :-)
Опция M, хотя в вашей модели она может быть заблокированна.
07.04.2017 11:13 #422148

i2ks написал:
[quote="ctopmbi4"]Как проверить что он работает как USB хаб?
Вы инструкцию к нему читали? :-)
Опция M, хотя в вашей модели она может быть заблокированна.[/quote]
Смотрел, по тех части по ней нет инфы.
Можно подробнее что за Опция M?
07.04.2017 11:47 #422149

"ctopmbi4" написал:
Смотрел, по тех части по ней нет инфы.
там опция должна быть, управления usb.

"ctopmbi4" написал:
Можно подробнее что за Опция M?
то что вы ссылку присалли, там есть инструкция, вы ее читали?


p.s. перевод там похоже машинный, но все же. :-)
07.04.2017 12:48 #422152

Как я понимаю этот пункт для включения, отключения определения USB носителей.
Он включен так как подключив FLASH накопитель он определяется без проблем.

07.04.2017 13:17 #422153

Можно отключить, а если для админа нужна будет флешка(то влюкчать), хотя я сомневаюсь то что она понадобится, за исключением для обновления прошивки.
А так, играться с udev :-)

07.04.2017 18:08 #422155
i2ks написал:
Можно отключить, а если для админа нужна будет флешка(то влюкчать), хотя я сомневаюсь то что она понадобится, за исключением для обновления прошивки.
А так, играться с udev :-)

Решил по более простой схеме. Не знаю почему этот вариант не работает.

Войдите или зарегистрируйтесь, чтобы ответить.