Как отключить бесполезные записи журнала «успех аудита» в dmesg


11

Краткая версия: Как отключить сообщения аудита (dmesg) в системе Fedora?


Система Fedora продолжает регистрировать сообщения «аудит: успех» в dmesg - таким экстремальным образом, что dmesg стал непригодным для использования, потому что он заполнен этими сообщениями ( dmesg | grep -v auditпуст). Эти сообщения совершенно бесполезны, поскольку они, очевидно, хотят информировать пользователя о том, что какой-то внутренний внутренний процесс завершился успешно (что может представлять интерес при отладке чего-либо, но в данном случае это просто шум).

Даже интерфейс командной строки (при переключении на не-X tty с помощью Ctrl+ Alt+ F2) стал непригодным для использования, поскольку он всегда загроможден этими сообщениями аудита, невозможно прочитать выходные данные команд, которые фактически выполняются пользователем. Например, после ввода имени пользователя (логина) выводится сообщение аудита (очевидно, сообщающее пользователю, что что-то было отформатировано / напечатано успешно):

аудит: тип = 1131 аудит (1446913801.945: 10129): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" hostname =? адр =? терминальные =? Рез = успех

Похоже, что большинство этих сообщений указывают на «успех», однако есть также много сообщений аудита, которые не содержат этого ключевого слова. Запуск Chromium запускает сотни из них:

аудит: тип = 1326 аудит (1446932349.568: 10307): auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome" exe = "/ usr / lib64 / chromium / chrome" sig = 0 arch = c000003e syscall = 273 compat = 0 ip = 0x7f9a1d0a34f4 code = 0x50000

Другие сообщения включают в себя:

