Практические кейсы и задания по работе с MAC
8.1. Кейс: Защита веб-сервера с помощью AppArmor
Сценарий: Школьный сервер с веб-приложением для образовательной платформы подвергся атаке, в результате которой злоумышленник получил возможность выполнять произвольный PHP-код через уязвимость в веб-приложении.
Задание:
- Разработать профиль AppArmor для PHP-интерпретатора, ограничивающий его доступ только к необходимым ресурсам
- Настроить профиль для предотвращения доступа к системным файлам и каталогам
- Разрешить доступ только к каталогу веб-приложения и временным файлам
- Ограничить сетевые возможности PHP-интерпретатора
Решение: Профиль AppArmor для PHP-интерпретатора:
/usr/bin/php {
#include <abstractions/base>
#include <abstractions/nameservice>
# Каталог веб-приложения
/var/www/html/** r,
/var/www/html/uploads/** rw,
# Временные файлы
/tmp/php* rw,
# Журналы
/var/log/apache2/error.log w,
# Запрет доступа к критическим файлам
deny /etc/** r,
deny /root/** rwx,
deny /home/** rwx,
# Ограничение сетевых возможностей
network inet tcp,
}
8.2. Кейс: Настройка SELinux для защиты научного приложения
Сценарий: В школьной лаборатории запущено научное приложение для моделирования физических процессов, которое работает с конфиденциальными данными исследований.
Задание:
- Создать специальный SELinux домен для научного приложения
- Настроить контекст безопасности для данных и конфигурационных файлов
- Настроить политику, позволяющую приложению работать с ограниченными привилегиями
- Обеспечить изоляцию от других процессов в системе
Этапы решения:
- Создание пользовательского модуля политики SELinux
- Определение типов и доменов для приложения и его файлов
- Настройка переходов между доменами при запуске приложения
- Определение разрешений для доступа к необходимым ресурсам
8.3. Задача: Анализ защищенности системы с MAC
Задание: Проанализировать защищенность системы с включенным AppArmor:
- Выявить все профили AppArmor, находящиеся в режиме complain
- Проанализировать логи нарушений и выявить потенциальные уязвимости
- Определить неконтролируемые приложения, требующие создания профилей
- Предложить улучшения для существующих профилей
Вопросы для анализа:
- Какие приложения имеют избыточные привилегии?
- Какие пути доступа к файлам можно ограничить?
- Как изменится безопасность системы при переводе всех профилей в режим enforce?
