Como auditar o Linux com a ferramenta Auditd e Ausearch

Como administradores de sistema, pessoal do grupo de suporte ou simplesmente como medida para manter os melhores níveis de controle tanto do servidor quanto dos computadores clientes da organização, está constantemente auditando o sistema operacional para estar um passo à frente das falhas que podem ocorrer e, assim, preservar a integridade e disponibilidade do sistema, bem como suas funções, serviços e elementos armazenados nele.

O que é uma auditoria LinuxQuando falamos de um sistema de auditoria em um ambiente Linux, estamos falando de um mecanismo que fornece uma maneira de rastrear informações relevantes para a segurança desse sistema operacional.

Uma auditoria é composta por um exame das várias partes que compõem aquele sistema especificamente, com uma avaliação crítica e, se necessário, testes em diferentes áreas de interesse.

Com base nesse conceito, hoje a Solvetic vai analisar duas das melhores ferramentas para o processo de auditoria no Linux: auditd e ausearch.

É importante esclarecer que a auditoria não fornece segurança adicional ao sistema operacional, mas pode ser usada para descobrir violações das políticas de segurança usadas no sistema e, portanto, estar com conhecimento adequado delas.

AuditdAuditd é o sistema de auditoria Linux que se baseia em regras pré-configuradas para gerar entradas de log e, assim, armazenar o máximo possível de informações sobre os eventos que estão acontecendo no sistema.

Essas informações coletadas são cruciais para ambientes de missão crítica, a fim de determinar o violador da política de segurança e as ações que eles tomaram e, assim, permitir que todas as ações de segurança e novas políticas criadas na organização se concentrem na melhoria de todo o ambiente operacional.

Auditd é capaz de gravar os seguintes arquivos de log

  • Data, hora, tipo e resultado de um evento.
  • Rótulos de sensibilidade de assunto e objeto.
  • Associação de um evento com a identidade do usuário que executou o evento.
  • Implante todas as modificações na configuração de auditoria e tente acessar os arquivos de log de auditoria.
  • Armazene todos os usos de mecanismos de autenticação, como SSH, Kerberos e outros.
  • É possível alternar para qualquer banco de dados confiável, como / etc / passwd.
  • Registra qualquer tentativa de importar ou exportar informações de ou para o sistema.
  • Inclui ou exclui eventos com base na identidade do usuário, tags de assunto e objeto e outros atributos.

RequisitosDa mesma forma, a utilização do sistema de auditoria também é um requisito necessário para uma série de certificações relacionadas à segurança, caso seja exigida em algum momento. A auditoria é projetada para atender ou exceder os requisitos das seguintes diretrizes ou certificações de conformidade mundial:

  • Perfil de proteção de acesso controlado (CAPP)
  • Perfil de proteção de segurança rotulado (LSPP)
  • Controle de acesso básico do conjunto de regras (RSBAC)
  • Manual de Operação do Programa de Segurança Industrial Nacional (NISPOM)
  • Lei Federal de Gestão de Segurança da Informação (FISMA)
  • Indústria de cartões de pagamento - padrão de segurança de dados (PCI-DSS)
  • Guias de implementação técnica de segurança (STIG)

Benefícios adicionaisAlguns dos benefícios adicionais de usar o sistema de auditoria Linux são os seguintes:

  • Não requer programas ou processos externos para ser executado em um sistema que o torna autossuficiente.
  • É altamente configurável, pelo que nos permite ver qualquer funcionamento do sistema que desejamos.
  • Ajuda a detectar ou analisar possíveis comprometimentos, no nível de segurança, de um sistema.
  • É capaz de funcionar como um sistema de detecção independente.
  • Ele pode funcionar com sistemas de detecção de intrusão para permitir a detecção de intrusão.
  • É uma ferramenta vital para auditoria de investigação forense.

Embora alguns termos possam parecer estranhos, se estivermos comprometidos com a segurança, esta é sem dúvida uma das melhores opções.

1. Componentes do sistema de auditoria Linux auditd


O sistema de auditoria tem dois componentes básicos que são:
  • Aplicativos de usuário e utilitários ou ferramentas
  • Processamento de chamadas do sistema no nível do kernel, que aceita chamadas do sistema de aplicativos do espaço do usuário e as passa por três tipos de filtros: usuário, tarefa, saída ou exclusão.
A parte mais importante é o daemon de auditoria do usuário (auditd) que coleta as informações com base em regras pré-configuradas do kernel e gera entradas em um arquivo de log: o log padrão é:
 /var/log/audit/audit.log
Além disso, o audispd é um multiplexador de eventos que interage com o auditd e envia eventos para outros programas que desejam realizar o processamento de eventos em tempo real.

Existem várias ferramentas de espaço do usuário para gerenciar e recuperar informações do sistema de auditoria, que são:

AuditctlÉ um utilitário para controlar o sistema de auditoria do kernel.
AusearchÉ um utilitário para pesquisar arquivos de log de auditoria para eventos específicos.
AureportÉ um utilitário para a criação de relatórios de eventos registrados.

Para esta análise, usaremos CentOS 7

2. Instale e configure o auditd no CentOS 7


A primeira etapa é certificar-se de que a ferramenta de auditoria está instalada no sistema usando o comando rpm e o utilitário grep como este:
 rpm -qa | auditoria grep
O resultado será:

