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 audit
está 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.
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".Respostas:
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:
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:
Se você não conseguir encontrar o auditctl, verifique seu PATH e considere também:
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.
fonte
/etc/default/grub
egrub2-mkconfig
deve ser usado. Eu adicionei uma correção à minha resposta.Você pode desativar rapidamente a auditoria temporariamente com
e remova temporariamente todas as regras com
Para futuras botas, você pode tentar desativar o início com
fonte
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=0
parece 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):
audit=0
. Por exemplo... LANG=en_US.UTF-8 audit=0
(não...UTF-8audit=0
, obviamente).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.cfg
porque, 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 significaaudit=0
que deve ser anexado à primeiralinux
linha (primeiramenuentry
seçã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/grub
e regenerar a configuração do Grub usandogrub2-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
:Isso agora resulta no seguinte aviso:
fonte