Ограничение доступа к устройствам Bluetooth
Предполагается, что для работы с устройствами bluetooth в ОС установлен пакет bluez, входящий в зависимости пакета blueman (см. Подключение устройств Bluetooth к ОС Astra Linux). Для ограничения доступа к устройствам bluetooth отредактировать файл /etc/dbus-1/system.d/bluetooth.conf, удалив строки:
После выполнения перезагрузки доступ к устройствам bluetooth будут иметь только пользователи, входящие в системную группу bluetooth.
Ограничение доступа к устройствам Wi-Fi
Блокировка осуществляется средствами графической утилиты PolicyKit-1 (меню «Пуск» — «Панель управления» — «Безопасность» — «Санкции PolicyKyt-1»).
В разделах дерева правил выбрать ветку org.freedesktop → NetworkManager.
- org.freedesktop.NetworkManager.settings.reload
- org.freedesktop.NetworkManager.settings.network-control
- org.freedesktop.NetworkManager.settings.enable-disable-network
- org.freedesktop.NetworkManager.wifi.enable-disable-wifi
добавив в каждой группу правила авторизации:
Ограничение доступа к аудио устройствам
Для блокировки аудио устройств отредактировать файл /lib/udev/rules.d/70-uaccess.rules, закомментировав следующие строки:
#Sound devices #SUBSYSTEM=="sound", TAG+="uaccess" \ #OPTIONS+="static_node=snd/timer", OPTIONS+="static_node=snd/seq"
После сохранения изменений и перезагрузки доступ к аудио-устройствам будет только у пользователей, состоящих в группе audio.
Блокировка устройств на шинах, отличных от USB
Блокировка реализуется путем добавления соответствующих модулей ядра в список запрещенных для загрузки модулей (blacklist). Для создания такого списка в каталоге /etc/modprobe.d/ создать отдельный .conf файл или отредактировать существующий файл blacklist.conf, добавив строку blacklist с указанием имени блокируемого модуля, например:
# Do not load the 'ath9k' module on boot. blacklist ath9k
Блокировка модуля будет применена после перезагрузки.
Команда blacklist запрещает автоматическую загрузку указанного в ней модуля ядра, но этот модуль всё равно может загрузиться если от него зависит другой не запрещенный модуль или если он загружен вручную. Для полной блокировки модуля и всех зависящих от него модулей, используется команда install, подменяющую реальных модуль фиктивной командой. При этом вместо стандартной загрузки модуля в ядро выполняется указанная фиктивная команда. В качестве фиктивной обычно используется команда /bin/false, не выполняющая никаких действий и всегда заканчивающаяся с кодом завершения (completion code) равным единице, что по принятым соглашениям обозначает «ошибка»):
Настройки usb устройств
Как запретить все usb устройства (сьемные диски, мышь, клавиатура, принтера, устройства чтения смарт-карт, модемы, Wi-Fi, камеры, bluetooth. ) и прописать только нужные (которые будут работать на этом компьютере)?
Должно получиться по типу все запрещено кроме того что разрешено.
И как эту созданную политику можно будет распространять другим компьютерам, только потом прописывая нужные, подключаемые к ним устройства?
DVI
New member
На SE посмотрите в оснастке «Управление политикой безопасности» там есть пункт «Доступ к устройствам», а так по хорошему покрутите службу Astra Linux Directory.
Станислав
New member
На SE посмотрите в оснастке «Управление политикой безопасности» там есть пункт «Доступ к устройствам», а так по хорошему покрутите службу Astra Linux Directory.
Я там лазил, можно только запретить устройство. А мне нужно по системе запрещено все кроме того что разрешено.
Fd1501h
Moderator
Я там лазил, можно только запретить устройство. А мне нужно по системе запрещено все кроме того что разрешено.
Станислав
New member
И там лазил, вывел из группы floppy а вот fuse такого не нашел, все равно все подключается и работает. Может конечно из за fuse, но я её там не увидел в группах, нету её. Так что нужна какая та более подробная инструкция.
ulv
Moderator
В ОС СН входит средство по разграничению доступа к устройствам.
Оно в совей работе использует права на символьные и блочные устройства, создаваемые через систему udev.
Средство разрабатывалось для контроля за отчуждаемыми носителями.
Фактически, если выкинуть пользователя из группы floopy, то он не сможет смонтировать флешку (из cdrom — cd-disk).
Смонтировать сможет он только то устройство, что было добавлено через «управление устройствами» с выставлением этого пользователя в качестве владельца или группы пользователя.
Когда устройство добавляется через «окно добавления устройства», можно выбрать к какому из параметров прикрепится (по-умолчанию id_serial).
Среди этих параметров есть и dev_path который определяет конкретный порт, в который воткнуто устройство.
Идею создания «белого списка устройств» возьмем на проработку.
Записки эникейщика
Идея такая: создать в udev правило, которое будет блокировать все флешки, серийник которых не внесён в правило.
1. Идем в /etc/udev/rules.d
2. Создаем файл 99-rem-unauth-usb.rules (имя файла можете и сами придумать, но соблюдайте правила udev)
3. Пишем в файл:
ACTION!="add", GOTO="dont_remove_usb" ENV!="usb", GOTO="dont_remove_usb" ENV!="disk", GOTO="dont_remove_usb" ENV=="008D7DC64", GOTO="dont_remove_usb" ENV=="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
Как получить серийный номер usb накопителя?
Для этого используется команда udevadm info с параметрами -q (запрос какой информации выводить) и -n (имя устройства). В результате команда должна получить вид:
udevadm info -q all -n /dev/sdb
-q all выведет всю информацию об устройстве. В качестве альтернативы вместо all можно использовать property.
-n /dev/sdb задает имя устройства.
Будьте с этим внимательны! У вас вместо sdb может быть sdd, sdc или что-то еще! Проверяйте, какому именно устройству присвоено sd*. Посмотреть это можно командой fdisk -l
Далее в выводе команды вас интересует значение параметра ID_SERIAL_SHORT. Это и есть серийник флешки. Его и надо подставлять в правило. Само собой, разрешенных флешек может быть несколько, просто копируйте строку, где проверяется серийник, и подставляйте в неё нужное значение.
Да, в выводе команды udevadm info присутствует параметр ID_SERIAL, но у меня по нему флеш накопители система фильтровать отказалась.