No caso de não termos os pacotes de auditoria, devemos executar o seguinte comando como usuários root:

 yum instalar auditoria
Uma vez instalado, devemos configurar se auditd está habilitado, para isso executaremos qualquer um dos seguintes comandos em sua ordem:

No CentOS ou RHEL 7

 systemctl is-enabled auditdsystemctl status auditdsystemctl start auditd (inicia o serviço) systemctl enable auditd (ativa o serviço)

No CentOS ou RHEL 6

 service auditd statusservice auditd start (inicia o serviço) chkconfig auditd on (ativa o serviço)

Podemos ver que seu status é ativo.

3. Configuração de auditoria


Para configurar o auditd devemos usar o arquivo de configuração principal /etc/audit/auditd.conf pois lá será possível controlar como o serviço funciona, como definir a localização do arquivo de log, o número máximo de arquivos de log, o formato do registro , como lidar com discos completos, rotação de registros e mais opções.
Para isso, usaremos o editor preferido:
 nano /etc/audit/auditd.conf
Lá veremos o seguinte:

Podemos ver que cada linha nos permite indicar uma ação específica e podemos alterá-la conforme necessário.

4. Regras de auditoria em Linux


Conforme observado acima, auditd faz uso de regras para coletar informações específicas do kernel. Essas regras são basicamente opções auditctl que podem ser pré-configuradas no arquivo /etc/audit/rules.d/audit.rules.

Existem três tipos de regras de auditoria que podem ser definidas, que são:

Regras de controleEstes permitem modificar o comportamento do sistema de auditoria e algumas de suas configurações.
Regras do sistema de arquivosEssas regras permitem a auditoria de acesso a um arquivo ou diretório específico.
Regras de chamada do sistemaPermitem a gravação de chamadas de sistema feitas por qualquer programa.

Para acessar essas regras iremos para o seguinte caminho usando o editor desejado:

 nano /etc/audit/rules.d/audit.rules
Veremos o seguinte:

Neste arquivo, na primeira seção, devemos adicionar regras de controle. Posteriormente, adicione as regras de auditoria na seção do meio e, finalmente, a última seção contém os parâmetros de imutabilidade que também são regras de controle.

Alguns exemplos dessas regras são:

Remova todas as regras anteriores

 -D

Defina o tamanho do buffer

 -b 3074

A falha gera uma opção de pânico

 -f 4

Crie no máximo 120 mensagens de auditoria por segundo

 -r 120

Um exemplo de regra é o seguinte:

Aí temos o seguinte:

Usado para especificar um arquivo ou diretório a ser monitorado.

 -C

PermissõesElas são as permissões a serem registradas, r - para acesso de leitura, w - para acesso de gravação, x - para acesso de execução e - para mudança de arquivo ou atributo de direcionador.

 -p

Identifique o conjunto de regrasPermite definir uma cadeia opcional para identificar qual regra (ou um conjunto de regras) criou uma entrada de registro específica.

 -k

Uma vez que as regras são definidas, usamos a combinação de teclas Ctrl + O para salvar o arquivo e Ctrl + X para fechá-lo. Adicionaremos essas regras, tomando as do exemplo, executando as seguintes linhas como raiz:

 auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changes
Para ver as regras atuais, vamos executar o seguinte:
 sudo auditctl -l

Desta forma, o auditd se torna uma ferramenta de auditoria valiosa no CentOS 7.

5. Ausearch Linux


O utilitário ausearch foi projetado para permitir a pesquisa de arquivos de log de auditoria para eventos específicos com base em eventos e diferentes critérios de pesquisa, como identificador de evento, identificador de chave, arquitetura de CPU, nome de comando, nome de host, nome de grupo ou ID de grupo.

Por padrão, o ausearch procura no arquivo /var/log/audit/audit.log. Você pode especificar um arquivo diferente usando o comando ausearch options -if filename. Fornecer várias opções em um comando ausearch é equivalente a usar o operador AND.

Para usar o valor padrão e ver os logs atuais, executaremos um dos seguintes comandos:

 cat /var/log/audit/audit.logcat /var/log/audit/audit.log | menos

Como podemos ver, os dados representados aqui podem ser confusos, é por isso que ausearch faz uso da sintaxe ausearch (opção) para filtrar esses resultados e obter uma visão muito mais fácil de gerenciar.

Temos opções como:

Verifique a execução dos logs do processoLá podemos usar o parâmetro -p mais o PID para obter um resultado específico:

 ausearch -p 579

Verificando o arquivo de registro de auditoria para tentativas de loginNesse caso, precisamos usar o parâmetro -m para identificar mensagens específicas e -sv para definir os resultados bem-sucedidos.

 ausearch -m USER_LOGIN -sv no

Encontre a atividade do usuário no arquivo de log do AuditdPara este resultado, usaremos o parâmetro -ua mais o nome de usuário:

 ausearch -ua Solvetic

Encontre modificações em usuários, grupos e funçõesCom esta opção será possível revisar todas as mudanças de sistema utilizadas com contas de usuários, grupos e funções; Podemos especificar vários tipos de mensagens separadas por vírgulas da seguinte maneira:

 ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -i
Veremos o seguinte:

Veja a ajuda de uma pesquisaPara ver as diferentes opções deste utilitário, executaremos o seguinte:

 homem ausearch

Assim, podemos ver as várias opções ao realizar uma auditoria completa e eficaz no CentOS ou RedHat.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave