Nosso objetivo é registrar o acesso não autorizado a arquivos protegidos.
O que esperamos
, ou seja, : digamos que temos uma pasta ' / tmp / dir ', que contém subdiretórios e arquivos
Qualquer usuário que não seja o usuário que criou a pasta ou os arquivos recebe um erro de "Permissão negada" ao usar, por exemplo:
cat /tmp/dir/file.sh
E isso deve ser registrado no arquivo audit.log.
O que tentamos
Descobrimos muitas soluções envolvendo o auditd. Por exemplo, os seguintes (de aqui ):
-a always,exit -F arch=b32 -S open -S openat -F exit=-EACCES -F dir=/tmp/dir -k access
-a always,exit -F arch=b32 -S open -S openat -F exit=-EPERM -F dir=/tmp/dir -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -F dir=/tmp/dir -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -F dir=/tmp/dir -k access
Ao usar cat /tmp/dir/file.sh, com o usuário que criou a pasta, os logs são gravados corretamente em audit.log, com uma mensagem de sucesso.
Mas com um outro usuário, a saída padrão mostra a 'permissão negada', mas nenhuma mensagem é enviada no arquivo audit.log, enquanto esperamos uma mensagem de acesso malsucedida.
Nós tentamos seguir a documentação do Redhat também (veja aqui ), desta vez em apenas um arquivo, mas com o mesmo resultado exato. Não funciona como esperado pelo Redhat. Estamos usando Redhat 7.3, então deve funcionar. Excluímos quaisquer regras antes de adicionar uma nova e, ainda assim, ela não faz o que esperamos.
Você tem alguma ideia de por que isso não funcionaria?
Obrigado.
Tags rhel linux-audit