аудит: тип = 1131 аудит (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr / lib / systemd / systemd" имя хоста знак равно адр =? терминальные =? Рез = успех

аудит: тип = 1103 аудит (1446926401.821: 10253): pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM: setcred grantors = p am_env, pam_unix acct = "пользователь" exe = "/ usr / sbin / crond "hostname =? адр =? терминал = cron res = успех '

Как правило, большинство недавних аудиторских сообщений (на момент написания) содержат ключевое слово « NetworkManager » или « chrome ».

Как можно полностью отключить эти сообщения?


Дополнительные баллы:

  • В случае, если кто-то может подумать: «Вы должны прочитать и проанализировать эти аудиторские сообщения, а не отключать их, они могут быть важными», нет, они не важны, это почти исключительно сообщения «успеха». Никому не нужно говорить, что то, что должно работать, действительно работает. Однако, если регистрируется одно действительно важное сообщение, оно никогда не будет замечено в шторме тысяч незначительных сообщений. В любом случае, в этой конкретной системе не требуется ведение журнала аудита (в любом случае он работает в контролируемой среде).
  • Очевидно, что-то должно быть очень неправильно настроено в этой системе. Однако когда-то это была стандартная установка Fedora, которая обновлялась при выходе новой версии. Может быть, это просто простая настройка, которую нужно изменить, но так как этого не произошло, изменив конфигурацию системы вручную (специально), этот вопрос stackexchange.com, надеюсь, поможет другим, кто случайно получил свою систему в том же состоянии.
  • Теперь это система Fedora 22, работающая под управлением Linux 4.0.6 (systemd 219).
  • Это стандартная настольная установка Fedora, в настоящее время под управлением KDE.
  • SELinux отключен (/ etc / selinux / config установлен на «отключен»).

Обновление : после обновления до Fedora 23 (ядро 4.2.5, systemd 222) сообщений аудита меньше, чем раньше.


Вместо того, чтобы отключить аудит, который отключает запись сообщений аудита в журналы, с которыми вы можете просматривать audit2allow, вы решили просто изменить значение kernel.printk, которое имеет отношение к печати сообщений ядра на консоль? В Fedora по умолчанию это «7 4 1 7», более разумное значение - «3 4 1 7».
Боб

Ответы:


12

Во-первых, в fedora и audd, и audctl поступают из одного и того же пакета (аудит без названия). Так что если у вас нет audctl, что-то еще не так. Попробуй это:

rpm -ql audit |grep ctl

Если это ничего не дает, то у вас вообще не установлен пакет аудита.

Во-вторых, первая «человеческая» языковая строка в упомянутом вами файле grub.cfg говорит «НЕ РЕДАКТИРОВАТЬ» в моей системе. Это подсказка, что любые ручные изменения в файле могут быть потеряны.

Правильным местом для редактирования конфигурации grub в системе fedora / redhat является файл, который вы специально предложили изменить, и в нем нет необходимости изменять (/ etc / default / grub). На самом деле это единственный «безопасный» способ внести предложенные изменения и пережить обновления ядра. Это потому, что он используется как часть исходной конфигурации во время обновлений ядра, чтобы восстановить работающий grub.cfg. Посмотрите на команду grub2-mkconfig (и это друзья). Подробности здесь: https://fedoraproject.org/wiki/GRUB_2

Ваш ответ не является неправильным, но я нашел его немного запутанным. Я ненавижу командную строку grub, и ИМХО любой, кто может пропустить добавление символа пробела в командной строке ядра, вероятно, не поблагодарит никого за то, что он вел этот путь. Тем не менее, некоторым людям нравится изучать трудный путь, который я знаю.

Все приведенные ниже команды должны запускаться с правами root (что само по себе опасно, предлагать).

Для работающей системы:

auditctl -e 0

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

dnf install audit

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

Чтобы сохранить его после перезагрузки, отредактируйте / etc / default / grub и измените строку GRUB_CMDLINE_LINUX, добавив в конце «Audit = 0», затем используйте grub2-mkconfig для регенерации файла grub.cfg. Этот последний шаг также создает слой проверки между вашими изменениями и работающей системой.


Спасибо, что указали на это /etc/default/grubи grub2-mkconfigдолжны быть использованы. Я добавил исправление в свой ответ.
basic6

6

Вы можете быстро отключить аудит временно с

sudo auditctl -e 0

и временно удалить все правила с

sudo auditctl -D

Для будущих ботинок вы можете попробовать отключить его запуск с

 sudo systemctl disable auditd

3

Не существует службы audd, которую можно было бы отключить во время работы системы, но оказывается, что добавление параметра загрузки audit=0отключает все эти сообщения. Система снова может использоваться, даже в командной строке без запуска X.

Эта опция может быть установлена ​​временно (изменение не переживет перезагрузку):

  1. Когда появится меню загрузки Grub (сразу после включения питания на), ударил eпо электронной ДЯТ параметры загрузки. Это покажет огромное текстовое поле.
  2. Прокрутите вниз до строки, которая начинается с "linux". Нажмите Endклавишу, чтобы переместить курсор в конец строки.
  3. Введите символ пробела, чтобы не прерывать последний вариант, затем добавьте audit=0. Например ... LANG=en_US.UTF-8 audit=0(нет ...UTF-8audit=0, очевидно).
  4. Будьте осторожны, чтобы ничего не менять. Если вы случайно изменили какой-либо другой параметр, исправьте его или перезагрузите компьютер и начните все сначала.
  5. Нажмите, F10чтобы загрузить систему.

Конечно, это изменение вступит в силу только во время работы системы. Поток аудита вернется после перезагрузки. Чтобы сделать это изменение постоянным, конфигурацию загрузки необходимо изменить постоянно. На Fedora этого должно быть достаточно, чтобы просто изменить, /boot/grub2/grub.cfgпотому что когда новое ядро ​​установлено (обновление системы), grubby должен скопировать параметры самого последнего ядра во вновь установленное ядро. Это означает, audit=0что должен быть добавлен к первой linuxстроке (первый menuentryраздел) в этом файле. Не должно быть необходимости менять/etc/default/grub .
Исправление: На самом деле, правильный и самый надежный подход - редактировать /etc/default/grubи восстанавливать конфигурацию Grub, используя grub2-mkconfig -o /boot/grub2/grub.cfg, спасибо KnightLordAndMaster за указание на это .


Дополнительная заметка о журналах аудита в файлах журналов:

В качестве примечания следует, что следующая строка должна предотвращать попадание журналов аудита в файлы журналов, но они по-прежнему загромождают dmesg и консоль, так что это само по себе не является решением. Эта строка будет поставлена ​​как первое правило в /etc/rsyslog.conf:

...
#### RULES ####

# no audit
:programname, isequal, "audit" ~

...

Теперь это приводит к следующему предупреждению:

 rsyslogd[xxxx]: warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.35.0 try http://www.rsyslog.com/e/2307]

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.