Como instalar e usar AIDE (ambiente avançado de detecção de intrusão) no CentOS 8

Antes do início do curso "Administrador Linux" Preparamos uma tradução de material interessante.

Como instalar e usar AIDE (ambiente avançado de detecção de intrusão) no CentOS 8

AIDE significa “Ambiente Avançado de Detecção de Intrusão” e é um dos sistemas mais populares para monitorar mudanças em sistemas operacionais baseados em Linux. AIDE é usado para proteger contra malware, vírus e detectar atividades não autorizadas. Para verificar a integridade dos arquivos e detectar intrusões, o AIDE cria um banco de dados de informações de arquivos e compara o estado atual do sistema com esse banco de dados. AIDE ajuda a reduzir o tempo de investigação de incidentes concentrando-se nos arquivos que foram modificados.

Recursos do AIDE:

  • Suporta vários atributos de arquivo, incluindo: tipo de arquivo, inode, uid, gid, permissões, número de links, mtime, ctime e atime.
  • Suporte para compactação Gzip, SELinux, XAttrs, Posix ACL e atributos do sistema de arquivos.
  • Suporta vários algoritmos, incluindo md5, sha1, sha256, sha512, rmd160, crc32, etc.
  • Envio de notificações por email.

Neste artigo, veremos como instalar e usar o AIDE para detecção de intrusões no CentOS 8.

Pré-requisitos

  • Servidor rodando CentOS 8, com pelo menos 2 GB de RAM.
  • acesso root

Начинаем

Recomenda-se atualizar o sistema primeiro. Para fazer isso, execute o seguinte comando.

dnf update -y

Após a atualização, reinicie o sistema para que as alterações tenham efeito.

Instalando o AIDE

AIDE está disponível no repositório padrão do CentOS 8. Você pode instalá-lo facilmente executando o seguinte comando:

dnf install aide -y

Assim que a instalação for concluída, você pode visualizar a versão do AIDE usando o seguinte comando:

aide --version

Você deverá ver o seguinte:

Aide 0.16

Compiled with the following options:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Opções disponíveis aide pode ser visto da seguinte forma:

aide --help

Como instalar e usar AIDE (ambiente avançado de detecção de intrusão) no CentOS 8

Criando e inicializando o banco de dados

A primeira coisa que você precisa fazer após instalar o AIDE é inicializá-lo. A inicialização consiste em criar um banco de dados (instantâneo) de todos os arquivos e diretórios do servidor.

Para inicializar o banco de dados, execute o seguinte comando:

aide --init

Você deverá ver o seguinte:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

O comando acima criará um novo banco de dados aide.db.new.gz no catálogo /var/lib/aide. Isso pode ser visto usando o seguinte comando:

ls -l /var/lib/aide

Resultado:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

O AIDE não usará este novo arquivo de banco de dados até que ele seja renomeado para aide.db.gz. Isso pode ser feito da seguinte forma:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

É recomendável atualizar esse banco de dados periodicamente para garantir que as alterações sejam monitoradas adequadamente.

Você pode alterar a localização do banco de dados alterando o parâmetro DBDIR no arquivo /etc/aide.conf.

Executando uma verificação

AIDE agora está pronto para usar o novo banco de dados. Execute a primeira verificação do AIDE sem fazer alterações:

aide --check

Este comando levará algum tempo para ser concluído dependendo do tamanho do seu sistema de arquivos e da quantidade de RAM do seu servidor. Assim que a verificação for concluída, você deverá ver o seguinte:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

A saída acima indica que todos os arquivos e diretórios correspondem ao banco de dados AIDE.

Testando AIDE

Por padrão, o AIDE não rastreia o diretório raiz padrão do Apache /var/www/html. Vamos configurar o AIDE para visualizá-lo. Para fazer isso você precisa alterar o arquivo /etc/aide.conf.

nano /etc/aide.conf

Adicionar linha acima "/root/CONTENT_EX" O seguinte:

/var/www/html/ CONTENT_EX

A seguir, crie um arquivo aide.txt no catálogo /var/www/html/usando o seguinte comando:

echo "Test AIDE" > /var/www/html/aide.txt

Agora execute a verificação AIDE e certifique-se de que o arquivo gerado foi detectado.

aide --check

Você deverá ver o seguinte:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Vemos que o arquivo criado foi detectado aide.txt.
Após analisar as alterações detectadas, atualize o banco de dados AIDE.

aide --update

Após a atualização você verá o seguinte:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

O comando acima criará um novo banco de dados aide.db.new.gz no catálogo

/var/lib/aide/

Você pode ver isso com o seguinte comando:

ls -l /var/lib/aide/

Resultado:

total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz

Agora renomeie o novo banco de dados novamente para que o AIDE use o novo banco de dados para rastrear alterações adicionais. Você pode renomeá-lo da seguinte maneira:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Execute a verificação novamente para garantir que o AIDE esteja usando o novo banco de dados:

aide --check

Você deverá ver o seguinte:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Automatizamos a verificação

É uma boa ideia fazer uma verificação AIDE todos os dias e enviar o relatório pelo correio. Este processo pode ser automatizado usando cron.

nano /etc/crontab

Para executar a verificação AIDE todos os dias às 10h15, adicione a seguinte linha ao final do arquivo:

15 10 * * * root /usr/sbin/aide --check

AIDE agora irá notificá-lo por correio. Você pode verificar seu e-mail com o seguinte comando:

tail -f /var/mail/root

O log AIDE pode ser visualizado usando o seguinte comando:

tail -f /var/log/aide/aide.log

Conclusão

Neste artigo, você aprendeu como usar o AIDE para detectar alterações em arquivos e identificar acessos não autorizados ao servidor. Para configurações adicionais, você pode editar o arquivo de configuração /etc/aide.conf. Por motivos de segurança, recomenda-se armazenar o banco de dados e o arquivo de configuração em mídia somente leitura. Mais informações podem ser encontradas na documentação Documento AIDE.

Saiba mais sobre o curso.

Fonte: habr.com

Adicionar um comentário