Как включить или отключить AppArmor в Ubuntu 22.04

ubuntu logo System

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

Разработка AppArmor началась еще в начале 2000-х годов, когда он был создан как альтернатива традиционным моделям контроля доступа Unix/Linux. В то время Linux становился все более популярной серверной платформой, и росла потребность в более совершенных решениях безопасности для защиты от вредоносного ПО и несанкционированного доступа. В ответ на это был запущен проект AppArmor, который быстро завоевал популярность благодаря простоте использования и гибким возможностям настройки.

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

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

  • Гибкая конфигурация: AppArmor позволяет создавать пользовательские профили для каждого приложения, обеспечивая возможность точной настройки политик безопасности в соответствии с конкретными требованиями.
  • Обязательный контроль доступа: AppArmor применяет обязательный контроль доступа, что означает, что приложениям разрешен доступ только к ресурсам, определенным в их профилях.
  • Простота использования: AppArmor разработан для простоты использования, с простым и интуитивно понятным процессом настройки.
  • Защита от атак: AppArmor помогает предотвратить атаки, ограничивая приложения ограниченным набором ресурсов и разрешений.
  • Улучшенная безопасность системы: Ограничивая приложения ограниченным набором ресурсов, AppArmor помогает повысить общую безопасность системы и снизить риск несанкционированного доступа.
  • Совместимость с другими инструментами безопасности: AppArmor разработан для работы с другими инструментами безопасности, такими как SELinux и брандмауэры, обеспечивая дополнительный уровень защиты.
  • Интеграция с ядром Linux: AppArmor интегрирован в ядро Linux, обеспечивая эффективное и надежное применение средств безопасности.

В этом руководстве вы узнаете, как включить или отключить профили AppArmor на Ubuntu 22.04 "Jammy Jellyfish" или Ubuntu 20.04 "Focal Fossa" с помощью терминала командной строки, а также несколько полезных советов.

Шаг 1: Установите необходимые пакеты

Чтобы использовать весь спектр функциональных возможностей AppArmor, важно установить пакет "apparmor-utils". Некоторые команды, обсуждаемые в этом руководстве, могут быть недоступны без этого пакета. Чтобы установить пакет, откройте терминал и выполните следующую команду.

sudo apt install apparmor-utils apparmor-notify apparmor-profiles apparmor-profiles-extra

Шаг 2: Проверьте состояние AppArmor

По умолчанию Apparmor установлен и включен при установке Ubuntu. Чтобы проверить его состояние, выполните следующую команду.

systemctl status apparmor

Проверка того, что AppArmor работает с systemd, является важным первым шагом. Хотя существуют и другие методы проверки состояния AppArmor, использование приведенной выше команды в качестве отправной точки является хорошей практикой. Позже в руководстве вы узнаете о различных способах проверки AppArmor, но эта начальная проверка обеспечивает прочную основу для того, чтобы убедиться, что система работает так, как ожидается.

Далее приведем краткое описание команд systemd.

Остановите Apparmor:

Отключить Apparmor при загрузке системы:

Запустить Apparmor:

Включить Apparmor при загрузке системы (по умолчанию):

Перезапустить AppArmor:

Перезагрузить Apparmor:

Шаг 3: Проверьте загрузку профилей AppArmor

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

Пример вывода:

sudo apparmor_status

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

Другим вариантом проверки состояния профилей AppArmor является использование команды aa-status. Эта команда даст вам более подробную и точную информацию о текущем состоянии AppArmor в вашей системе.

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

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

Это создаст резервную копию ваших профилей AppArmor в каталоге /etc/apparmor.d.bak, чтобы вы могли быстро вернуться к ним в случае каких-либо проблем. С этой резервной копией вы можете смело приступать к включению или отключению AppArmor в вашей системе Ubuntu.

Шаг 4: Отключение профиля AppArmor

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

Сначала перейдите в каталог /etc/apparmor.d.

Теперь используйте команду ls, чтобы перечислить профили в каталоге /etc/apparmor.d.

