- Ограничение доступа к устройствам Bluetooth
- Ограничение доступа к устройствам Wi-Fi
- Ограничение доступа к аудио устройствам
- Блокировка устройств на шинах, отличных от USB
- Настройки usb устройств
- DVI
- Станислав
- Fd1501h
- Станислав
- ulv
- Записки эникейщика
- Как получить серийный номер usb накопителя?
- Astra Linux Special Edition 1.5 ⬝ Разграничение доступа к USB-носителям
- Дискреционная настройка носителя
- Создание правил для многоуровневого флеш-накопителя
Ограничение доступа к устройствам 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, но у меня по нему флеш накопители система фильтровать отказалась.
Astra Linux Special Edition 1.5 ⬝ Разграничение доступа к USB-носителям
При создании нескольких правил с одним идентификатором (например только ID_SERIAL) для одного носителя под разными уровнями udev будет обрабатывать только одно из этих правил.
Для запрета монтирования всех USB-носителей, кроме разрешенных, потребуется вывести пользователей из групп floppy и fuse.
Группа fuse так же используется для подключения samba ресурсов. Если предполагается использование samba ресурсов, используйте другой способ запрета монтирования, например: для запрета монтирования USB-носителей с файловой системой ntfs необходимо снять suid бит с /bin/ntfs-3g.
В более поздних версиях Astra Linux группа fuse не используется. Порядок работы с конфиденциальной информацией на USB-носителях для этих версий см. в статье Съемные носители в Astra Linux.
Мандатное разграничение доступа возможно только на файловых системах, поддерживающих расширенные атрибуты. Для USB-носителей это файловые системы Ext2/Ext3/Ext4.
Для создания правила и разграничения доступа к носителю запустить fly-admin-smc (Политика безопасности), открыть закладку «Доступ к устройствам», ЛКМ «Устройства и Правила» и ЛКМ «+» («Создать» в верхней панели»).
После появления окна подключения и информации подключить заранее созданный носитель (см. ниже). После определения устройства нажать на название носителя (пример на снимке 1)
В свойствах устройства выставить флаг в чек-бокс «Включено», ввести имя носителя в поле «Наименование» (снимок 2)
Перейти в закладку «Общие», выставить флаги (разграничить доступ) в чек-боксах владельца, группы и остальных, выставить в выпадающих меню пользователя и группу (снимок 3)
Нажать «Применить» (зеленая галочка на панели инструментов)
Для того, чтобы изменения ограничений мандатного доступа вступили в силу, следует переподключить носитель.
Для того, чтобы можно было получить доступ к носителю после перезагрузки компьютера следует переподключить носитель.
Дискреционная настройка носителя
Для корректного монтирования EXT-раздела в ОС Astra Linux необходимо изменить владельца носителя, права доступа и ACL. Для этого требуется смонтировать носитель и поменять владельца. Порядок действий:
- Создать временный каталог:
Создание правил для многоуровневого флеш-накопителя
- Создать на накопителе несколько Ext2 разделов;
- Задать метки разделам(Label), например: ns, dsp, sec, ss;
- Зарегистрировать правило для каждого раздела, используя ID_SERIAL_SHORT и ID_FS_UUID, установить мандатный уровень, дискретные права пользователя и группы;
- После регистрации правил установить дискретные права доступа на корневой каталог каждого раздела, как указано выше.