So deaktivieren Sie nutzlose Protokolleinträge für den Überwachungserfolg in dmesg


11

Kurzversion: Wie deaktiviere ich Überwachungsnachrichten (dmesg) auf einem Fedora-System?


Ein Fedora-System protokolliert weiterhin "audit: success" -Nachrichten in dmesg - so extrem, dass dmesg unbrauchbar geworden ist, weil es von diesen Nachrichten gefüllt wird ( dmesg | grep -v auditleer ist). Diese Nachrichten sind völlig nutzlos, da sie den Benutzer offensichtlich darüber informieren möchten, dass ein alltäglicher interner Prozess erfolgreich war (was beim Debuggen von Interesse sein kann, in diesem Fall jedoch nur Rauschen).

Selbst die Befehlszeilenschnittstelle (beim Umschalten auf ein Nicht-X-tty mit Ctrl+ Alt+ F2) ist unbrauchbar geworden, da sie immer mit diesen Überwachungsmeldungen überfüllt ist. Es ist unmöglich, die Ausgabe der Befehle zu lesen, die tatsächlich vom Benutzer ausgeführt werden. Zum Beispiel wird nach Eingabe des Benutzernamens (Login) eine Überwachungsnachricht ausgegeben (die dem Benutzer anscheinend mitteilt, dass etwas erfolgreich formatiert / gedruckt wurde):

audit: type = 1131 audit (1446913801.945: 10129): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" hostname =? addr =? Terminal =? res = Erfolg '

Es scheint, dass die meisten dieser Nachrichten "Erfolg" anzeigen, es gibt jedoch auch viele Überwachungsnachrichten, die dieses Schlüsselwort nicht enthalten. Das Ausführen von Chromium löst Hunderte davon aus:

audit: type = 1326 audit (1446932349.568: 10307): auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome" exe = "/ usr / lib64 / chrom / chrome" sig = 0 arch = c000003e syscall = 273 kompatibel = 0 ip = 0x7f9a1d0a34f4 code = 0x50000

Andere Nachrichten umfassen:

audit: type = 1131 audit (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr / lib / systemd / systemd" hostname =? addr =? Terminal =? res = Erfolg '

audit: type = 1103 audit (1446926401.821: 10253): pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM: setcred grantors = p am_env, pam_unix acct = "user" exe = "/ usr / sbin / crond "hostname =? addr =? terminal = cron res = erfolg '

Im Allgemeinen enthält die Mehrzahl der letzten Überwachungsnachrichten (zum Zeitpunkt des Schreibens) das Schlüsselwort " NetworkManager " oder " chrome ".

Wie können diese Nachrichten vollständig deaktiviert werden?


Zusätzliche Punkte:

  • Falls jemand denkt, "Sie sollten diese Überwachungsnachrichten lesen und analysieren, nicht deaktivieren, sie könnten wichtig sein", nein, sie sind nicht wichtig, sie sind fast ausschließlich "Erfolgsnachrichten". Niemandem muss gesagt werden, dass etwas, das funktionieren soll, tatsächlich funktioniert hat. Wenn jedoch eine tatsächlich wichtige Nachricht protokolliert würde, würde dies im Sturm von Tausenden unbedeutender Nachrichten niemals bemerkt werden. In diesem Fall ist auf diesem bestimmten System keine Überwachungsprotokollierung erforderlich (es wird ohnehin in einer kontrollierten Umgebung ausgeführt).
  • Es ist klar, dass auf diesem System etwas sehr falsch konfiguriert sein muss. Es war jedoch einmal eine Standardinstallation von Fedora, die bei jeder Veröffentlichung einer neuen Version aktualisiert wurde. Vielleicht ist es nur eine einfache Einstellung, die geändert werden muss, aber da die Systemkonfiguration nicht manuell (absichtlich) geändert wurde, hilft diese Frage von stackexchange.com hoffentlich anderen, die ihr System in den gleichen Zustand versetzt haben.
  • Es ist jetzt ein Fedora 22-System, auf dem Linux 4.0.6 (systemd 219) ausgeführt wird.
  • Es handelt sich um eine Standard-Fedora-Desktop-Installation, auf der derzeit KDE ausgeführt wird.
  • SELinux ist deaktiviert (/ etc / selinux / config ist auf "deaktiviert" gesetzt).

Update : Nach dem Upgrade auf Fedora 23 (Kernel 4.2.5, Systemd 222) werden weniger Überwachungsnachrichten als zuvor angezeigt.


Anstatt audit2allowdie Überwachung zu deaktivieren, wodurch das Schreiben von Überwachungsnachrichten in Protokolle deaktiviert wird, mit denen Sie sie anzeigen können , haben Sie erwogen, einfach den Wert kernel.printk zu ändern, der für das Drucken von Kernelnachrichten auf der Konsole relevant ist? Auf Fedora ist es standardmäßig "7 4 1 7", ein sinnvollerer Wert ist "3 4 1 7".
Bob

Antworten:


12

Erstens stammen auf fedora sowohl auditd als auch auditctl aus demselben Paket (nicht eindeutig benanntes audit). Wenn Sie also kein auditctl haben, stimmt etwas anderes nicht. Versuche dies:

rpm -ql audit |grep ctl

Wenn Sie dadurch nichts erhalten, ist das Überwachungspaket überhaupt nicht installiert.

Zweitens lautet die erste "menschliche" Sprachzeile in der von Ihnen erwähnten Datei "grub.cfg" auf meinem System "NICHT BEARBEITEN". Dies ist ein Hinweis darauf, dass manuelle Änderungen an der Datei verloren gehen können.

Der richtige Ort zum Bearbeiten der Grub-Konfiguration auf einem Fedora / Redhat-System ist die Datei, die Sie ausdrücklich als nicht änderungsbedürftig vorgeschlagen haben (/ etc / default / grub). In Wirklichkeit ist dies der einzige "sichere" Weg, um die vorgeschlagene Änderung vorzunehmen und Kernel-Upgrades zu überleben. Dies liegt daran, dass es als Teil der Quellkonfiguration bei Kernel-Upgrades verwendet wird, um eine funktionierende grub.cfg neu zu generieren. Schlagen Sie den Befehl grub2-mkconfig (und seine Freunde) nach. Details finden Sie hier: https://fedoraproject.org/wiki/GRUB_2

Ihre Antwort ist nicht falsch, aber ich fand es etwas verwirrend. Ich hasse die Grub-Befehlszeile, und meiner Meinung nach würde jeder, der es wahrscheinlich vermisst, ein Leerzeichen in eine Kernel-Befehlszeile einzufügen, wahrscheinlich niemandem dafür danken, dass er auf diesem Weg geführt wurde. Trotzdem lernen manche Leute gerne auf die harte Weise, die ich kenne.

Alle folgenden Befehle müssen als root ausgeführt werden (was an und für sich eine gefährliche Sache ist).

Für ein laufendes System:

auditctl -e 0

Wenn Sie auditctl nicht finden können, überprüfen Sie Ihren PFAD und berücksichtigen Sie außerdem:

dnf install audit

Dies sollte die Nachrichten zumindest reduzieren, wenn sie nicht deaktiviert werden, bis Sie einen Neustart durchführen können.

Um über Neustarts hinaus bestehen zu bleiben, bearbeiten Sie / etc / default / grub und ändern Sie die Zeile GRUB_CMDLINE_LINUX, um am Ende "audit = 0" hinzuzufügen. Verwenden Sie dann grub2-mkconfig, um die Datei grub.cfg neu zu generieren. In diesem letzten Schritt wird auch eine Validierungsebene zwischen Ihrer Änderung und dem laufenden System erstellt.


Vielen Dank für den Hinweis /etc/default/grubund grub2-mkconfigsollte verwendet werden. Ich habe meiner Antwort eine Korrektur hinzugefügt.
basic6

6

Mit können Sie die Überwachung vorübergehend schnell deaktivieren

sudo auditctl -e 0

und entfernen Sie vorübergehend alle Regeln mit

sudo auditctl -D

Für zukünftige Starts können Sie versuchen, den Start mit zu deaktivieren

 sudo systemctl disable auditd

3

Es gibt keinen auditd-Dienst, der deaktiviert werden könnte, während das System ausgeführt wird, aber es stellt sich heraus, dass die Startoption hinzugefügt wird audit=0 Startoption alle diese Meldungen zu deaktivieren scheint. Das System kann auch in der Befehlszeile wieder verwendet werden, ohne dass X ausgeführt wird.

Diese Option kann vorübergehend festgelegt werden (die Änderung überlebt einen Neustart nicht):

  1. Wenn die GRUB - Bootmenü erscheint (direkt nach dem Einschalten der Stromversorgung), treffen eauf e dit die Boot - Parameter. Dies zeigt ein riesiges Textfeld.
  2. Scrollen Sie nach unten zu der Zeile, die mit "Linux" beginnt. Drücken Sie die EndTaste, um den Cursor an das Zeilenende zu bewegen.
  3. Geben Sie ein Leerzeichen ein, damit Sie die letzte Option nicht unterbrechen, und fügen Sie sie dann hinzu audit=0. Zum Beispiel ... LANG=en_US.UTF-8 audit=0( ...UTF-8audit=0natürlich nicht).
  4. Achten Sie darauf, nichts anderes zu ändern. Wenn Sie versehentlich eine andere Option geändert haben, beheben Sie diese oder starten Sie sie neu und beginnen Sie von vorne.
  5. Drücken Sie F10, um das System zu starten.

Diese Änderung wird natürlich nur wirksam, während das System ausgeführt wird. Die Überwachungsflut wird nach einem Neustart wiederhergestellt. Um diese Änderung dauerhaft zu machen, muss die Startkonfiguration dauerhaft geändert werden. Unter Fedora sollte es ausreichen, einfach Änderungen vorzunehmen, /boot/grub2/grub.cfgda Grubby bei der Installation eines neuen Kernels (Systemupdate) die Optionen des neuesten Kernels in den neu installierten Kernel kopieren sollte. Dies bedeutet, audit=0dass an die erste linuxZeile (erster menuentryAbschnitt) in dieser Datei angehängt werden muss. Es sollte nicht notwendig sein, sich zu ändern/etc/default/grub .
Korrektur: Eigentlich ist die richtige und zuverlässige Methode ist , zu bearbeiten /etc/default/grubund regenerieren die Graben Config grub2-mkconfig -o /boot/grub2/grub.cfgdank KnightLordAndMaster diesen heraus für den Hinweis .


Zusätzlicher Hinweis zu Überwachungsprotokollen in Protokolldateien:

Als Randnotiz sollte die folgende Zeile verhindern, dass Überwachungsprotokolle in Protokolldateien landen, aber sie würden dmesg und die Konsole immer noch überladen, sodass dies keine Lösung für sich ist. Diese Zeile würde als erste Regel in /etc/rsyslog.conf:

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

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

...

Dies führt nun zu folgender Warnung:

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.