AppArmor для изоляции приложений
AppArmor для изоляции приложений
sudo apt-get install apparmor apparmor-utils apparmor-profiles rsyslog -y
cd /usr/share/apparmor/extra-profiles/
/etc/apparmor.d/ # каталог профилей, используемый AppArmor
sudo systemctl start rsyslog && sudo systemctl enable rsyslog
sudo systemctl status apparmor
sudo systemctl enable --now apparmor
AppArmor для автоматической генерации профилей безопасности
sudo aa-autodep nginx
Активировать профиль
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.nginx
Отключить профиль
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.nginx
Удалить профиль
rm /etc/apparmor.d/usr.sbin.nginx
Режим жалобы
sudo aa-complain /usr/sbin/nginx
Создать правила из логирования программы
sudo aa-logprof /usr/sbin/nginx
Режим принуждения
sudo aa-enforce /usr/sbin/nginx
Статус
sudo aa-status
Логирование
tail -f /var/log/syslog
tail -f kern.log
sudo dmesg | grep apparmor
sudo journalctl -t apparmor -f
Доступ:
/var/log/nginx/
к каталогу
/var/log/nginx/*
к файлам в каталоге
/var/log/nginx/**
ко всем вложенным файлам и каталогам
/var/run/nginx.pid
rw, доступ на чтение и запись
owner /var/www/**
rw, только к файлам, принадлежащим (www-data) процессу, запускающему nginx
Основные символы прав доступа
- r (чтение): Разрешение на чтение файла или каталога.
- w (запись): Разрешение на запись в файл или каталог.
- x (выполнение): Разрешение на выполнение файла.
- m (отображение в памяти): Разрешение на отображение файла в память.
- k (блокировка): Разрешение на блокировку файла.
- l (ссылка): Разрешение на создание жестких ссылок на файл.
- a (добавление): Разрешение на добавление в файл.
- i (наследование): Разрешение для дочерних процессов наследовать профиль.
- Px (выполнение профиля): Разрешение на выполнение файла с определенным профилем.
- Cx (выполнение дочернего): Разрешение на выполнение файла с отдельным дочерним профилем.
Описание команд
aa-audit
: Установить профиль в режим аудита.
aa-autodep
: Автоматически сгенерировать базовый профиль для приложения.
aa-cleanprof
: Удалить неиспользуемые правила из профиля.
aa-complain
: Установить профиль в режим жалоб (complain mode).
aa-decode
: Декодировать закодированные в hex сообщения AppArmor.
aa-disable
: Отключить профиль.
aa-easyprof
: Создавать или управлять профилями с удобством.
aa-enforce
: Установить профиль в режим принудительного применения (enforce mode).
aa-enabled
: Вывести список всех включенных профилей.
aa-exec
: Выполнить команду, ограниченную определённым профилем.
aa-features-abi
: Показать функции и версию ABI (интерфейса прикладного программирования) AppArmor.
aa-genprof
: Создать профиль, отслеживая поведение приложения.
aa-logprof
: Обновить профили на основе событий из журналов.
aa-mergeprof
: Объединить несколько профилей в один.
aa-remove-unknown
: Удалить неизвестные профили или записи.
aa-status
: Показать текущий статус AppArmor.
aa-teardown
: Выгрузить все профили AppArmor.
aa-unconfined
: Вывести список процессов, работающих без ограничений.
aa-update-browser
: Обновить профили AppArmor, связанные с браузером.