Вопрос или проблема
1 раз(а): аудит: тип=1400 аудит(1473854574.089:113): apparmor="STATUS" операция="profile_replace" профиль="unconfined" имя="/usr/lib/cups/backend/cups-pdf" pid=31430 comm="apparmor_parser"
1 раз(а): аудит: тип=1400 аудит(1473854574.089:114): apparmor="STATUS" операция="profile_replace" профиль="unconfined" имя="/usr/sbin/cupsd" pid=31430 comm="apparmor_parser"
1 раз(а): аудит: тип=1400 аудит(1473854574.089:115): apparmor="STATUS" операция="profile_replace" профиль="unconfined" имя="/usr/sbin/cupsd" pid=31430 comm="apparmor_parser"
Должен ли я волноваться?
Я использую Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-36-generic x86_64)
Во-первых, это означает, что вам следует прочитать man -k apparmor
и страницы man
.
Во-вторых, apparmor="STATUS"
показывает, что это отчет о статусе, сообщающий о операции "profile_replace"
, заменяющий текущий профиль apparmor на профиль profile="unconfined"
, от имени name="/usr/lib/cups/backend/cups-pdf" pid=31430
, name="/usr/sbin/cupsd" pid=31430
и name="/usr/sbin/cupsd" pid=31430
, с использованием команды apparmor_parser
(см. man apparmor_parser
).
На английском это CUPS - Common Unix Printing System
говорит AppArmor, что он хочет работать в старом, “unconfined”, режиме “AppArmor не беспокой меня”, который используется программами, которые еще не адаптировались к жизни с AppArmor.
Для получения дополнительной информации о AppArmor смотрите “Что такое AppArmor?” https://askubuntu.com/questions/236381/what-is-apparmor?rq=1
Вам не нужно волноваться, но определенный уровень обеспокоенности всегда уместен.
Я бы хотел не согласиться с ответом waltinator. Если процесс мог бы сказать apparmor “оставь меня в покое”, то в этом не было бы смысла, верно?
Я прочитал страницы справки и приветствую ссылки, которые могут быть применимы.
Каждый раз, когда я ввожу “sudo service mysql restart”, я вижу похожее сообщение в syslog…
время ядра: аудит: тип=1400 apparmor=”STATUS” операция=”profile_replace” профиль=”unconfined” имя=”/usr/sbin/mysqld” pid=5014 comm=”apparmor_parser”
Если я затем введу “sudo aa-status”, я вижу, что mysql находится в списке “nn процессов работает в режиме enforcement”
0 процессов в режиме complain.
0 процессов не имеет профиля, но профиль определен.
Так что я думаю, что это довольно запутанное сообщение просто говорит apparmor… Я только что нашел процесс, совпадающий с profile=”unconfined”, и я собираюсь выполнить операцию=”profile_replace”.
Эти сообщения также появляются, когда ПК перезагружается, предположительно по той же причине: apparmor загружается первым, а затем, когда другие процессы загружаются, он их ограничивает.
Также обратите внимание, что если вы перезапустите apparmor, то все ограниченные в данный момент процессы станут неограниченными. Используйте “sudo service apparmor reload” или перезагрузите после внесения любых изменений в конфигурацию apparmor.
Резюме
Эти сообщения указывают на то, что подсистема AppArmor (пере)загружает профиль(и), которые определяют политику безопасности AppArmor. Это происходит нормально во время запуска системы или если вы перезапускаете единицу apparmor.service
.
Они не указывают на что-то, что было разрешено или отклонено AppArmor. Они указывают на то, что политика (которая определяет правила для разрешения/отказа) была (пере)загружена.
Детали
Аудит
аудит: тип=1400 аудит(1473854574.089:114):
Префикс audit:
означает, что это сообщение от подсистемы аудита ядра, которая используется как SELinux, так и AppArmor. В контексте компьютерной безопасности “аудит” обычно означает “регистрация”. (Поскольку логи позволяют отслеживать события, происходящие в системе. Терминология перегружена.)
тип=1400
– это код типа события. 1400 – это AUDIT_AVC
, “отказ или разрешение SE Linux avc”. Хотя AppArmor работает, чтобы заменить SELinux с точки зрения интерфейса для оператора, он реализован поверх некоторых примитивов SELinux. В результате большинство/все сообщения AppArmor регистрируются с использованием этого кода.
аудит(1473854574.089:114)
предоставляет временную отметку и идентификатор события.
Временная отметка использует стандартный формат Unix “секунды с 1 января 1970 года, 00:00:00 UTC”. Вы можете декодировать ее с помощью утилиты GNU date(1)
. Например:
$ date -d '@1473854574.089'
Ср, 14 сентября 2016 года 08:02:54 EDT
Идентификатор события – это в основном просто номер последовательности, начиная с одного (не нуля) при загрузке системы. Предполагается, что несколько строк журнала могут ссылаться на один и тот же идентификатор события, если они все являются частью одной транзакции.
Лидер AppArmor
apparmor="STATUS" операция="profile_replace"
apparmor=STATUS
указывает, что это сообщение AppArmor (в отличие от правильного сообщения SELinux). Тип сообщения AppArmor здесь – это статусный отчет, т.е. что-то о системе AppArmor в целом – и не о решении по разрешениям. Они регистрируются как ALLOWED
или DENIED
.
operation
указывает на операцию, которая спровоцировала сообщение журнала аудита AppArmor. profile_replace
означает, что определение профиля в ядре заменяется новым. Для обычных операций это такие действия, как open
или write
.
Сущности AppArmor
профиль="unconfined" имя="/usr/lib/cups/backend/cups-pdf"
Профиль AppArmor – это набор правил, которые применяются в определенных обстоятельствах. profile=unconfined
означает, что процесс, который вызвал это событие, не ограничен никаким профилем AppArmor. Никакой профиль не применяется. Никакие правила AppArmor не применяются. Это имеет смысл, поскольку большинство ограничений блокировало бы profile_reload
.
name
сообщает нам имя объекта, связанного с этим событием. Здесь объект используется в грамматическом смысле: это то, на что воздействуют. Поскольку это операция profile_replace
, это профиль, который заменяется.
Профили AppArmor традиционно именуются с использованием полного пути к исполняемому файлу. При поиске файла определения профиля слэши (/
) заменяются на точки (.
). Таким образом, соответствующий профиль будет /etc/apparmor.d/usr.lib.cups.backend.cups-pdf
.
Детали процесса
pid=31430 comm="apparmor_parser"
Идентификатор процесса 31430 выполнил операцию profile_replace
. Название команды, связанной с этим процессом, было apparmor_parser
. apparmor_parser
– это имя программы, которая загружает профили AppArmor в ядро.
Ссылки
https://manpages.ubuntu.com/manpages/en/man7/apparmor.7.html
https://manpages.ubuntu.com/manpages/en/man5/apparmor.d.5.html
https://manpages.ubuntu.com/manpages/en/man8/apparmor_parser.8.html
https://github.com/torvalds/linux/blob/master/include/uapi/linux/audit.h
https://github.com/linux-audit/audit-documentation/blob/main/specs/fields/field-dictionary.csv
https://wiki.ubuntu.com/DebuggingApparmor#Debugging_procedure
https://wiki.debian.org/AppArmor/HowToUse#Diagnose_if_a_bug_might_have_been_caused_by_AppArmor
Ответ или решение
Логи аудита AppArmor: Что это значит?
Когда вы сталкиваетесь с логами аудита AppArmor, такими как:
audit: type=1400 audit(1473854574.089:113): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=31430 comm="apparmor_parser"
это указывает на несколько важных моментов, связанных с системой безопасности вашего Ubuntu. Давайте подробнее разберем, что это означает и следует ли вам беспокоиться.
Основные аспекты логов AppArmor
-
Исходная информация:
- audit: – Это префикс, который указывает на то, что сообщение поступает из подсистемы аудита ядра, используемой как в SELinux, так и в AppArmor.
- type=1400 – Код типа события. Этот код часто используется в контексте аудита для логирования событий, касающихся политик безопасности.
- audit(1473854574.089:113) – Здесь представлено время события в формате Unix и уникальный идентификатор события. Значение времени может быть переведено в стандартный вид при помощи утилиты
date
.
-
Статус AppArmor:
- apparmor="STATUS" – Это указывает, что сообщение касается статуса системы AppArmor, а не конкретного решения о разрешении или запрете.
- operation="profile_replace" – Операция, которая указывает на то, что профиль AppArmor заменяется.
- profile="unconfined" – Профиль, означающий, что соответствующий процесс не ограничен политиками AppArmor. То есть, он работает в режиме, когда не применяются какие-либо правила безопасности.
-
Процесс и его идентификаторы:
- name="/usr/lib/cups/backend/cups-pdf" – Указывает путь к исполняемому файлу, для которого происходит замена профиля.
- pid=31430 comm="apparmor_parser" – Идентификатор процесса и название команды, которая выполняет операцию профиля.
Что это значит в контексте?
Логи, которые вы видите, говорят о том, что некоторые процессы (в данном случае CUPS – Common Unix Printing System) запускаются в "неограниченном" режиме (Unconfined Mode), который не накладывает дополнительные лимиты и правила безопасности. Это может быть нормально при использовании некоторых программ, которые еще не адаптированы к работе с AppArmor.
Должен ли я беспокоиться?
Для Ubuntu 14.04.5 LTS использование неограниченных профилей AppArmor само по себе, как правило, не является поводом для беспокойства, если вы уверены в безопасности и стабильности всех выполняемых вами приложений:
- Если вы не изменяли настройки AppArmor и видите такие события при обычной работе системы, это скорее всего нормальное поведение при загрузке служб.
- Обратите внимание, что сообщения о статусе не показывают, что система разрешает или запрещает что-то. Они просто информируют вас о том, что профили были переподгружены.
Тем не менее, разумно оставаться на чеку. Если вы заметите подозрительное поведение приложений или системы, стоит внимательно просмотреть логи и при необходимости обновить свои политики безопасности.
Рекомендации
-
Изучите документацию:
Чтениеman
страниц по AppArmor может помочь вам лучше понять, как работает система и как минимизировать риски. -
Проверка профилей:
Периодически проверяйте статус профилей AppArmor с помощью командыsudo aa-status
. Это поможет вам увидеть, какие процессы в данный момент имеют активные профили. -
Регулярное обновление системы:
Поддержка вашей операционной системы в актуальном состоянии также снизит риски уязвимостей.
С учетом вышеизложенного, такие сообщения в логах не должны вызывать слишком большой тревоги, однако всегда стоит проявлять внимательность к вопросам безопасности вашей системы.