Техническое задание: Система контроля доступа к USB-устройствам
Цель проекта
Разработать и внедрить систему безопасности для управления подключением USB-устройств в операционной системе Linux. Система должна обеспечивать гибкое разграничение прав, изоляцию и мониторинг.
Этап A: Базовая изоляция USB-устройств
- Разработать скрипты для создания изолированных пространств монтирования (mount namespaces).
- Реализовать механизм динамического монтирования USB-устройств в изолированные среды.
- Настроить политики безопасности монтирования: nosuid, noexec, nodev.
Этап B: Система управления доступом
- Создать классификатор USB-устройств по типам (флеш-накопители, камеры и т.д.) и назначить им уровни прав доступа.
- Реализовать подсистему аутентификации и авторизации для санкционирования подключения устройств.
- Разработать пользовательский интерфейс (CLI или веб) для управления политиками доступа.
Этап C: Интеграция с системными сервисами
- Настроить автоматическое определение подключаемых USB-устройств с помощью правил udev.
- Разработать и настроить systemd-сервисы для управления жизненным циклом и доступом системы.
- Реализовать механизм предоставления временного доступа к устройствам с ведением логов аудита.
Этап D: Безопасность и мониторинг
- Внедрить дополнительную изоляцию процессов с использованием cgroups и фильтров seccomp.
- Разработать систему мониторинга подключений и оповещений о подозрительных событиях.
- Реализовать механизмы защиты от потенциальных попыток обхода установленных ограничений.
Требования к результату
Исполнитель должен предоставить рабочие скрипты, конфигурационные файлы, документацию по настройке и скриншоты, демонстрирующие работу системы.