Comment désactiver les entrées inutiles du journal «succès de l'audit» dans dmesg

11

Version courte: Comment désactiver les messages d'audit (dmesg) sur un système Fedora?


Un système Fedora conserve la journalisation des messages "audit: succès" dans dmesg - d'une manière si extrême que dmesg est devenu inutilisable car il est rempli par ces messages ( dmesg | grep -v auditest vide). Ces messages sont complètement inutiles car ils veulent évidemment informer l'utilisateur que certains processus internes quotidiens ont réussi (ce qui pourrait être intéressant lors du débogage de quelque chose, mais ce n'est que du bruit dans ce cas).

Même l'interface de ligne de commande (lors du passage à un tty non X avec Ctrl+ Alt+ F2) est devenue inutilisable car elle est toujours encombrée de ces messages d'audit, il est impossible de lire la sortie des commandes réellement exécutées par l'utilisateur. Par exemple, après avoir entré le nom d'utilisateur (connexion), un message d'audit est généré (indiquant apparemment à l'utilisateur que quelque chose a été formaté / imprimé avec succès):

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 = succès '

Il semble que la plupart de ces messages indiquent un «succès», mais il existe également de nombreux messages d'audit qui ne contiennent pas ce mot-clé. L'exécution de Chromium en déclenche des centaines:

