Как создать профили AppArmor для блокировки программ в Ubuntu
AppArmor блокирует программы в вашей системе Ubuntu, предоставляя им только те разрешения, которые требуются при обычном использовании - особенно полезно для серверного программного обеспечения, которое может быть взломано. AppArmor включает в себя простые инструменты, которые вы можете использовать для блокировки других приложений.
AppArmor по умолчанию включен в Ubuntu и некоторые другие дистрибутивы Linux. Ubuntu поставляет AppArmor с несколькими профилями, но вы также можете создавать свои собственные профили AppArmor. Утилиты AppArmor могут контролировать выполнение программы и помочь вам создать профиль.
Перед созданием своего собственного профиля для приложения вы можете проверить пакет apparmor-profile в репозиториях Ubuntu, чтобы узнать, существует ли уже профиль для приложения, которое вы хотите ограничить..
Создать и запустить план тестирования
Вам нужно будет запустить программу, пока AppArmor наблюдает за ней, и пройтись по всем ее обычным функциям. По сути, вы должны использовать программу так, как она будет использоваться при обычном использовании: запустить программу, остановить ее, перезагрузить и использовать все ее функции. Вы должны разработать план тестирования, который включает функции, которые должна выполнять программа.
Перед выполнением плана тестирования запустите терминал и выполните следующие команды для установки и запуска aa-genprof:
sudo apt-get установить apparmor-utils
sudo aa-genprof / путь / к / двоичный
Оставьте aa-genprof работающим в терминале, запустите программу и выполните план тестирования, который вы разработали выше. Чем полнее ваш план тестирования, тем меньше проблем вы столкнетесь позже.
По завершении выполнения плана тестирования вернитесь к терминалу и нажмите S ключ для сканирования системного журнала на наличие событий AppArmor.
Для каждого события вам будет предложено выбрать действие. Например, ниже мы видим, что / usr / bin / man, который мы профилировали, выполнил / usr / bin / tbl. Мы можем выбрать, должен ли / usr / bin / tbl наследовать настройки безопасности / usr / bin / man, должен ли он работать со своим собственным профилем AppArmor, или он должен работать в неограниченном режиме.
Для некоторых других действий вы увидите другие подсказки - здесь мы разрешаем доступ к / dev / tty, устройству, которое представляет терминал
В конце процесса вам будет предложено сохранить новый профиль AppArmor..
Включение режима жалоб и настройка профиля
После создания профиля переведите его в «режим жалоб», где AppArmor не ограничивает действия, которые он может выполнять, а вместо этого регистрирует любые ограничения, которые могли бы возникнуть в противном случае:
sudo аа-жалоба / путь / к / двоичный
Какое-то время пользуйтесь этой программой. После обычного использования в режиме жалоб выполните следующую команду, чтобы проверить системные журналы на наличие ошибок и обновить профиль:
sudo aa-logprof
Использование Enforce Mode для блокировки приложения
После того, как вы закончили настройку своего профиля AppArmor, включите «принудительный режим», чтобы заблокировать приложение:
sudo -aaceforce / path / to / binary
Вы можете запустить sudo aa-logprof команда в будущем настроить свой профиль.
Профили AppArmor представляют собой обычные текстовые файлы, поэтому вы можете открыть их в текстовом редакторе и настроить вручную. Тем не менее, приведенные выше утилиты проведут вас через процесс.