Як відключити марні записи журналу "успіх аудиту" в dmesg


11

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


Система Fedora зберігає в журналі dmesg повідомлення "аудит: успіх" - таким екстремальним способом, що dmesg став непридатним, оскільки він заповнений цими повідомленнями ( dmesg | grep -v auditпорожній). Ці повідомлення є абсолютно марними, оскільки вони, очевидно, хочуть повідомити користувача про те, що якийсь внутрішній процес кожного дня досягнуто успіху (що може викликати інтерес при налагодженні чогось, але в цьому випадку це просто шум).

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

аудит: type = 1131 аудит (1446913801.945: 10129): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" ім'я хоста =? addr =? термінал =? res = успіх "

Схоже, більшість цих повідомлень вказують на "успіх", проте є також багато аудиторських повідомлень, які не містять цього ключового слова. Запуск Chromium запускає сотні таких:

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

Інші повідомлення включають:

аудит: type = 1131 аудит (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-диспетчер comm = "systemd" exe = "/ usr / lib / systemd / systemd" ім'я хоста =? addr =? термінал =? res = успіх "

аудит: type = 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 "ім'я хоста =? addr =? термінал = 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, і auditd, і auditctl походять з одного пакету (невлучно названий аудит). Тож якщо у вас немає auditctl, щось інше не так. Спробуйте це:

rpm -ql audit |grep ctl

Якщо це нічого не дає, тоді у вас взагалі не встановлено пакет аудиту.

По-друге, перший "людський" мовний рядок у згаданому вами файлі grub.cfg в моїй системі говорить "НЕ редагувати". Це підказка, що будь-які вручні зміни до файлу можуть бути втрачені.

Правильне місце для редагування конфігурації grub у системі fedora / redhat - це один файл, який ви спеціально запропонували, оскільки не потрібно змінювати (/ etc / default / grub). Насправді це єдиний "безпечний" спосіб внести запропоновані зміни та пережити оновлення ядра. Це відбувається тому, що воно використовується як частина конфігурації джерела під час оновлення ядра для відновлення робочого grub.cfg. Знайдіть команду grub2-mkconfig (і це друзі). Деталі тут: https://fedoraproject.org/wiki/GRUB_2

Ваша відповідь не є помилковою, але я вважав це трохи заплутаним. Я ненавиджу командний рядок grub, і IMHO, хто, ймовірно, пропустить додавання знака пробілу в командному рядку ядра, ймовірно, не подякує жодному за те, що він веде вниз по цій дорозі. Тим не менш, деякі люди люблять вчитися важкому шляху, який я знаю.

Усі команди нижче потрібно запустити як root (що саме по собі небезпечно запропонувати).

Для запущеної системи:

auditctl -e 0

Якщо ви не можете знайти auditctl, перевірте свій PATH, а також врахуйте:

dnf install audit

Це має принаймні зменшити, якщо не відключити повідомлення, до тих пір, поки ви не зможете перезавантажити.

Щоб зберегтись після перезавантаження, відредагуйте / etc / default / grub та змініть рядок GRUB_CMDLINE_LINUX, щоб додати "audit = 0" до кінця, а потім використовуйте grub2-mkconfig для відновлення grub.cfg. Цей останній крок також містить шар валідації між вашою зміною та запущеною системою.


Дякуємо, що вказали на те, що /etc/default/grubі grub2-mkconfigслід використовувати. Я додав виправлення до своєї відповіді.
основні6

6

Ви можете швидко відключити аудит за допомогою

sudo auditctl -e 0

і тимчасово видалити всі правила за допомогою

sudo auditctl -D

Для майбутніх черевиків ви можете спробувати відключити його початок

 sudo systemctl disable auditd

3

Немає служби аудиту, яку можна було б відключити під час роботи системи, але виявляється, що додавання параметра завантаження, audit=0здається, відключить усі ці повідомлення. Система знову може бути використана навіть у командному рядку без запуску X.

Цю опцію можна встановити тимчасово (зміна не переживе перезавантаження):

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

Звичайно, ця зміна діятиме лише під час роботи системи. Повінь аудиту повернеться після перезавантаження. Щоб зробити цю зміну постійною, конфігурацію завантаження потрібно постійно змінити. У Fedora має бути достатньо просто модифікувати, /boot/grub2/grub.cfgоскільки коли інстальовано нове ядро ​​(оновлення системи), грубі повинні скопіювати параметри останнього ядра на щойно встановлене ядро. Це означає, 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.