Cómo deshabilitar entradas de registro inútiles de "auditoría exitosa" en dmesg

11

Versión corta: ¿Cómo deshabilitar los mensajes de auditoría (dmesg) en un sistema Fedora?


Un sistema Fedora sigue registrando mensajes de "auditoría: éxito" en dmesg, de manera tan extrema que dmesg se ha vuelto inutilizable porque está lleno de estos mensajes ( dmesg | grep -v auditestá vacío). Estos mensajes son completamente inútiles, ya que obviamente quieren informar al usuario que algún proceso interno todos los días ha tenido éxito (lo que podría ser interesante al depurar algo, pero en este caso es solo ruido).

Incluso la interfaz de la línea de comandos (cuando se cambia a un tty que no es X con Ctrl+ Alt+ F2) se ha vuelto inutilizable ya que siempre está abarrotada de estos mensajes de auditoría, es imposible leer la salida de los comandos que realmente ejecuta el usuario. Por ejemplo, después de ingresar el nombre de usuario (inicio de sesión), se emite un mensaje de auditoría (aparentemente diciéndole al usuario que algo fue formateado / impreso con éxito):

auditoría: tipo = 1131 auditoría (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 = éxito '

Parece que la mayoría de estos mensajes indican "éxito", sin embargo, también hay muchos mensajes de auditoría que no contienen esta palabra clave. Running Chromium desencadena cientos de estos:

auditoría: tipo = 1326 auditoría (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 código = 0x50000

Otros mensajes incluyen:

auditoría: tipo = 1131 auditoría (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 = éxito '

auditoría: tipo = 1103 auditoría (1446926401.821: 10253): pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM: concedentes concedentes = p am_env, pam_unix acct = "usuario" exe = "/ usr / sbin / crond "hostname =? addr =? terminal = cron res = éxito '

En general, la mayoría de los mensajes de auditoría recientes (en el momento de la redacción) contienen la palabra clave " NetworkManager " o " chrome ".

¿Cómo se pueden deshabilitar por completo estos mensajes?


Puntos adicionales:

  • En caso de que alguien esté pensando "debería leer y analizar estos mensajes de auditoría, no deshabilitarlos, podrían ser importantes", no, no son importantes, son casi exclusivamente mensajes de "éxito". Nadie necesita que se le diga que algo que se supone que funcionó realmente funcionó. Sin embargo, si se registrara un mensaje realmente significativo, nunca se notaría en la tormenta de miles de mensajes insignificantes. En cualquier caso, no se desean registros de auditoría en este sistema en particular (de todos modos, se está ejecutando en un entorno controlado).
  • Claramente, algo debe estar muy mal configurado en este sistema. Sin embargo, una vez fue una instalación predeterminada de Fedora que se actualizó cada vez que salió una nueva versión. Tal vez es solo una configuración simple que debe cambiarse, pero como no sucedió cambiando la configuración del sistema manualmente (a propósito), esta pregunta de stackexchange.com con suerte ayudará a otros que hayan conseguido que su sistema esté en el mismo estado.
  • Ahora es un sistema Fedora 22, que ejecuta Linux 4.0.6 (systemd 219).
  • Es una instalación de escritorio estándar de Fedora, que actualmente ejecuta KDE.
  • SELinux está deshabilitado (/ etc / selinux / config está configurado en "deshabilitado").

Actualización : Después de actualizar a Fedora 23 (kernel 4.2.5, systemd 222), hay menos mensajes de auditoría que antes.

básico6
fuente
En lugar de deshabilitar la auditoría, que deshabilita la escritura de mensajes de auditoría en los registros que puede ver audit2allow, ¿consideró simplemente modificar el valor kernel.printk que es relevante para imprimir mensajes del kernel en la consola? En Fedora por defecto es "7 4 1 7", un valor más sensible es "3 4 1 7".
Bob

Respuestas:

12

En primer lugar, en fedora, tanto auditd como auditctl provienen del mismo paquete (auditoría llamada confusamente). Entonces, si no tiene auditctl, algo más está mal. Prueba esto:

rpm -ql audit |grep ctl

Si eso no le da nada, entonces no tiene el paquete de auditoría instalado en absoluto.

En segundo lugar, la primera línea de lenguaje "humano" en el archivo grub.cfg que mencionó dice "NO EDITAR" en mi sistema. Esta es una pista de que cualquier cambio manual en el archivo puede perderse.

El lugar correcto para editar la configuración de grub en un sistema fedora / redhat es el único archivo que sugirió específicamente que no es necesario cambiar (/ etc / default / grub). En realidad, esta es la única forma "segura" de realizar el cambio propuesto y sobrevivir a las actualizaciones del kernel. Esto se debe a que se usa como parte de la configuración de origen durante las actualizaciones del kernel para regenerar un grub.cfg que funcione. Busque el comando grub2-mkconfig (y son amigos). Los detalles están aquí: https://fedoraproject.org/wiki/GRUB_2

Su respuesta no es incorrecta, pero la encontré un poco confusa. Odio la línea de comando de grub, y en mi humilde opinión, cualquiera que probablemente no agregue un carácter de espacio en blanco en una línea de comando del kernel probablemente no agradecería a nadie por haber sido guiado por ese camino. Aún así, a algunas personas les gusta aprender de la manera difícil que yo sé.

Todos los comandos a continuación deben ejecutarse como root (lo cual es en sí mismo algo peligroso de sugerir).

Para un sistema en ejecución:

auditctl -e 0

Si no puede encontrar auditctl, verifique su RUTA y también considere:

dnf install audit

Esto debería al menos reducir, si no deshabilitar, los mensajes hasta el momento en que pueda reiniciar.

Para persistir más allá de los reinicios, edite / etc / default / grub y cambie la línea GRUB_CMDLINE_LINUX para agregar "audit = 0" al final, luego use grub2-mkconfig para regenerar grub.cfg. Este último paso también pone una capa de validación entre su cambio y el sistema en ejecución.

Caballero Señor Y Maestro
fuente
Gracias por señalar eso /etc/default/gruby grub2-mkconfigdebe ser utilizado. He agregado una corrección a mi respuesta.
basic6
6

Puede deshabilitar rápidamente la auditoría temporalmente con

sudo auditctl -e 0

y eliminar temporalmente todas las reglas con

sudo auditctl -D

Para futuras botas, puede intentar deshabilitar su inicio con

 sudo systemctl disable auditd
meuh
fuente
3

No hay un servicio auditado que pueda deshabilitarse mientras el sistema se está ejecutando, pero resulta que agregar la opción de inicio audit=0parece deshabilitar todos estos mensajes. El sistema se puede volver a utilizar, incluso en la línea de comandos sin X ejecutándose.

Esta opción se puede configurar temporalmente (el cambio no sobrevivirá al reinicio):

  1. Cuando aparece el menú de arranque Grub (justo después de conectar la alimentación), golpean ea los e DIT los parámetros de arranque. Esto mostrará un gran cuadro de texto.
  2. Desplácese hacia abajo hasta la línea que comienza con "linux". Presione la Endtecla para mover el cursor al final de la línea.
  3. Ingrese un carácter de espacio en blanco para no romper la última opción, luego agregue audit=0. Por ejemplo ... LANG=en_US.UTF-8 audit=0(no ...UTF-8audit=0, obviamente).
  4. Tenga cuidado de no cambiar nada más. Si accidentalmente modificó alguna otra opción, corríjala o reinicie y comience nuevamente.
  5. Presiona F10para arrancar el sistema.

Por supuesto, este cambio solo tendrá efecto mientras el sistema se esté ejecutando. La inundación de auditoría volverá después de un reinicio. Para que este cambio sea permanente, la configuración de arranque debe cambiarse de forma permanente. En Fedora, debería ser suficiente simplemente modificarlo /boot/grub2/grub.cfgporque cuando se instala un nuevo núcleo (actualización del sistema), grubby debe copiar las opciones del último núcleo al núcleo recién instalado. Esto significa audit=0que debe agregarse a la primera linuxlínea (primera menuentrysección) de este archivo. No debería ser necesario cambiar/etc/default/grub .
Corrección: en realidad, el enfoque correcto y más confiable es editar /etc/default/gruby regenerar la configuración de Grub usando grub2-mkconfig -o /boot/grub2/grub.cfg, gracias KnightLordAndMaster por señalar esto .


Nota adicional sobre registros de auditoría en archivos de registro:

Como nota al margen, la siguiente línea debería evitar que los registros de auditoría terminen en archivos de registro, pero aún así desordenarían dmesg y la consola, por lo que esta no es una solución en sí misma. Esta línea se pondría como primera regla en /etc/rsyslog.conf:

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

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

...

Esto ahora da como resultado la siguiente advertencia:

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

básico6
fuente