профили apparmor в каталоге /etc/apparmor.d

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

Чтобы отключить профиль, выполните следующую команду.

Например, чтобы отключить профиль usr.sbin.nscd, вы можете использовать следующую команду:

Это фактически отключит профиль usr.sbin.nscd, и изменения вступят в силу немедленно. Чтобы просмотреть список правил, которые в данный момент отключены, можно перейти в каталог /etc/apparmor.d/disable и использовать команду ls.

Пример вывода:

Отключение профиля AppArmor

Шаг 5: Включить профиль AppArmor

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

В руководстве отключен usr.sbin.cupsd, поэтому команда примера снова включит этот профиль.

Пример вывода:

Дальнейшее изучение команд AppArmor

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

Использование команды "aa-genprof"

Команда aa-genprof генерирует новый профиль AppArmor на основе текущей активности системы. Она регистрирует все системные вызовы приложения и создает новый профиль на основе данных журнала. Это полезно для создания профилей для новых приложений, у которых еще не определен профиль.

Пример: Чтобы создать новый профиль для приложения "firefox", выполните следующую команду.

Использование команды "aa-enforce"

Команда "aa-enforce" усиливает профили AppArmor в системе Ubuntu. Эта команда удобна, когда вы изменили профили AppArmor и хотите немедленно применить новые политики без перезагрузки системы.

Пример: Чтобы применить текущие профили AppArmor, выполните следующую команду.

Или примените профиль по отдельности.

Использование команды "aa-disable"

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

Чтобы использовать команду aa-disable, передайте ей имя профиля, который вы хотите отключить. Например, чтобы отключить профиль для "Firefox", выполните следующую команду.

Стоит отметить, что отключение профиля - это временное изменение, и профиль будет снова включен, если вы перезагрузите систему или перезапустите службу AppArmor.

Использование команды "aa-complain"

Команда "aa-complain" переключает профиль в "режим жалобы". В этом режиме AppArmor все еще будет применять профиль, но вместо отказа в доступе к ограниченным ресурсам он будет записывать сообщение в syslog. Это может быть полезно для тестирования и отладки, поскольку позволяет увидеть, какой доступ блокирует профиль, не блокируя его на самом деле.

Вот пример использования команды "aa-complain".

В этом примере команда "aa-complain" используется для переключения профиля "/usr/sbin/cupsd" в "режим жалоб". Обратите внимание, что вам нужно заменить "usr.sbin.cupsd" на имя профиля, который вы хотите переключить в "режим жалоб".

Использование команды "aa-remove-unknown"

Команда "aa-remove-unknown" удаляет профили AppArmor для неизвестных приложений в системе Ubuntu. Эта команда полезна, когда вы хотите очистить коллекцию профилей AppArmor и удалить все профили, которые больше не используются.

Вот пример использования команды "aa-remove-unknown".

Команда "aa-remove-unknown" помогает очистить коллекцию профилей AppArmor в системе Ubuntu. Используя эту команду, вы можете легко удалить профили для неизвестных приложений, сохраняя свою коллекцию профилей упорядоченной и актуальной.

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

Часто задаваемые вопросы

Включен ли AppArmor по умолчанию в Ubuntu?

Да, AppArmor включен по умолчанию в Ubuntu.

Каковы преимущества использования AppArmor на Ubuntu?

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

Каковы недостатки использования AppArmor в Ubuntu?

К недостаткам использования AppArmor на Ubuntu можно отнести повышенную сложность системы, накладные расходы на производительность и сложность в настройке правил AppArmor.

Почему Ubuntu не использует SELinux по умолчанию?

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

Что имеет лучшую производительность, AppArmor или SELinux?

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

Что более безопасно, AppArmor или SELinux, для системы Ubuntu?

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

Необходим ли AppArmor на Ubuntu?

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

Заключение

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

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

Avatar for Gnostis
Gnostis
Ubuntu
Добавить комментарий