🐧 AppArmor и SELinux: Всестороннее сравнение |

🐧 AppArmor и SELinux: Всестороннее сравнение

Мануал

Введение

Системы мандатного контроля доступа (MAC), такие как AppArmor и SELinux, позволяют системным администраторам предоставлять или запрещать доступ к ресурсам и системам контроля, встроенным в ядро Linux.

Хотя обе системы выполняют одни и те же задачи, они работают по-разному и предлагают различные возможности.

В этой статье объясняются различия между AppArmor и SELinux и показаны основные возможности этих двух систем.

AppArmor и SELinux

И SELinux, и AppArmor предоставляют инструменты безопасности, которые изолируют приложения и ограничивают доступ злоумышленнику, взломавшему одну часть системы.

AppArmor работает, сначала предоставляя доступ, а затем применяя ограничения.

SELinux же по умолчанию ограничивает доступ ко всем приложениям и предоставляет доступ только тем пользователям, которые имеют соответствующие сертификаты.

У этих двух систем много общих черт, но есть и некоторые различия:

Место сравнения AppArmor SELinux
Контроль доступа Использует профили безопасности, основанные на путях. Использует политики безопасности на основе меток файлов.
Доступность Доступен для любого дистрибутива, но в основном используется на SUSE и Ubuntu. Доступен для любого дистрибутива, но в основном используется на системах RHEL/Fedora.
Трудность обучения Более короткая кривая обучения, более простая настройка и администрирование. Более сложный и менее интуитивный.
Независимая проверка Возможно. Невозможно.
Требуется сложная конфигурация Нет Да.
MLS/MCS Нет Да.
Влияние на производительность системы Нет, но время запуска больше. Нет.
Правила политики Не хватает гибкости. Гибкие
Уровень контроля Средний Высокий

AppArmor

AppArmor – это практичный модуль безопасности Linux, который по умолчанию включен в Ubuntu начиная с версии 7.10.

Модуль позволяет разработчикам ограничить использование приложениями определенных файлов.

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

Модуль использует профили безопасности для определения разрешений, необходимых приложению.

Профили – это текстовые файлы, загружаемые в ядро, обычно при загрузке.

  • Записи пути. Они определяют, к каким файлам может получить доступ приложение.
  • Записи о возможностях. Эти правила определяют привилегии, которыми может пользоваться ограниченный процесс.

Профили предназначены для ограничения определенных приложений и работают в двух режимах.

  • Complain mode В этом режиме система сообщает о попытках нарушения политики, но не обеспечивает соблюдение правил.
  • Enforce mode. В режиме Enforce новый профиль проверяется, и все нарушения пресекаются.

AppArmor состоит из следующих компонентов:

  • Server analyzer. Автоматически сканирует порты и находит приложения, прослушивающие их. Он также обнаруживает приложения без профилей и те, которые AppArmor необходимо ограничить.
  • Profile generator. Статический процесс, который анализирует приложения и создает шаблон профиля.
  • Optimizer. Этот компонент регистрирует и собирает события в профиль нормального поведения.

Кроме Ubuntu, AppArmor по умолчанию работает в дистрибутивах Debian, SUSE Enterprise Server, OpenSUSE и других дистрибутивах.

Чтобы проверить статус модуля, выполните следующее:

sudo apparmor_status

Вывод показывает, что AppArmor активен в системе.

Команда также выводит список установленных профилей и активных ограниченных процессов.

Преимущества AppArmor

Основными преимуществами AppArmor являются простота и короткая кривая обучения.

Этот модуль гораздо менее сложен, чем SELinux, что делает его более простым в настройке и управлении.

Инструмент работает непосредственно с профилями (текстовыми файлами) для контроля доступа, и операции с файлами более просты.

Эта особенность делает

AppArmor более удобным для пользователя, чем SELinux с его политиками безопасности.

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

Недостатки AppArmor

В AppArmor более одного пути могут ссылаться на одно и то же приложение.

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

Более того, самое сильное преимущество AppArmor – простота – также является причиной того, что программа считается менее безопасной.

В AppArmor нет многоуровневой безопасности (MLS) и многокатегорийной безопасности (MCS).

Отсутствие поддержки MCS делает AppArmor практически неэффективным в средах, требующих MLS.

Другим недостатком является то, что загрузка политик также занимает больше времени, поэтому система запускается медленнее.

SELinux

SELinux (Security Enhanced Linux) – это модуль безопасности Linux, встроенный в ядро Linux.

Система дает сисадминам больше контроля над тем, кто имеет доступ к ресурсам.

SELinux присваивает метки файлам, процессам и портам системы.

Тип метки жизненно важен для целевых политик, а применение типа – вторая по важности концепция в SELinux.

Маркировка служит в качестве механизма группировки, который присваивает файлам и процессам различные типы меток.

Модель безопасности с применением типов помогает SELinux определить, имеет ли процесс с определенным типом метки доступ к файлу с другим типом метки.

Система ограничивает доступ по умолчанию (в отличие от AppArmor).

Пользователи должны быть правильно настроены, чтобы получить доступ к любому ресурсу.

SELinux обналичивает предыдущие решения в кэше векторов доступа (AVC), например, разрешение или ограничение доступа.

Обналичивание решений ускоряет процесс управления доступом.

Например, если приложение пытается получить доступ к файлу, SELinux сверяется с AVC и разрешает или запрещает доступ на основе предыдущего решения.

В RHEL, CentOS и Fedora SELinux установлен или доступен по умолчанию.

Чтобы узнать текущее состояние SELinux, выполните следующее:

sudo sestatus

Преимущества SELinux

Несмотря на сложные политики (и благодаря им), SELinux считается более надежным вариантом безопасности Linux.

Маркировка и применение типов позволяют SELinux предоставлять доступ только в том случае, если это разрешено правилом политики.

Этот процесс реализует более надежный и глубокий контроль доступа.

Благодаря совместимости с MLS, SELinux предлагает лучшие возможности доступа.

Например, один из основных принципов MLS заключается в том, что пользователи могут читать файлы только своего уровня чувствительности и ниже.

Однако в SELinux системные администраторы могут читать и писать файлы на своем уровне чувствительности и ниже.

По умолчанию система отделяет файлы друг от друга и от хоста и поддерживает это разделение.

Например, файл имеет разные наборы разрешений:

  • Владелец (пользователь).
  • Группа, владеющая файлом.
  • Другие пользователи/группы, имеющие доступ к файлу.

Недостатки SELinux

SELinux предоставляет системным администраторам универсальный инструмент контроля доступа.

Однако этот модуль безопасности имеет некоторые недостатки.

SELinux довольно сложен в изучении, настройке и управлении.

Хотя программа эффективно контролирует доступ к приложениям и файлам, устранение потенциальных проблем является сложной задачей для новичков.

Не всегда легко определить, что на самом деле означает сообщение об ошибке и где искать проблему.

В целом, SELinux не очень удобен и неопытные администраторы могут столкнуться с трудностями при обучении.

Важно: SELinux часто отказывает в действии, если файлам неправильно назначен лейбл.

Заключение

Теперь вы знаете преимущества и недостатки SELinux и AppArmor.

Обе системы предлагают различные подходы к безопасности Linux и защищают машины от несанкционированного доступа и модификации системных ресурсов.

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий