Como usar o sistema de auditoria no CentOS 7

Quando nossas funções e funções envolvem o gerenciamento de todos os elementos da infraestrutura corporativa, seja no nível da rede ou do sistema, devemos ter ferramentas úteis para monitorar, rastrear eventos e garantir o desempenho ideal de todos os seus componentes.

Hoje vamos revisar como implementar e usar o sistema de auditoria Linux, uma ferramenta para muitos desconhecidos. Sabemos que existem utilitários de terceiros que nos permitem gerenciar diferentes parâmetros dentro do sistema, mas esse utilitário vai além do que precisamos e revisaremos o porquê.

Para este tutorial, iremos analisar o utilitário em um ambiente CentOS 7.

1. Conheça o sistema de auditoria Linux


Com o sistema de auditoria podemos ser atualizados quanto às informações essenciais de segurança em nosso sistema.

O sistema de auditoria nos fornece relatórios sobre todos os eventos que ocorrem no sistema com base em regras predefinidas; É importante esclarecer que com o sistema de auditoria não adicionamos segurança ao CentOS 7, mas nos permite analisar quais falhas o sistema possui para tomar medidas corretivas sobre ele.

Informação capaz de analisar

  • Mudanças de banco de dados, por exemplo mudanças de caminho / etc / passwd.
  • O sistema de auditoria fornece data, hora e tipo de evento.
  • Tenta importar ou exportar informações dentro do sistema.
  • Mecanismos de autenticação do usuário.
  • Todas as modificações para mudanças de auditoria e tentativas de acesso aos logs de auditoria, entre outros.

2. Verifique a instalação do sistema de auditoria


Dentro do sistema de auditoria, temos dois esquemas importantes a levar em consideração:

1. O núcleo do sistema de auditoria pega todos os eventos processados ​​pelo usuário e envia essas informações para o daemon de auditoria.

2. O daemon de auditoria obtém essas informações e cria os registros.

O sistema de auditoria lida com dois pacotes: auditoria Y audit-libsEles são instalados por padrão no CentOS 7, podemos verificar sua instalação usando o seguinte comando:

 sudo yum list audit-libs de auditoria

Caso não os tenha, podemos instalar o sistema de auditoria utilizando o seguinte comando:

 sudo yum install auditoria
Depois de instalados, devemos ver o seguinte texto:
 Pacotes instalados audit.x86_64 audit-libs.x86_64
Vamos prosseguir para a configuração do sistema.

3. Configure o sistema de auditoria no CentOS 7


Uma vez que tenhamos validado que temos os pacotes necessários, vamos modificar a configuração do arquivo auditd.conf e é neste arquivo que temos a opção de configurar os registros, eventos e outros. Para acessar este arquivo, usaremos o seguinte comando:
 sudo nano /etc/audit/auditd.conf
A seguinte janela será exibida:

Parâmetros mais importantes

  • num_logs: Permite definir a quantidade de logs a serem gravados no equipamento.
  • max_log_file: Usando este parâmetro, podemos definir o tamanho máximo de um log.
  • espaço_esquerdo: Podemos definir a quantidade de espaço livre em disco.
  • disk_full_action: Podemos definir uma determinada ação para quando o disco estiver cheio.

Como podemos ver, podemos ajustar vários parâmetros. Por exemplo, se quisermos que o número de registros seja 12, simplesmente excluímos o valor padrão (5) e adicionamos o valor desejado (12). Se quisermos alterar o tamanho dos logs para 20, simplesmente alteramos o valor padrão (6) para o necessário (20).

Nós salvamos as alterações usando a combinação Ctrl + O e saímos do editor usando a combinação Ctrl + X. Uma vez que as alterações foram processadas, devemos reiniciar o serviço de auditoria usando o comando:

 sudo service auditd restart
ObservaçãoSe quisermos editar os parâmetros das regras, devemos editar o arquivo audit.rules usando o seguinte comando:
 /etc/audit/rules.d/audit.rules

4. Entenda os registros de auditoria do sistema no CentOS 7


Por padrão, o sistema de auditoria armazena todos os eventos que ocorreram no CentOS no caminho /var/log/audit/audit.log e esses arquivos contêm muitas informações e códigos que podem não ser tão fáceis de entender para muitos de nós, mas a Solvetic se encarrega de resumir um pouco esses arquivos.

Para demonstrar como funciona o sistema de auditoria, criamos uma regra chamada sshconfigchange e ela pode ser criada usando o seguinte comando:

 sudo auditctl -w / etc / ssh / sshd_config -p rwxa -k sshconfigchange
Para ver a regra, usamos a seguinte sintaxe:
 sudo cat / etc / ssh / sshd_config

Agora vamos ver o log criado pela ferramenta de auditoria do sistema, digitando o seguinte:

 sudo nano /var/log/audit/audit.log

Vamos contar com três (3) registros vitais:

  • SYSCALL
  • CWD
  • CAMINHO

Esses arquivos são compostos da seguinte forma:

  • Palavra chave: Refere-se ao nome do processo (PATH, CWD, etc)
  • Timestamp: Refere-se à data e hora (1469708505.235)
  • Ir: Consiste no ID do evento em questão (153)

Evento SYSCALL
SYSCALL refere-se à mensagem gerada por uma chamada de kernel do sistema de auditoria, campo msg = auditoria (1469708505.235:153):

No campo de carimbo de data / hora e ID vemos que esses três registros têm o mesmo valor (1469708505.235: 153), o que indica que esses três registros foram armazenados com o mesmo evento de auditoria.

O campo de arco refere-se à arquitetura da máquina, neste caso 40000003 indica que é i386, se fosse o valor c000003e seria uma máquina x86_64.

O Campo Syscall menciona o tipo de chamada enviada ao sistema. O valor pode variar, neste caso é 5. Podemos usar o comando sudo ausyscall 5 para ver o estado do serviço (Aberto).

Existem mais de 300 valores, se quisermos ver o que os valores significam em geral, podemos usar o comando:

 sudo ausyscall -dump
E veremos todos os valores e seus significados:

O Campo de sucesso Nos informa se a chamada de evento foi bem-sucedida ou não, sim ou não. Podemos localizar o evento SYSCALL e rolar para a esquerda para ver outros relatórios incluídos.

O campo uid refere-se ao usuário que iniciou o serviço de auditoria, neste caso é uid = 0.

O campo de comunicação refere-se ao comando que foi usado para exibir a mensagem, então vemos que aparece como comm = "cat".

O campo exe Indica o caminho para o comando que gerou o evento de auditoria, podemos ver neste exemplo que é exe = "/ usr / bin / cat".

Evento CWD
No evento CWD podemos notar que não existe a mesma informação que no SYSCALL, aqui temos o diretório utilizado para salvar os eventos, CWD- Current Working Directory, daí vemos o valor cwd = ”/ home / solvetic”.

Evento PATH
No último evento, PATH, vemos que o campo de nome que se refere ao arquivo ou diretório que foi usado para criar a auditoria, neste caso vemos o seguinte: name = "/ etc / ssh / sshd_config".

5. Pesquisar eventos de auditoria para eventos específicos


Uma das maneiras mais interessantes de pesquisar um evento no CentOS 7 é usando a sintaxe:
 sudo ausearch -m Event_name - começar hoje -i
Este comando permite filtrar um determinado evento e não ter que pesquisar todo o arquivo do evento, uma vez que é extenso. Neste caso, iremos pesquisar todos os eventos associados ao login, portanto iremos inserir o seguinte:
 sudo ausearch -m LOGIN - comece hoje -i
O resultado obtido será o seguinte:

Também é possível filtrar a busca por ID de evento para isso usaremos a seguinte sintaxe:

 sudo ausearch -a Event_ID
A seguir veremos como gerar relatórios.

6. Gerar relatórios de auditoria


Uma das maneiras de gerenciarmos melhor os eventos é com um relatório detalhado sobre o que acontece no CentOS 7 e com o sistema de auditoria podemos gerar relatórios simples e claros de entender para nos ajudar na nossa gestão. Para isso usaremos o comando:
 sudo aureport -x -summary
E veremos o resultado obtido:

A primeira coluna que vemos indica o número de vezes que o comando foi executado e a segunda coluna indica qual comando foi executado. Da mesma forma, podemos gerar um relatório com os eventos com falha usando o comando:

 sudo aureport - falhou

Se quisermos gerar um relatório com os nomes dos usuários e as chamadas do sistema, usaremos o comando:

 sudo aureport -f -i

7. Como analisar processos individualmente


É possível que às vezes tenhamos que analisar processos individualmente e não um diretório inteiro, para isso usaremos o autrace, esta ferramenta nos permite monitorar chamadas de sistema para um determinado processo. Os resultados do autrace são armazenados no caminho:
 /var/log/audit/audit.log
Por exemplo vamos analisar o caminho / bin / data, para isso usaremos o seguinte:
 sudo autrace / bin / date

Vemos que o evento com ID 16541 foi criado. Agora, passamos a inserir o seguinte comando para ver o resumo do evento:

 udo ausearch -p 16541 --raw | aureport -f -i

Desta forma, podemos analisar os arquivos individualmente. No link a seguir podemos ver todos os tipos de registros que podem ser auditados pelo sistema de auditoria do CentOS 7.

Desta forma, vemos como o sistema de auditoria no CentOS 7 pode nos ajudar a gerenciar e supervisionar os eventos que ocorrem em nossos computadores e, assim, garantir que temos um sistema seguro, estável e ideal.

Por fim, deixamos um tutorial sobre a ferramenta gratuita WinAudit, para realizar auditorias no Windows:

Auditar com WinAudit

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

wave wave wave wave wave