Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Внутренняя организация и практическое применение AppArmor

11 апр. 2014

Для того чтобы не адаптировать к своему дистрибутиву сложную систему SELinux, Novell в 2005 году приобрела фирму Immunix и переименовала ее программу Sub-domain (предназначенную для обеспечения безопасности) в AppArmor. Компания Novell привела AppArmor в соответствие с лицензией GPL и разработала несколько модулей YaST для администрирования. С тех пор AppArmor играет во всех дистрибутивах Novell и SUSE ту же роль, что и SELinux в Fedora и Red Hat: расширение ядра отслеживает работу всех выполняемых процессов и гарантирует, что эти процессы выполняют установленные правила безопасности. AppArmor также является МАС-системой обеспечения безопасности.

Особенности AppArmor



В отличие от SELinux, правила безопасности AppArmor основаны на абсолютных именах файлов, поэтому отдельного обозначения файлов с помощью расширенных атрибутов не требуется. Кроме того, AppArmor работает и с теми системами, которые не поддерживают расширенных атрибутов. В правилах AppArmor можно ставить джокерные символы, поэтому в типичных практических ситуациях для работы AppArmor требуется значительно меньше правил, чем для SELinux. В этом проявляется главное достоинство программы AppArmor по сравнению с SELinux: AppArmor гораздо проще.

К сожалению, у AppArmor есть и недостатки. О Эксперты по безопасности из Red Hat придерживаются мнения, что при указании в правилах абсолютных путей вы постоянно подвергаете систему риску (защиту AppArmor можно обойти, переименовав файлы и каталоги; разумеется, для этого агрессор должен иметь достаточно широкие права).

В отличие от SELinux, программа AppArmor не входит в состав официального ядра. Осенью 2009 года разработчики Canonical активно пытались добиться интеграции AppArmor в ядро.
Набор правил AppArmor не так масштабен, как в SELinux. По умолчанию защита распространяется на меньшее количество программ. Хотя пользователю и проще самостоятельно создавать и изменять правила, такая «самодельная» безопасность производит впечатление некоторого непрофессионализма.

Осенью 2007 года Novell свернула разработку AppArmor. В настоящее время этим занимаются только специалисты Canonical.

Внутренняя организация и практическое применение AppArmor




Конфигурация и запуск



AppArmor запускается в начале процесса Init-V сценарием /etc/init.d/boot. apparmor, который обращается к функциям, определенным в /lib/apparmor/rc.apparmor. functions. Сценарий boot.apparmor считывает базовую конфигурацию из каталога / etc/apparmor и загружает все данные правил в каталог /etc/apparmor.d.

В отличие от SELinux, в AppArmor пока разработаны надежные защитные профили для небольшого количества программ. Отдельные профили, требующие доработки, находятся в каталоге /etc/apparmor/profiles/extras. Однако они уже много лет имеют статус экспериментальных и по умолчанию не активизируются.

Изменения, внесенные в конфигурацию, вступят в силу только после того, как вы заново запустите AppArmor или считаете файлы правил:

root# /etc/init.d/boot.apparmor restart (Перезапустить AppArmor)


root# /etc/init.d/boot.apparmor reload (Заново загрузить правила AppArmor)

Правила (профили)



Файлы правил, называемые в AppArmor профилями, создаются в текстовом формате, что упрощает их интерпретацию. Следующие строки описывают правила для демона журналирования событий ядра klogd. Здесь сначала считываются включаемые файлы, а потом — основные признаки (см. man capabilities). Правила указывают, какие файлы может использовать программа.


В файлах AppArmor может использоваться джокер * играющий роль подстановочного символа, — им можно заменить любое количество других символов. Сочетание ** имеет подобное значение, но охватывает и символ / и, таким образом, включает все файлы из подкаталогов. Права доступа обозначаются буквами и их комбинациями, их значение подробно описано в руководстве по администрированию AppArmor. В табл. 18.4 приведены лишь важнейшие из буквенных обозначений. Комбинации с ?x управляют правами подпроцессов, запускаемых основной программой.

При запуске AppArmor файловая система securityfs подключается к каталогу /sys/kernel/security. В файлах этой системы содержится информация об активных профилях, количестве возникших нарушений правил и т. д. Подробности о произошедших нарушениях правил приводятся в файлах каталога /var/log/apparmor.

Модули YaST



Для управления AppArmor в конфигурационной программе YaST дистрибутива SUSE предусмотрены различные модули. В контрольной панели AppArmor программу можно (де)активизировать либо выбрать для отдельных профилей режим enforce или complain. В режиме complain нарушения правил регистрируются, но работа «ошибающейся» программы не прекращается.


В модуле Редактировать профиль можно изменять имеющийся профиль. Но, как правило, лучше обрабатывать файл правил в обычном текстовом редакторе. При составлении правил модуль YaST предоставляет только некоторые вспомогательные функции.

Гораздо интереснее модуль Ассистент для добавления профилей: с его помощью вы можете в своеобразном «учебном режиме» сами разработать защитный профиль для программы. Для этого программа запускается, а потом вы пробуете как можно больше ее функций. На этом этапе программа еще не защищена AppArmor, поэтому необходимо полностью исключить возможность атаки во время такого «обучения». Ассистент регистрирует все обращения программы к файлам и предлагает правила, подходящие для защиты программы. Теперь вы должны утвердить или изменить отдельные правила. Полученный в результате профиль будет сохранен под именем /etc/apparmor.d/programmname.

С помощью ассистента вам будет достаточно просто создавать собственные защитные профили. Однако полученные таким образом профили, скорее всего, будут неидеальны: с одной стороны, работая с программой, вы вполне можете не проверить некоторые ее функции, а для них будут нужны дополнительные правила. С другой стороны, автоматическое генерирование правил безопасности говорит о невысоком качестве таких правил. Таким образом, после работы ассистента вам предстоит вручную внести еще некоторые доработки профиля безопасности.

Если с имеющимся профилем возникают проблемы, вы можете использовать Ассистент для обновления профилей, чтобы дополнить профиль новыми правилами. Ассистент изучает файлы AppArmor, в которые занесена информация о возникших ошибках, и вырабатывает новые правила на базе этой информации.

Ubuntu


В Ubuntu версии 7.10 и выше также используется AppArmor, более того — в этом дистрибутиве уже полным ходом идет техническая поддержка данного программного пакета. Но по умолчанию в Ubuntu активизируется меньше пакетов, чем в SUSE. В отличие от SUSE, в Ubuntu нет графического пользовательского интерфейса для конфигурации AppArmor.
Много интересного:
Linux

Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать