Como desativar entradas de log inúteis de “sucesso de auditoria” no dmesg

9

Versão resumida: Como desabilitar mensagens de auditoria (dmesg) em um sistema Fedora?

Um sistema Fedora mantém o registro de mensagens "audit: success" no dmesg - de uma maneira tão extrema que o dmesg se tornou inutilizável porque é preenchido por essas mensagens ( dmesg | grep -v audit está vazio). Essas mensagens são completamente inúteis, pois obviamente elas querem informar ao usuário que algum processo interno todo dia foi bem-sucedido (o que pode ser interessante ao depurar algo, mas é apenas ruído nesse caso).

Mesmo a interface de linha de comando (ao alternar para um não-Xtty com Ctrl + Alt + F2 ) tornou-se inutilizável, sempre confuso com essas 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 é emitida (aparentemente informando ao usuário que algo foi formatado / impresso com êxito):

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

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

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

Outras mensagens incluem:

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

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'

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

Como essas mensagens podem ser completamente desativadas?

Pontos adicionais:

  • Caso alguém esteja pensando "você deve ler e analisar essas mensagens de auditoria, não desativá-las, elas podem ser importantes", não, elas não são importantes, são quase exclusivamente mensagens de "sucesso". Ninguém precisa ser informado de que algo que deveria funcionar de fato funcionou. No entanto, se uma mensagem realmente significativa estivesse sendo registrada, nunca seria notada na tempestade de milhares de mensagens insignificantes. Em qualquer caso, nenhum log de auditoria é desejado neste sistema em particular (ele está sendo executado em um ambiente controlado de qualquer maneira).
  • Claramente, algo deve estar muito mal configurado neste sistema. No entanto, foi uma vez uma instalação padrão do Fedora que foi atualizada sempre que uma nova versão foi lançada. Talvez seja apenas uma configuração simples que precisa ser alterada, mas como isso não aconteceu ao alterar a configuração do sistema manualmente (propositalmente), esta pergunta do stackexchange.com ajudará, esperançosamente, os outros que, por acaso, tenham colocado o sistema no mesmo estado. / li>
  • Agora é um sistema Fedora 22, rodando o Linux 4.0.6 (systemd 219).
  • É uma instalação de desktop padrão do Fedora, atualmente rodando o KDE.
  • O SELinux está desativado (/ etc / selinux / config está definido como "desativado").

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.

    
por basic6 08.11.2015 / 00:13

3 respostas

10
Em primeiro lugar, no fedora, tanto o auditd quanto o auditctl vêm do mesmo pacote (chamada unconfusingly de auditoria). Então, se você não tiver o auditctl, algo está errado. Tente isto:

rpm -ql audit |grep ctl

Se isso não lhe der nada, então você não tem o pacote audoit instalado.

Em segundo lugar, a primeira linha de linguagem "humana" no arquivo grub.cfg que você mencionou diz "NÃO EDITAR" no meu sistema. Este é um indício 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 é aquele que você sugeriu especificamente como não sendo necessário alterar (/ etc / default / grub). Na realidade, esta é a única maneira "segura" de fazer a mudança proposta e sobreviver às atualizações do kernel. Isso ocorre porque ele é usado como parte da configuração de origem durante as atualizações do kernel, para gerar novamente um trabalho grub.cfg. Procure o comando grub2-mkconfig (e seus amigos). Detalhes aqui: link

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 perderá adicionar um caractere de espaço em branco em uma linha de comando do kernel provavelmente não agradeceria a ninguém por ser liderado nessa estrada. Ainda assim, algumas pessoas gostam de aprender da maneira mais difícil que eu sei.

Todos os comandos abaixo precisam ser executados como root (o que é em si algo perigoso 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 pelo menos reduzir, se não desativar as mensagens, até que você possa reinicializar.

Para persistir além das reinicializações, edite / etc / default / grub e altere a linha GRUB_CMDLINE_LINUX para adicionar "audit = 0" ao final, em seguida, 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.

    
por 23.11.2015 / 11:51
4

Você pode desativar rapidamente a auditoria temporariamente com

sudo auditctl -e 0

e remova temporariamente todas as regras com

sudo auditctl -D

Para inicializações futuras, você pode tentar desativar seu início com

 sudo systemctl disable auditd
    
por 08.11.2015 / 10:53
3

Não há serviço auditd que possa ser desativado enquanto o sistema está em execução, mas acontece que adicionar a opção de inicialização audit=0 parece desabilitar todas essas mensagens. O sistema pode ser usado novamente, mesmo na linha de comando, sem o X executando.

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

  1. Quando o menu de inicialização do Grub aparecer (logo após ligar a energia), pressione e para e definir os parâmetros de inicialização. Isso mostrará uma enorme caixa de texto.
  2. Desça até a linha que começa com "linux". Pressione a tecla End para mover o cursor para o final da linha.
  3. Insira um caractere de espaço em branco para que você não quebre a última opção e anexe 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ê modificou acidentalmente alguma outra opção, corrija-a ou reinicie e comece novamente.
  5. Pressione F10 para inicializar o sistema.

É claro que essa alteração só estará 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, deve ser suficiente simplesmente modificar /boot/grub2/grub.cfg , porque quando um novo kernel é instalado (atualização do sistema), o grubby deve copiar as opções do kernel mais recente para o kernel recém-instalado. Isso significa que audit=0 deve ser anexado à primeira linha linux (primeira menuentry seção) neste arquivo. Não deveria ser necessário alterar /etc/default/grub .
Correção: Na verdade, a abordagem correta e mais confiável é editar /etc/default/grub e gerar novamente a configuração do Grub usando grub2-mkconfig -o /boot/grub2/grub.cfg , obrigado KnightLordAndMaster por apontar isso .

Nota adicional sobre registros de auditoria em arquivos de log:

Como uma nota lateral, a seguinte linha deve impedir que os logs de auditoria terminem nos arquivos de log, mas eles ainda irão sobrecarregar o dmesg e o console, portanto, isso 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]
por 14.11.2015 / 13:44