Auditd não está registrando eventos para alguns arquivos observados

1

Configuramos o auditd para registrar todo o acesso a determinados arquivos críticos. O sistema executa o WebLogic Server e queremos saber se alguém está tentando mexer nos arquivos confidenciais do sistema, como o arquivo de configuração de domínio, criptografia, etc. Em alguns casos, em alguns sistemas no passado, isso funcionou como esperado, mas recentemente não funcionou, e estou no meu limite tentando descobrir o porquê. Então estou indo contra a minha natureza e buscando ajuda externa com essa questão.

Pontos de dados relevantes e possíveis leads Tenho investigado:

  • Recentemente, pegamos uma imagem do sistema atualizada com uma nova versão do kernel.
  • A imagem do sistema é OEL5 (essencialmente RHEL5 / CentOS 5)
  • Quando eu reinicio o sistema, ele só carrega um conjunto de regras mínimo:
    # auditctl -l
    LIST_RULES: exit,always dir=/etc/audit (0xa) perm=wa key=auditsys
    LIST_RULES: exit,always dir=/var/log/audit (0xe) perm=wa key=auditsys

Apesar do arquivo de regras completo ainda estar em vigor.

Quando tento reiniciar o daemon de auditoria (service auditd restart), recebo a seguinte mensagem de erro:

Error sending add rule data request (No such file or directory)
There was an error in line 30 of /etc/audit/audit.rules

, o que acontece porque um dos arquivos que contamos para assistir ainda não existe. Eu resolvo isso criando o arquivo manualmente e repito para cada erro subseqüente. Parece-me, portanto, que não é possível fazer com que o daemon de auditoria observe um caminho preventivamente e relate a criação inicial de um determinado arquivo.

Alguém pode sugerir uma solução alternativa ou solução alternativa para esse problema?

    
por wajiii 11.05.2015 / 20:43

2 respostas

1

Dois pensamentos aqui:

1) Considere usar um -i no seu arquivo de regras.

"Ignore erros ao ler regras de um arquivo. Isso faz com que auditctl sempre retorne um código de saída bem-sucedido."

Isso continua analisando erros e capta outras regras. Caso contrário, você acaba com apenas as regras antes do erro. Obviamente, há desvantagem aqui, mas às vezes é melhor ter as regras corretas no lugar, independentemente.

2) Um simples hack para endereçar diretórios / arquivos que não estão por perto na inicialização é reiniciar / recarregar a auditoria assim que o sistema atingir seu estado de execução.

    
por 31.10.2015 / 00:23
0

Entrou na lista de discussão de auditoria ...

> On Mon, 2015-05-11 at 15:52 -0400, Steve Grubb wrote:
> > On Monday, May 11, 2015 11:50:19 AM Bill Jackson III wrote:
> > > Any pointers for troubleshooting  auditd missing events for file reads,
> > > edits, etc. ( -w _path_ -p raw) on OEL5/RHEL 5/CentOS 5?
> > > 
> > > http://security.stackexchange.com/q/89009/56827
> > 
> > The -w notation is the same as
> > 
> > -a always,exit -F path=XXX -F perms=rwa
> > 
> > What this does is audit the following functions defined in the syscall 
> > classifiers
> > :
> > http://lxr.free-electrons.com/source/include/asm-generic/audit_read.h
> > http://lxr.free-electrons.com/source/include/asm-generic/audit_write.h
> > http://lxr.free-electrons.com/source/include/asm-generic/audit_change_attr.h
> > 
> > You are not going to get a hit for each and every read system call because 
> > read is not audited.
> 
> Bill,
> 
> Is your question
> 
>   "Can one apply a file watch using auditd if the file does not exist?"
> 
> then I believe the answer is no. 

There is a patch set coming to be able to address this case if the
directory exists.  Down the road, I'm hoping to be able to accomodate
non-existant directories too.

> Options would be 
> - as part of your application deployment standard operating procedures
> (SOPs) add appropriate watches to audit.rules and restart the auditd
> service
> - keep all you sensitive files in one directory location, set a
> directory watch on this directory tree and then as part of your
> application deployment SOPs, place the real files in the sensitive file
> area and then link to them from the application area. (I've just tried
> this on a fc22 system and it works)
> 
> Regards

- RGB

--
Richard Guy Briggs <[email protected]>
Senior Software Engineer, Kernel Security, AMER ENG Base Operating Systems, Red Hat
Remote, Ottawa, Canada
Voice: +1.647.777.2635, Internal: (81) 32635, Alt: +1.613.693.0684x3545
    
por 12.05.2015 / 16:11

Tags