Pesquisa de site

Como verificar a integridade de arquivos e diretórios usando “AIDE” no Linux


Em nosso mega guia para fortalecer e proteger o CentOS 7, na seção “proteger o sistema internamente ”, uma das ferramentas de segurança úteis que listamos para proteção interna do sistema contra vírus, rootkits, malware e detecção de vírus não autorizados atividades é AIDE.

AIDE (Advanced Intrusion Detection Environment) é uma ferramenta de detecção de intrusão pequena, mas poderosa e gratuita, de código aberto, que usa regras predefinidas para verificar a integridade de arquivos e diretórios em sistemas operacionais do tipo Unix. como Linux. É um binário estático independente para configurações simplificadas de monitoramento de cliente/servidor.

É rico em recursos: usa arquivos de configuração de texto simples e banco de dados, facilitando o uso; suporta vários algoritmos de resumo de mensagens, como, entre outros, md5, sha1, rmd160, tigre; suporta atributos de arquivo comuns; também oferece suporte a expressões regulares poderosas para incluir ou excluir seletivamente arquivos e diretórios a serem verificados.

Também pode ser compilado com suporte excepcional para compactação Gzip, Posix ACL, SELinux, XAttrs e atributos de sistema de arquivos estendidos.

Aide funciona criando um banco de dados (que é simplesmente um instantâneo de partes selecionadas do sistema de arquivos), a partir das regras de expressão regular definidas no(s) arquivo(s) de configuração. Depois que esse banco de dados for inicializado, você poderá verificar a integridade dos arquivos do sistema em relação a ele. Este guia mostrará como instalar e usar o Aide no Linux.

Como instalar o AIDE no Linux

O Aide é empacotado em repositórios oficiais das principais distribuições do Linux. Para instalá-lo, execute o comando da sua distribuição usando um gerenciador de pacotes.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Após a instalação, o arquivo de configuração principal é /etc/aide.conf. Para visualizar a versão instalada, bem como os parâmetros de tempo de compilação, execute o comando abaixo em seu terminal:

aide -v
Saída de amostra
Aide 0.14

Compiled with the following options:

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

Você pode abrir a configuração usando seu editor favorito.

vi /etc/aide.conf

Possui diretivas que definem a localização do banco de dados, localização do relatório, regras padrão, os diretórios/arquivos a serem incluídos no banco de dados.

Compreendendo as regras do auxiliar padrão

Usando as regras padrão acima, você pode definir novas regras personalizadas no arquivo aide.conf, por exemplo.

PERMS = p+u+g+acl+selinux+xattrs

A regra PERMS é usada apenas para controle de acesso, ela detectará quaisquer alterações em arquivos ou diretórios com base nas permissões de arquivo/diretório, usuário, grupo, permissões de controle de acesso, contexto SELinux e atributos de arquivo.

Isso verificará apenas o conteúdo e o tipo do arquivo.

CONTENT = sha256+ftype

Esta é uma versão estendida da regra anterior, verifica conteúdo estendido, tipo de arquivo e acesso.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

A regra DATAONLY abaixo ajudará a detectar quaisquer alterações nos dados dentro de todos os arquivos/diretórios.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Definindo regras para monitorar arquivos e diretórios

Depois de definir as regras, você pode especificar o arquivo e os diretórios a serem monitorados. Considerando a regra PERMS acima, esta definição verificará as permissões de todos os arquivos no diretório raiz.

/root/\..*  PERMS

Isso verificará todos os arquivos no diretório /root em busca de alterações.

/root/   CONTENT_EX

Para ajudá-lo a detectar quaisquer alterações nos dados dentro de todos os arquivos/diretórios em /etc/, use isto.

/etc/   DATAONLY 

Usando AIDE para verificar a integridade de arquivos e diretórios no Linux

Comece construindo um banco de dados com base nas verificações que serão realizadas usando o sinalizador --init. Espera-se que isso seja feito antes que seu sistema seja conectado a uma rede.

O comando abaixo criará um banco de dados que contém todos os arquivos que você selecionou em seu arquivo de configuração.

aide --init

Em seguida, renomeie o banco de dados para /var/lib/aide/aide.db.gz antes de continuar, usando este comando.

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

Recomenda-se mover o banco de dados para um local seguro, possivelmente em uma mídia somente leitura ou em outras máquinas, mas certifique-se de atualizar o arquivo de configuração para lê-lo a partir daí.

Depois que o banco de dados for criado, você poderá verificar a integridade dos arquivos e diretórios usando o sinalizador --check.

aide --check

Ele lerá o instantâneo no banco de dados e o comparará com os arquivos/diretórios encontrados no disco do sistema. Se encontrar alterações em locais que você não esperava, ele gerará um relatório que você poderá revisar.

Como nenhuma alteração foi feita no sistema de arquivos, você obterá apenas uma saída semelhante à acima. Agora tente criar alguns arquivos no sistema de arquivos, em áreas definidas no arquivo de configuração.

vi /etc/script.sh
touch all.txt

Em seguida, execute uma verificação mais uma vez, que deverá relatar os arquivos adicionados acima. A saída deste comando depende das partes do sistema de arquivos que você configurou para verificação; pode demorar muito.

aide --check

Você precisa executar verificações auxiliares regularmente e, em caso de qualquer alteração nos arquivos já selecionados ou adição de novas definições de arquivo no arquivo de configuração, sempre atualize o banco de dados usando a opção --update:

aide --update

Depois de executar uma atualização de banco de dados, para usar o novo banco de dados em verificações futuras, sempre renomeie-o para /var/lib/aide/aide.db.gz:

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

É tudo por agora! Mas tome nota destes pontos importantes:

  • Uma característica da maioria dos sistemas de detecção de intrusão, inclusive AIDE, é que eles não fornecem soluções para a maioria das brechas de segurança em um sistema. No entanto, eles ajudam a facilitar o processo de resposta a intrusões, ajudando os administradores do sistema a examinar quaisquer alterações nos arquivos/diretórios do sistema. Portanto, você deve estar sempre vigilante e atualizar suas medidas de segurança atuais.
  • É altamente recomendável manter o banco de dados recém-criado, o arquivo de configuração e o binário AIDE em um local seguro, como uma mídia somente leitura (possível se você instalar a partir do código-fonte).
  • Para segurança adicional, considere assinar a configuração e/ou banco de dados.

Para obter informações e configurações adicionais, consulte sua página de manual ou confira a página inicial do AIDE: http://aide.sourceforge.net/