Como desativar entradas de log inúteis de "êxito de auditoria" no dmesg

11

Versão curta: Como desativar as mensagens de auditoria (dmesg) em um sistema Fedora?


Um sistema Fedora continua registrando mensagens de "auditoria: sucesso" no dmesg - de maneira tão extrema que o dmesg se tornou inutilizável porque é preenchido por essas mensagens ( dmesg | grep -v auditestá vazio). Essas mensagens são completamente inúteis, pois obviamente desejam informar ao usuário que algum processo interno diário foi bem-sucedido (o que pode ser interessante ao depurar algo, mas é apenas ruído nesse caso).

Mesmo a interface da linha de comandos (ao mudar para um não-X tty com Ctrl+ Alt+ F2) tornou-se inutilizável, pois está sempre cheia de mensagens de auditoria, é impossível ler a saída dos comandos que são realmente executados pelo usuário. Por exemplo, depois de inserir o nome de usuário (login), uma mensagem de auditoria é exibida (aparentemente dizendo ao usuário que algo foi formatado / impresso com sucesso):

auditoria: tipo = auditoria 1131 (1446913801.945: 10129): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unidade = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" nome do host =? addr =? terminal =? res = sucesso '

Parece que a maioria dessas mensagens indica "êxito"; no entanto, também existem muitas mensagens de auditoria que não contêm essa palavra-chave. A execução do Chromium aciona centenas deles:

auditoria: tipo = auditoria 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 código = 0x50000

Outras mensagens incluem:

auditoria: tipo = auditoria 1131 (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr / lib / systemd / systemd" nome do host =? addr =? terminal =? res = sucesso '

auditoria: tipo = auditoria 1103 (1446926401.821: 10253): pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM: concessores estabelecidos = p am_env, pam_unix acct = "user" exe = "/ usr / sbin / crond "hostname =? addr =? terminal = cron res = sucesso '

Geralmente, a maioria das mensagens de auditoria recentes (no momento da redação) contém a palavra-chave " NetworkManager " ou " chrome ".

Como essas mensagens podem ser desabilitadas completamente?


Pontos adicionais:

  • Caso alguém esteja pensando "você deve ler e analisar essas mensagens de auditoria, não desabilitá-las, elas podem ser importantes", não, elas não são importantes, são quase exclusivamente mensagens de "sucesso". Ninguém precisa saber que algo que deveria funcionar realmente funcionou. No entanto, se uma mensagem realmente significativa estivesse sendo registrada, ela nunca seria notada na tempestade de milhares de mensagens insignificantes. De qualquer forma, nenhum log de auditoria é desejado neste sistema específico (ele está sendo executado em um ambiente controlado de qualquer maneira).
  • Claramente, algo deve estar muito mal configurado neste sistema. No entanto, era uma vez uma instalação padrão do Fedora que era atualizada sempre que um novo lançamento era lançado. Talvez seja apenas uma configuração simples que precise ser alterada, mas, como não aconteceu alterando a configuração do sistema manualmente (de propósito), esta pergunta stackexchange.com esperançosamente ajudará outras pessoas que obtiveram o sistema no mesmo estado.
  • Agora é um sistema Fedora 22, executando Linux 4.0.6 (systemd 219).
  • É uma instalação padrão da área de trabalho do Fedora, atualmente executando o KDE.
  • O SELinux está desabilitado (/ etc / selinux / config está definido como "desabilitado").

Atualização : Após a atualização para o Fedora 23 (kernel 4.2.5, systemd 222), há menos mensagens de auditoria do que antes.

basic6
fonte
Em vez de desabilitar a auditoria, que desabilita a gravação de mensagens de auditoria em logs com os quais você pode visualizar audit2allow, você considerou simplesmente modificar o valor kernel.printk que é relevante para imprimir mensagens do kernel no console? No Fedora, por padrão, é "7 4 1 7", um valor mais sensato é "3 4 1 7".
10247 Bob

Respostas:

12

Primeiramente, no fedora, o auditd e o auditctl vêm do mesmo pacote (denominado auditoria sem confusões). Portanto, se você não possui o auditctl, algo está errado. Tente o seguinte:

rpm -ql audit |grep ctl

Se isso não lhe der nada, você não terá o pacote de auditoria instalado.

Em segundo lugar, a primeira linha de linguagem "humana" no arquivo grub.cfg que você mencionou diz "NÃO EDITAR" no meu sistema. Essa é uma pista de que qualquer alteração manual no arquivo pode ser perdida.

O local correto para editar a configuração do grub em um sistema fedora / redhat é o arquivo que você sugeriu especificamente como não sendo necessário alterar (/ etc / default / grub). Na realidade, esta é a única maneira "segura" de fazer a alteração proposta e sobreviver às atualizações do kernel. Isso ocorre porque é usado como parte da configuração de origem durante as atualizações do kernel, para regenerar um grub.cfg em funcionamento. Procure o comando grub2-mkconfig (e seus amigos). Os detalhes estão aqui: https://fedoraproject.org/wiki/GRUB_2

Sua resposta não está errada, mas achei um pouco confuso. Eu odeio a linha de comando do grub, e IMHO qualquer um que provavelmente sinta falta de adicionar um caractere de espaço em branco em uma linha de comando do kernel provavelmente não agradeceria a ninguém por ser conduzido por esse caminho. Ainda assim, algumas pessoas gostam de aprender da maneira mais difícil que conheço.

Todos os comandos abaixo precisam ser executados como root (o que por si só é uma coisa perigosa a sugerir).

Para um sistema em execução:

auditctl -e 0

Se você não conseguir encontrar o auditctl, verifique seu PATH e considere também:

dnf install audit

Isso deve reduzir pelo menos, se não desativar, as mensagens até o momento em que você pode reiniciar.

Para persistir além das reinicializações, edite / etc / default / grub e altere a linha GRUB_CMDLINE_LINUX para adicionar "audit = 0" ao final e use grub2-mkconfig para gerar novamente o grub.cfg. Esta etapa final também coloca uma camada de validação entre sua alteração e o sistema em execução.

KnightLordAndMaster
fonte
Obrigado por apontar isso /etc/default/grube grub2-mkconfigdeve ser usado. Eu adicionei uma correção à minha resposta.
basic6
6

Você pode desativar rapidamente a auditoria temporariamente com

sudo auditctl -e 0

e remova temporariamente todas as regras com

sudo auditctl -D

Para futuras botas, você pode tentar desativar o início com

 sudo systemctl disable auditd
meuh
fonte
3

Não há nenhum serviço de auditoria que possa ser desabilitado enquanto o sistema estiver em execução, mas a adição da opção de inicialização audit=0parece desabilitar todas essas mensagens. O sistema pode ser utilizado novamente, mesmo na linha de comando sem o X rodando.

Esta opção pode ser definida temporariamente (a alteração não sobreviverá a uma reinicialização):

  1. Quando o menu de inicialização do Grub aparecer (logo após ligar a alimentação), pressione ee para editar os parâmetros de inicialização. Isso mostrará uma caixa de texto enorme.
  2. Role para baixo até a linha que começa com "linux". Pressione a Endtecla para mover o cursor para o final da linha.
  3. Digite um caractere de espaço em branco para não quebrar a última opção e, em seguida, acrescente audit=0. Por exemplo ... LANG=en_US.UTF-8 audit=0(não ...UTF-8audit=0, obviamente).
  4. Cuidado para não mudar mais nada. Se você acidentalmente modificou alguma outra opção, corrija-a ou reinicie e reinicie.
  5. Clique F10para inicializar o sistema.

Obviamente, essa alteração só entrará em vigor enquanto o sistema estiver em execução. A inundação de auditoria retornará após uma reinicialização. Para tornar essa alteração permanente, a configuração de inicialização deve ser alterada permanentemente. No Fedora, basta modificá-lo /boot/grub2/grub.cfgporque, quando um novo kernel é instalado (atualização do sistema), o grubby deve copiar as opções do kernel mais recente no kernel recém-instalado. Isso significa audit=0que deve ser anexado à primeira linuxlinha (primeira menuentryseção) deste arquivo. Não deveria ser necessário mudar/etc/default/grub .
Correção: Na verdade, a abordagem correta e mais confiável é editar /etc/default/grube regenerar a configuração do Grub usando grub2-mkconfig -o /boot/grub2/grub.cfg, obrigado KnightLordAndMaster por apontar isso .


Nota adicional sobre logs de auditoria em arquivos de log:

Como observação lateral, a linha a seguir deve impedir que os logs de auditoria acabem nos arquivos de log, mas eles ainda atrapalham o dmesg e o console, portanto, essa não é uma solução em si. Esta linha seria colocada como primeira regra em /etc/rsyslog.conf:

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

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

...

Isso agora resulta no seguinte aviso:

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

basic6
fonte