Antes do início do curso
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
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
Fonte: habr.com