Ответы:
Apparmor - это система обязательного контроля доступа (или MAC). Он использует улучшения ядра LSM, чтобы ограничить программы определенными ресурсами. AppArmor делает это с профилями, загруженными в ядро при запуске системы. Apparmor имеет два типа режимов профиля: принудительное применение и жалоба. Профили в принудительном режиме обеспечивают соблюдение правил этого профиля и сообщают о попытках нарушения в syslogили auditd. Профили в режиме жалоб не применяют никакие правила профиля, только регистрируют попытки нарушения.
В Ubuntu Apparmor устанавливается по умолчанию. Он ограничивает приложения профилями, чтобы определить, к каким файлам и разрешениям программа должна иметь доступ. Некоторые приложения будут иметь свои собственные свойства, и в apparmor-profilesпакете можно найти другие приложения .
Вы можете установить apparmor-profiles, запустив sudo apt-get install apparmor-profiles.
Я нашел хороший пример Apparmor на форумах Ubuntu, который я переписал для этого поста.
Apparmor - это структура безопасности, которая предотвращает превращение приложений во зло. Например: если я запускаю Firefox и посещаю плохой сайт, который пытается установить вредоносное ПО, которое удалит мою
homeпапку, Apparmor имеет ограничения на Firefox, хотя и не позволяет ему делать то, что я не хочу (например, доступ к моей музыке, документам и т. Д.). Таким образом, даже если ваше приложение взломано, никакого вреда не может быть.
apparmor-utilsПакет содержит инструменты командной строки для настройки AppArmor. С его помощью вы можете изменить режим выполнения Apparmor, узнать статус профиля, создать новые профили и т. Д.
Это наиболее распространенные команды:
Примечание. Профили хранятся в/etc/apparmor.d/
sudo apparmor_status. Вы получите список всех загруженных профилей *, все профили в принудительном режиме, все профили в режиме жалоб, какие процессы определены в принудительном / жалобе и т. Д. sudo aa-complain /path/to/bin, где /path/to/binнаходится binпапка программ . Например, запуск: sudo aa-complain /usr/bin/firefoxпереведет Firefox в режим жалоб.sudo aa-enforce /path/to/binдля обеспечения профиля программы. sudo aa-complain /etc/apparmor.d/*и sudo aa-enforce.d/*соответственно. Для загрузки профиля в ядро вы бы использовали apparmor_parser. Вы можете перезагрузить профили, используя -rпараметр.
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -aкоторый эффективно печатает содержимое profile.nameв парсер Apparmor.-rпараметр, например, так:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r sudo service apparmor reload Чтобы отключить профиль, связать его с /etc/apparmor.d/disable/помощью lnтак: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/запустите: sudo apparmor_parser -R /etc/apparmor.d/profile.name.
Примечание: не путайтеapparmor_parser -rсapparmor_parser -R ОНИ НЕ ОДНОВРЕМЕННАЯ!
/etc/apparmor.d/disable/затем загрузите его с помощью -aпараметра.sudo rm /etc/apparmor.d/disable/profile.name cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a sudo service apparmor stopи удалить модуль ядра, используяsudo update-rc.d -f apparmor defaults sudo service apparmor startи загрузите модули ядра с помощьюsudo update-rc.d apparmor defaults Профили хранятся в /etc/apparmor.d/и именуются по полному пути к исполняемому ими профилю, заменяя «/» на «.». Например, /etc/apparmor.d/bin.pingпрофиль для pingв /bin.
В профилях используются два основных типа записей:
Записи пути определяют, к каким файлам может обращаться приложение.
Записи возможностей определяют, какие привилегии может использовать процесс.
Давайте посмотрим на профиль ping, расположенный в etc/apparmor.d/bin.ping, в качестве примера.
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>Включает файл globalв каталог tunables, это позволяет помещать в общий файл операторы, относящиеся к нескольким приложениям.
/bin/ping flags=(complain)устанавливает путь к профилируемой программе и устанавливает режим подачи жалоб.
capability net_rawпозволяет приложению доступ к CAP_NET_RAW Posix.1eвозможности.
/bin/ping mixr позволяет приложению читать и выполнять доступ к файлу.
/etc/modules.conf r,Это rдает приложению права на чтение для/etc/modules.conf
Примечание. После создания / редактирования профиля необходимо перезагрузить профиль, чтобы изменения вступили в силу.
Вот список разрешений, которые вы можете использовать:
r - читать w - записывать ux - Неограниченное выполнение Ux - Неограниченное выполнение - очистка среды px - Дискретный профиль выполнения Px - Дискретный профиль выполнить - очистить окружающую среду ix - унаследовать выполнение m - разрешать PROT_EXECпри mmap(2)звонках l - ссылкаAppArmor - это система обязательного контроля доступа (MAC), которая является усовершенствованием ядра (LSM) для ограничения программ ограниченным набором ресурсов. Модель безопасности AppArmor заключается в привязке атрибутов контроля доступа к программам, а не к пользователям. Ограничение AppArmor обеспечивается через профили, загруженные в ядро, обычно при загрузке. Профили AppArmor могут работать в одном из двух режимов: принудительное исполнение и жалоба. Профили, загруженные в режиме принудительного применения, приведут к принудительному выполнению политики, определенной в профиле, а также к сообщениям о попытках нарушения политики (с помощью syslog или auditd). Профили в режиме жалоб не будут применять политику, а сообщать о попытках нарушения политики.
AppArmor отличается от некоторых других систем MAC в Linux тем, что он основан на путях, позволяет смешивать профили принудительного применения и режима жалоб, использует включаемые файлы для упрощения разработки и имеет гораздо более низкий барьер для входа, чем другие популярные системы MAC.
AppArmor - признанная технология, впервые появившаяся в Immunix, а затем интегрированная в Ubuntu, Novell / SUSE и Mandriva. Основные функциональные возможности AppArmor находятся в основном ядре Linux начиная с версии 2.6.36; AppArmor, Ubuntu и другие разработчики продолжают работу по слиянию дополнительных функций AppArmor с основным ядром.
У меня есть несколько более полезных ссылок на вас: Wiki.Ubuntu.com Ubuntuforums.org
Руководства по Apparmor для Ubuntu 12.04 и Ubuntu 12.10
Надеюсь, что это поможет вам.
Вот цитата из Apparmor вики :
AppArmor - эффективная и простая в использовании система безопасности приложений Linux. AppArmor активно защищает операционную систему и приложения от внешних или внутренних угроз, даже атак нулевого дня, путем обеспечения хорошего поведения и предотвращения использования даже неизвестных недостатков приложений. Политики безопасности AppArmor полностью определяют, к каким системным ресурсам могут обращаться отдельные приложения и с какими привилегиями. Ряд политик по умолчанию включен в AppArmor, и, используя комбинацию усовершенствованного статического анализа и инструментов, основанных на обучении, политики AppArmor для даже очень сложных приложений могут быть успешно развернуты за считанные часы.