Лог dmesg переполнен аудитом, как можно это предотвратить?

Вопрос или проблема

Я использую Transmission GTK для загрузки через торрент. Мой лог dmesg заполнен аудитом, и, не зная, для чего это нужно, мне это кажется неважным, я не могу использовать dmesg для других целей. Он заполняется так быстро, что я даже не могу выделить текст… Поэтому прошу прощения за это изображение:

dmesg flood by audit

Я на Linux Mint 22 Cinnamon, так что этот вопрос не совсем отвечает моей нужде.

Первое замечание. Вы используете Transmission GTK с App Armor. И именно AppArmor генерирует эти сообщения. По умолчанию они отправляются в dmesg. Нельзя это изменить.

Во-вторых, судя по предоставленному скриншоту, сервис auditd, который работает, не был настроен с функциональностью apparmor. Вот почему вы получаете все числовые значения в имени и других полях. И это создает вам неудобства. Пожалуйста, обратитесь к этому ссылке для получения дополнительной информации. Это для дистрибутива, отличного от Mint, но это также будет применимо к вашему случаю. Чтобы исправить эту проблему, пожалуйста, создайте обсуждение на форуме поддержки Mint с соответствующими деталями и попросите их рассказать, как настроить сервис auditd с функциональностью apparmor. Приложите тот же скриншот и спросите их, хотите ли вы заменить числовые значения на соответствующие текстовые значения.

В-третьих и, наконец, вопрос ссылка, которую вы предоставили, содержит некоторые хорошие предложения. Пожалуйста, посмотрите, работают ли они.

Теперь я предполагаю, что вы не хотите отключать сервис auditd. И если вы думаете об этом, то, пожалуйста, не делайте этого. Вы можете рассмотреть возможность запуска Transmission GTK без App Armor, но это уменьшит вашу безопасность и защиту в Интернете.

Наконец, возможно, есть способ остановить сообщения аудита от App Armor при запуске Transmission GTK. Это не безошибочно, но может сработать. Запустите одну из следующих команд. Предпочтительнее вторая команда.

auditctl -A exclude,never -F pid=20279

ИЛИ

auditctl -A exclude,never -F path=Замените_Эта_На_Абсолютный_Путь_К_TransmissionGTK

Замените 20279 на идентификатор процесса Transmission GTK. Если вы используете вторую команду, укажите абсолютный путь к Transmission GTK.

Настоятельно рекомендую использовать вторую команду. Если она не сработает, тогда используйте первую.

Объяснение команды

  • -A = Это добавит правило в начало существующих правил.

    exclude = отфильтровать те события, которые вы не хотите видеть

    never = Записи аудита не будут созданы

    -F = Создать правило. Может быть до 64 различных правил в цепочке. Одно за другим.

    pid = Отфильтровать правило по PID. Это опасно, потому что
    идентификатор процесса будет изменяться при перезагрузке или
    когда Transmission GTK будет закрыт.

    20279 = Это значение я взял из скриншота, который вы прикрепили.
    Его нужно заменить на фактический идентификатор процесса Transmission GTK.

    path = Отфильтровать правило по абсолютному пути.

Более подробная информация представлена в руководстве по auditd. Пожалуйста, ознакомьтесь с ним. Это поможет вам.

Как только вы проведете свое расследование и вам больше не нужно фильтровать сообщения аудита от Transmission GTK, введите следующую команду для удаления правила:

auditctl -d exclude,never -F pid=20279

ИЛИ

auditctl -d exclude,never -F path=Замените_Эта_На_Абсолютный_Путь_К_TransmissionGTK

В зависимости от того, какое правило вы реализовали.
Замените 20279 и Замените_Эта_На_Абсолютный_Путь_К_TransmissionGTK на соответствующие значения.


Примечания редактора:

  • Мне пришлось изменить команду в соответствии с руководством, и теперь, похоже, она работает после перезагрузки:

    # auditctl -a exclude,never -F exe=/usr/bin/transmission-gtk
    
  • Хотя это правило, похоже, не сохраняется после перезагрузки.

  • Я должен был сказать, что сначала он сообщил мне, что у меня не установлен auditd. Поэтому я, естественно, установил его. Мне не пришло в голову, что это может решить проблему. Может быть, это и так, потому что после еще одной перезагрузки я не вижу никаких сообщений, связанных с Transmission GTK, в dmesg!

Ответ или решение

К вопросу о том, как предотвратить зат flooding в журнале dmesg из-за сообщений аудита при использовании Transmission GTK, предлагаю следующее решение.

Шаги для настройки и ограничения сообщений аудита

  1. Проверка работы AppArmor: Как вы заметили, сообщения в журнал dmesg генерируются именно средством AppArmor. Это встроенный механизм безопасности в Linux, который изолирует программы, ограничивая их доступ к системным ресурсам. Убедитесь, что AppArmor правильно настроен для работы с Transmission GTK. Для этого вы можете использовать команды aa-status и aa-enforce для проверки статуса профиля Transmission и его активации.

  2. Настройка auditd:
    Чтобы повысить информативность сообщений логирования, вы можете настроить службу auditd, чтобы она вместо числовых идентификаторов отображала текстовые значения в отчетах. Для этого обновите конфигурацию auditd в соответствии с документацией, похожей на инструкции по настройке AppArmor.

  3. Исключение сообщений о Transmission GTK: Если вам не нужны сообщения аудита для Transmission GTK, вы можете добавить правило, чтобы исключить их. Используйте одну из следующих команд (предпочтительно вторую):

    auditctl -A exclude,never -F pid=PID_Transmission_GTK

    или

    auditctl -A exclude,never -F path=/usr/bin/transmission-gtk

    Замените PID_Transmission_GTK на фактический идентификатор процесса Transmission GTK, который можно получить с помощью pgrep transmission-gtk.

Пояснение команды

  • -A: Добавляет правило в начале списка существующих правил.
  • exclude: Фильтрует события, которые вы не хотите видеть.
  • never: Означает, что записи аудита для данного условия никогда не будут создаваться.
  • -F: Определяет правило фильтрации (по PID или абсолютному пути).

Удаление правила после тестирования

Если вы решите удалить правило, используйте команду:

auditctl -d exclude,never -F pid=PID_Transmission_GTK

или

auditctl -d exclude,never -F path=/usr/bin/transmission-gtk

Примечания

  • Учтите, что ваши изменения не сохранятся после перезагрузки. Чтобы они работали постоянно, вам нужно добавить соответствующие команды в скрипты инициализации системы или конфигурацию auditd.
  • Если вы всё равно не видите сообщений во время перезагрузки после установки auditd, это может указывать на то, что что-то в конфигурации было исправлено, и это может сократить количество ненужных сообщений о аудите.

Использование этих шагов должно помочь вам управлять сообщениями журнала dmesg и сохранить его полезность для других целей. Не стесняйтесь обратиться на форумы поддержки Linux Mint для получения дополнительной информации или конкретной помощи с конфигурацией.

Оцените материал
Добавить комментарий

Капча загружается...