AppArmor — это система принудительного контроля доступа (Mandatory Access Control, MAC), которая позволяет ограничивать возможности приложений, минимизируя риски эксплуатации уязвимостей. В отличие от SELinux, AppArmor работает на основе путей к файлам, что упрощает его настройку и внедрение.
В этой статье мы рассмотрим, как использовать AppArmor для защиты приложений, с учетом последних обновлений ПО, современных практик и особенностей российского ИТ-ландшафта.
Введение в AppArmor: зачем он нужен?
AppArmor позволяет:
- Ограничивать доступ приложений к файлам, сетям, библиотекам и системным вызовам.
- Предотвращать атаки, такие как RCE (Remote Code Execution) и LPE (Local Privilege Escalation).
- Логировать попытки несанкционированного доступа.

Установка и активация AppArmor
В большинстве современных дистрибутивов Linux AppArmor включен по умолчанию. Проверить его статус можно командой:
sudo systemctl status apparmor
Если AppArmor не активен, его можно запустить и добавить в автозагрузку:
sudo systemctl enable --now apparmor
⚠️Важно: В некоторых российских сборках (например, на базе Astra Linux или ROSA) AppArmor может быть заменен на аналогичные решения (например, Security-Enhanced Linux). Уточните документацию вашего дистрибутива.
Работа с профилями AppArmor
Просмотр активных профилей
Текущие профили можно проверить командой:
sudo apparmor_status
Вывод:
- enforce — профиль активно блокирует нарушения.
- complain — нарушения только логируются.
Создание нового профиля
Для генерации профиля используется утилита aa-
easyprof:
sudo aa-easyprof /usr/bin/firefox > /etc/apparmor.d/usr.bin.firefox
После запуска приложения и выполнения типичных действий профиль автоматически дополняется правилами.
💡Замечание. Эта утилита не всегда установлена по умолчанию. Установить ее можно следующей командой:
Bashsudo apt install apparmor-easyprof

aa-easyprof
помогает создать базовый профиль безопасности.Ручное редактирование профилей
Профили хранятся в /etc/apparmor.d/
и имеют синтаксис, похожий на:
/usr/bin/myapp {
/etc/config.conf r,
/var/log/myapp.log rw,
network tcp,
}
Современные практики:
- Используйте
include <abstractions/base>
для базовых правил. - Минимизируйте права (принцип наименьших привилегий).
Режимы работы: enforce vs. complain
- Enforce — блокирует нарушения.
- Complain — только логирует (полезно для тестирования).
Переключение режимов:
sudo aa-enforce /etc/apparmor.d/usr.bin.myapp # Включение блокировки
sudo aa-complain /etc/apparmor.d/usr.bin.myapp # Только логирование
💡Рекомендация: Перед переходом в enforce протестируйте профиль в complain-режиме, чтобы избежать ложных срабатываний.
Аудит и мониторинг нарушений
AppArmor пишет логи в:
/var/log/syslog
journalctl
(в systemd-системах)
Пример фильтрации логов:
sudo journalctl -u apparmor --since "1 hour ago" | grep DENIED

AppArmor в российских реалиях
Поддержка в отечественных ОС
- Astra Linux, ROSA, Alt Linux — поддерживают AppArmor, но могут использовать дополнительные механизмы (например, МСВС).
- РедОС, Альт Сервер — рекомендуют AppArmor для сертификации ФСТЭК.
Интеграция с российскими СЗИ
Некоторые системы (например, «Континент») могут работать совместно с AppArmor, но требуют дополнительной настройки.
Критерий | AppArmor | SELinux |
---|---|---|
Подход | Путевой (path-based) | Метаданные (label-based) |
Сложность | Низкая | Высокая |
Гибкость | Ограниченная | Максимальная |
Логирование | /var/log/syslog | audit.log |
Поддержка в РФ | Astra Linux, Ред ОС | Ред ОС, Альт |
Заключение
AppArmor — мощный инструмент для защиты приложений, особенно в средах, где важна простота настройки. Он остается актуальным, в том числе в российских ИТ-системах, благодаря:
- Поддержке в большинстве дистрибутивов.
- Возможности тонкой настройки без глубоких знаний MAC.
- Хорошей интеграции с современными средствами мониторинга.
Где использовать:
- Защита веб-серверов (Nginx/Apache).
- Ограничение контейнеров (Docker/LXC).
- Изоляция пользовательских приложений.
AppArmor — это не панацея, но важный элемент многослойной защиты. Внедряйте его осознанно, и ваша система станет значительно устойчивее к атакам.
Дополнительные материалы:
Was this helpful?
0 / 0