Como instalar e usar o AIDE (Advanced Intrusion Detection Environment) no CentOS 8

Antecipando o início do curso Administrador Linux, preparamos uma tradução de material interessante.




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

Recursos do AIDE:

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

Neste artigo, veremos como instalar e usar o AIDE para detectar invasões no CentOS 8.

Pré-requisitos


  • Um servidor executando o CentOS 8 com pelo menos 2 GB de RAM.
  • acesso root

Começando


É recomendável que você atualize seu 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 entrem em vigor.

Instalar o AIDE


O 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

Após a conclusão da instalação, você pode visualizar a versão do AIDE usando o seguinte comando:

aide --version

Você deve 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"

As opções disponíveis aidepodem ser visualizadas da seguinte forma:

aide --help



Criando e inicializando um 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ê deve 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 irá criar um novo banco de dados aide.db.new.gzno diretório /var/lib/aide. 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á esse novo arquivo de banco de dados até que 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 que esse banco de dados seja atualizado periodicamente para fornecer o monitoramento necessário das alterações.

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

Executar verificação


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

aide --check

A execução deste comando levará algum tempo, dependendo do tamanho do seu sistema de arquivos e da quantidade de RAM no seu servidor. Após a conclusão da verificação, você 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 diz que todos os arquivos e diretórios correspondem ao banco de dados AIDE.

Testando o AIDE


Por padrão, o AIDE não controla 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

Adicione o "/root/CONTENT_EX"seguinte acima da linha :

/var/www/html/ CONTENT_EX

Em seguida, crie um arquivo aide.txtno diretório /var/www/html/usando o seguinte comando:

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

Agora execute a verificação do AIDE e verifique se o arquivo criado foi detectado.

aide --check

Você deve 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 do 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.gzno diretório

/var/lib/aide/

Você pode vê-lo 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 outras alterações. Renomeie da seguinte maneira:

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

Execute o teste novamente para verificar se o AIDE está usando o novo banco de dados:

aide --check

Você deve 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!!

Automatizar verificação


É uma boa ideia executar as verificações do AIDE todos os dias e enviar o relatório por correio. Esse processo pode ser automatizado com cron.

nano /etc/crontab

Para iniciar a verificação do AIDE todos os dias às 10:15, adicione a linha no final do arquivo:

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

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

tail -f /var/mail/root

O log do 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 de arquivos e detectar acesso não autorizado ao servidor. Para configurações adicionais, você pode modificar o arquivo de configuração /etc/aide.conf. Por motivos de segurança, é recomendável armazenar o banco de dados e o arquivo de configuração na mídia somente leitura. Para mais informações, consulte a documentação do AIDE Doc .



Saiba mais sobre o curso.



All Articles