Как проверить, активен ли профиль AppArmor в Linux

LinuxLinuxBeginner
Практиковаться сейчас

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

Введение

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

В частности, вы будете использовать команду aa-status для вывода списка загруженных профилей и их режимов (enforce или complain), изучать содержимое каталога /etc/apparmor.d, чтобы увидеть доступные файлы профилей, и проверять статус AppArmor в файловой системе /sys/kernel/security. Эти шаги дадут вам полное представление о том, как проверить рабочее состояние AppArmor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/ls -.-> lab-558778{{"Как проверить, активен ли профиль AppArmor в Linux"}} linux/cat -.-> lab-558778{{"Как проверить, активен ли профиль AppArmor в Linux"}} linux/sudo -.-> lab-558778{{"Как проверить, активен ли профиль AppArmor в Linux"}} linux/nano -.-> lab-558778{{"Как проверить, активен ли профиль AppArmor в Linux"}} end

Вывод списка профилей AppArmor с помощью команды aa-status

На этом этапе вы научитесь выводить список активных профилей AppArmor в своей системе с использованием команды aa-status. AppArmor — это модуль безопасности, который обеспечивает обязательный контроль доступа (mandatory access control, MAC), ограничивая программы набором ресурсов.

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

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

sudo aa-status

Вам нужно использовать sudo, так как проверка статуса AppArmor требует административных привилегий.

После выполнения команды вы увидите вывод, похожий на следующий:

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

Вывод команды дает сводку о статусе AppArmor:

  • apparmor module is loaded: Указывает, что модуль ядра AppArmor активен.
  • profiles are loaded: Показывает общее количество профилей AppArmor, загруженных в ядро.
  • profiles are in enforce mode: Список профилей, которые активно ограничивают поведение связанных с ними приложений. Если приложение пытается сделать что - то, не разрешенное его активным профилем, действие блокируется, и создается запись в журнале.
  • profiles are in complain mode: Список профилей, которые отслеживают поведение связанных с ними приложений, но не накладывают ограничений. Если приложение пытается сделать что - то, не разрешенное его профилем в режиме complain, действие разрешено, но создается запись в журнале. Этот режим полезен для разработки и тестирования профилей.
  • processes are unconfined: Показывает количество запущенных процессов, которые в настоящее время не управляются профилем AppArmor.

Понимание вывода команды aa-status является первым шагом в управлении AppArmor и оценке безопасности вашей системы.

Нажмите Продолжить, чтобы перейти к следующему шагу.

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

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

Профили AppArmor обычно находятся в каталоге /etc/apparmor.d/. Этот каталог содержит файлы профилей, которые представляют собой обычные текстовые файлы, определяющие правила для каждого ограниченного приложения.

Чтобы вывести список содержимого этого каталога, используйте команду ls:

ls /etc/apparmor.d/

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

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

bootchartd             usr.sbin.tcpdump
...

Обычно эти имена файлов соответствуют пути к исполняемым файлам, которые они предназначены для ограничения. Например, usr.sbin.tcpdump - это профиль для команды /usr/sbin/tcpdump.

Вы можете просмотреть содержимое файла профиля с помощью текстового редактора, такого как nano. Давайте посмотрим профиль для usr.sbin.tcpdump. Введите следующую команду:

nano /etc/apparmor.d/usr.sbin.tcpdump

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

Чтобы выйти из nano, нажмите Ctrl + X. Если вы внесли какие - то изменения, программа спросит, хотите ли вы сохранить их. Нажмите N (Нет), затем Enter для подтверждения.

Изучение файлов в каталоге /etc/apparmor.d/ дает вам представление о конкретных политиках безопасности, применяемых к различным приложениям в вашей системе.

Нажмите Продолжить, чтобы перейти к следующему этапу.

Проверка статуса AppArmor в каталоге /sys/kernel/security

В дополнение к команде aa-status вы также можете проверить статус AppArmor напрямую через файловую систему /sys. Файловая система /sys предоставляет интерфейс к структурам данных ядра и содержит информацию о модулях безопасности, таких как AppArmor.

Соответствующий каталог для статуса AppArmor в рамках /sys - это /sys/kernel/security/apparmor/.

Давайте выведем список содержимого этого каталога, чтобы увидеть, какую информацию можно получить:

ls /sys/kernel/security/apparmor/

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

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

features  profiles  policy  revision  ...

Особенно полезным файлом является profiles. Вы можете просмотреть его содержимое с помощью команды cat:

cat /sys/kernel/security/apparmor/profiles

В этом файле перечислены текущие загруженные профили AppArmor и их статус (например, enforce - режим строгого ограничения, complain - режим мониторинга или unconfined - без ограничений). Вывод похож на список профилей, который вы видели с помощью команды aa-status, но это прямой просмотр состояния ядра.

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

/usr/sbin/tcpdump (enforce)
...

Проверка каталога /sys/kernel/security/apparmor/ и его файлов представляет собой более низкоуровневый способ понять статус AppArmor и может быть полезна для отладки или более глубокого анализа.

Теперь вы узнали три разных способа проверить статус и наличие профилей AppArmor в системе Linux.

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

Резюме

В этой лабораторной работе вы научились проверять, активен ли профиль AppArmor в системе Linux. Вы начали с использования команды aa-status с привилегиями sudo для вывода списка загруженных профилей AppArmor и понимания их статуса, в том числе того, находятся ли они в режиме строгого ограничения (enforce) или режиме мониторинга (complain). Эта команда позволяет быстро получить обзор состояния модуля AppArmor и количества профилей, активно управляющих процессами.

В рамках лабораторной работы также было рассмотрено, как проверить каталог /etc/apparmor.d для просмотра доступных файлов профилей AppArmor, которые представляют собой политики безопасности для различных приложений. Наконец, вы узнали, как проверить путь /sys/kernel/security для подтверждения наличия и статуса ядрового модуля AppArmor в рамках системы безопасности операционной системы.