audit: type = 1326 audit (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 code = 0x50000

D'autres messages incluent:

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 = succès '

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 = success '

Généralement, la majorité des messages d'audit récents (au moment de la rédaction) contiennent le mot-clé " NetworkManager " ou " chrome ".

Comment ces messages peuvent-ils être complètement désactivés?


Points supplémentaires:

  • Au cas où quelqu'un pourrait penser "vous devriez lire et analyser ces messages d'audit, ne pas les désactiver, ils pourraient être importants", non ils ne sont pas importants, ce sont presque exclusivement des messages de "succès". Personne n'a besoin d'être informé que quelque chose qui est censé fonctionner a en fait fonctionné. Cependant, si un message réellement significatif était enregistré, il ne serait jamais remarqué dans la tempête de milliers de messages insignifiants. Dans tous les cas, aucune journalisation d'audit n'est souhaitée sur ce système particulier (il fonctionne de toute façon dans un environnement contrôlé).
  • De toute évidence, quelque chose doit être très mal configuré sur ce système. Cependant, il s'agissait autrefois d'une installation Fedora par défaut qui a été mise à niveau chaque fois qu'une nouvelle version est sortie. Peut-être que c'est juste un paramètre simple qui doit être changé, mais comme il ne s'est pas produit de changer la configuration du système manuellement (exprès), cette question stackexchange.com aidera, espérons-le, ceux qui ont mis leur système dans le même état.
  • C'est maintenant un système Fedora 22, exécutant Linux 4.0.6 (systemd 219).
  • Il s'agit d'une installation de bureau Fedora standard, exécutant actuellement KDE.
  • SELinux est désactivé (/ etc / selinux / config est défini sur "désactivé").

Mise à jour : après la mise à niveau vers Fedora 23 (noyau 4.2.5, systemd 222), il y a moins de messages d'audit qu'auparavant.

basic6
la source
Au lieu de désactiver l'audit, qui désactive l'écriture des messages d'audit dans les journaux que vous pouvez afficher audit2allow, avez-vous envisagé de simplement modifier la valeur kernel.printk qui est pertinente pour l'impression des messages du noyau sur la console? Sur Fedora par défaut, c'est "7 4 1 7", une valeur plus sensible est "3 4 1 7".
Bob

Réponses:

12

Tout d'abord, sur fedora, auditd et auditctl proviennent du même package (audit sans confusion). Donc, si vous n'avez pas auditctl, quelque chose d'autre ne va pas. Essaye ça:

rpm -ql audit |grep ctl

Si cela ne vous donne rien, vous n'avez pas du tout installé le package d'audit.

Deuxièmement, la première ligne de langage "humain" du fichier grub.cfg que vous avez mentionné dit "NE PAS MODIFIER" sur mon système. C'est un indice que toute modification manuelle du fichier peut être perdue.

Le bon endroit pour éditer la configuration grub sur un système fedora / redhat est le fichier que vous avez spécifiquement suggéré comme n'étant pas nécessaire de modifier (/ etc / default / grub). En réalité, c'est le seul moyen "sûr" d'apporter le changement proposé et de survivre aux mises à niveau du noyau. En effet, il est utilisé dans le cadre de la configuration source lors des mises à niveau du noyau, pour régénérer un grub.cfg fonctionnel. Recherchez la commande grub2-mkconfig (et ses amis). Les détails sont ici: https://fedoraproject.org/wiki/GRUB_2

Votre réponse n'est pas fausse, mais je l'ai trouvée un peu déroutante. Je déteste la ligne de commande grub, et à mon humble avis, quiconque manquerait probablement d'ajouter un caractère d'espacement sur une ligne de commande du noyau ne remercierait probablement personne d'avoir été mené sur cette voie. Pourtant, certaines personnes aiment apprendre à la dure, je sais.

Toutes les commandes ci-dessous doivent être exécutées en tant que root (ce qui est en soi une chose dangereuse à suggérer).

Pour un système en cours d'exécution:

auditctl -e 0

Si vous ne trouvez pas auditctl, vérifiez votre CHEMIN et considérez également:

dnf install audit

Cela devrait au moins réduire sinon désactiver les messages jusqu'à ce que vous puissiez redémarrer.

Pour persister au-delà des redémarrages, modifiez / etc / default / grub et modifiez la ligne GRUB_CMDLINE_LINUX pour ajouter "audit = 0" à la fin, puis utilisez grub2-mkconfig pour régénérer le grub.cfg. Cette dernière étape met également une couche de validation entre votre modification et le système en cours d'exécution.

KnightLordAndMaster
la source
Merci d'avoir souligné cela /etc/default/grubet grub2-mkconfigdevrait être utilisé. J'ai ajouté une correction à ma réponse.
basic6
6

Vous pouvez rapidement désactiver temporairement l'audit avec

sudo auditctl -e 0

et supprimer temporairement toutes les règles avec

sudo auditctl -D

Pour les futures bottes, vous pouvez essayer de désactiver son démarrage avec

 sudo systemctl disable auditd
meuh
la source
3

Il n'y a pas de service auditd qui pourrait être désactivé pendant le fonctionnement du système, mais il s'avère que l'ajout de l'option de démarrage audit=0semble désactiver tous ces messages. Le système est à nouveau utilisable, même en ligne de commande sans X en cours d'exécution.

Cette option peut être définie temporairement (le changement ne survivra pas à un redémarrage):

  1. Lorsque l'affiche du menu de démarrage Grub ( à droite après la mise sous tension), a frappé eà e dit les paramètres de démarrage. Cela montrera une énorme zone de texte.
  2. Faites défiler jusqu'à la ligne commençant par "linux". Appuyez sur la Endtouche pour déplacer le curseur à la fin de la ligne.
  3. Entrez un caractère d'espacement afin de ne pas casser la dernière option, puis ajoutez audit=0. Par exemple ... LANG=en_US.UTF-8 audit=0(pas ...UTF-8audit=0, évidemment).
  4. Attention à ne rien changer d'autre. Si vous avez accidentellement modifié une autre option, corrigez-la ou redémarrez et recommencez.
  5. Appuyez sur F10pour démarrer le système.

Bien entendu, cette modification ne sera effective que lorsque le système est en cours d'exécution. Le déluge d'audit reviendra après un redémarrage. Pour rendre ce changement permanent, la configuration de démarrage doit être modifiée de façon permanente. Sur Fedora, il devrait suffire de simplement modifier /boot/grub2/grub.cfgcar lorsqu'un nouveau noyau est installé (mise à jour du système), grubby doit copier les options du dernier noyau dans le noyau nouvellement installé. Cela signifie, audit=0doit être ajouté à la première linuxligne (première menuentrysection) de ce fichier. Il ne devrait pas être nécessaire de changer/etc/default/grub .
Correction: En fait, l'approche correcte et la plus fiable consiste à modifier /etc/default/grubet à régénérer la configuration Grub à l'aide grub2-mkconfig -o /boot/grub2/grub.cfg, merci KnightLordAndMaster de l'avoir signalé .


Remarque supplémentaire sur les journaux d'audit dans les fichiers journaux:

En remarque, la ligne suivante devrait empêcher les journaux d'audit de se retrouver dans des fichiers journaux, mais ils encombreraient toujours dmesg et la console, donc ce n'est pas une solution en soi. Cette ligne serait placée comme première règle dans /etc/rsyslog.conf:

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

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

...

Cela se traduit maintenant par l'avertissement suivant:

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

basic6
la source