Como verificar a integridade do arquivo ou diretório com AIDE no Linux

Ao usar vários sistemas operacionais, é ideal sempre ter ferramentas que nos permitem manter o controle centralizado e direto sobre eles. Uma das questões mais delicadas é indiscutivelmente a segurança e integridade dos arquivos, pois isso garante a disponibilidade e confiabilidade dos arquivos.

Hoje Solvetic vai falar sobre uma ferramenta prática chamada AIDE através da qual será possível verificar a integridade de um arquivo ou diretório nas várias distribuições do Linux e assim ter certeza da total confiabilidade do arquivo selecionado.

O que é AIDEAIDE ((Advanced Intrusion Detection Environment) é um verificador de integridade de arquivos e diretórios em ambientes Linux que nos permite, como administradores, manter um controle específico sobre eles.
Seu funcionamento consiste na criação de um banco de dados desenhado a partir das regras de expressão regular que estão disponíveis nos arquivos de configuração. Depois que esse banco de dados é inicializado, ele pode ser usado para verificar a integridade dos arquivos necessários.

Atributos de arquivo AIDEAIDE é responsável por construir o banco de dados a partir dos arquivos especificados em aide.conf, que é o arquivo de configuração do AIDE. O banco de dados AIDE armazena vários atributos de arquivo, dentro dos quais temos:

  • tipo de arquivo
  • permitem
  • usuário e grupo
  • tamanho do arquivo
  • mtime, ctime e atime
  • tamanho de crescimento
  • número de links e nome do link.

Além disso, o AIDE cria uma soma de verificação criptográfica ou hash de cada arquivo usando um ou uma combinação dos seguintes algoritmos de resumo de mensagem: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32 e também os atributos acl, xattr, selinux , e e2fsattrs podem ser usados ​​quando explicitamente habilitados em tempo de compilação.

AIDE tem vários algoritmos de resumo de mensagem que são usados ​​para verificar a integridade do arquivo. Todos os atributos de arquivo usuais também podem ser verificados quanto a inconsistências dentro dele. AIDE é capaz de ler bancos de dados de versões mais antigas ou mais recentes.

Recursos do AIDEAo utilizar esta ferramenta temos as seguintes características:

  • Algoritmos compatíveis com o resumo da mensagem, como: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (adicionalmente com libmhash: gost, haval, crc32b)
  • Atributos de arquivo com suporte: Tipo de arquivo, permissões, Inode, Uid, Gid, nome do link, tamanho, número do bloco, número de links, Mtime, Ctime e Atime
  • Ele tem suporte para Posix ACL, SELinux, XAttrs e atributos de sistema de arquivo estendido se o suporte for compilado em texto simples e arquivos de configuração de banco de dados para simplificar
  • Possui suporte a expressões regulares para incluir ou excluir seletivamente arquivos e diretórios para serem monitorados
Você pode compactar o banco de dados gzip se o suporte zlib for compilado em um binário estático separado para configurações de monitoramento de cliente / servidor.

AIDE está incluído nas seguintes distribuições UNIX

  • Debian
  • Gentoo
  • MacPorts
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

É importante esclarecer que o AIDE não pode fornecer segurança absoluta na alteração de um arquivo, pois como qualquer outro arquivo de sistema, o banco de dados e / ou binários do AIDE também podem ser alterados usando as ferramentas adequadas.

1. Instalando AIDE no Linux


O AIDE está disponível nos repositórios oficiais das distribuições Linux mais populares, para isso podemos instalá-lo usando um gerenciador de pacotes de acordo com a distro selecionada da seguinte forma:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

Nesse caso, usamos o Ubuntu. Lá digitamos a letra S para aceitar o download e instalação do AIDE. Depois de instalado, veremos o seguinte:

Como podemos ver, o arquivo de configuração principal é /etc/aide/aide.conf. Para visualizar a versão instalada, bem como os parâmetros de tempo de compilação, podemos executar o seguinte:

 ajudante -v

2. Acesso ao arquivo de configuração do AIDE Linux


Podemos acessar o arquivo de configuração do AIDE executando a seguinte linha com o editor desejado:
 nano /etc/aide/aide.conf
Veremos o seguinte:

Neste arquivo encontramos diretivas que definem a localização do banco de dados, a localização do relatório, as regras padrão, os diretórios ou arquivos a serem incluídos no banco de dados e muito mais.

3. Como gerenciar e compreender as regras do AIDE

AIDE gerencia regras como:

pPermissões - Permissões
nNúmero de links
ou= Usuário
gGrupos
sTamanho (tamanho)
bContagem de blocos
mmtime
paraum tempo
cctime
SelinuxContexto de segurança Selinux
xattrsExibe os atributos estendidos de um arquivo

A partir dessas regras será possível criar regras personalizadas no arquivo de configuração do AIDE. Por exemplo, podemos criar a seguinte regra:

 PERMS = p + u + g + acl + selinux + xattrs
Nesse caso, a regra PERMS é implementada para controle de acesso, que detectará quaisquer alterações no arquivo ou diretórios com base nas permissões de arquivo ou diretório, usuário, grupo, permissões de controle de acesso, atributos de arquivo e muito mais.

Outra regra que podemos implementar é aquela que verifica apenas o conteúdo do arquivo e o tipo de arquivo selecionado, por exemplo:

 CONTEÚDO = sha256 + ftype
Se quisermos verificar o conteúdo estendido, o tipo de arquivo e o acesso, podemos criar uma regra como:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Uma regra que nos ajuda a detectar mudanças no diretório apenas no nível dos dados é:
 SOMENTE DADOS = p + n + u + g + s + acl + selinux + xattrs + sha256
Essas regras devem ser adicionadas na parte inferior do arquivo de configuração do AIDE:

Salvamos as alterações usando as teclas Ctrl + O e saímos usando Ctrl + X.

4. Como definir regras para visualizar arquivos e diretórios AIDE


Com AIDE também será possível criar regras para determinados arquivos ou diretórios a serem analisados. Para isso acessamos o caminho /etc/aide/aide.conf novamente e podemos criar as seguintes regras:
 / root / \… * PERMS (Esta regra verifica as permissões no diretório raiz) / root / CONTENT_EX (Esta regra verifica todos os arquivos na raiz antes de qualquer alteração) / etc / DATAONLY (Esta regra nos permite detectar qualquer alteração no diretório / etc)

Podemos salvar as alterações no arquivo de configuração do AIDE.

5. Como usar AIDE para verificar arquivos e integridade de diretório no Linux


Uma vez que as regras a serem usadas com AIDE tenham sido definidas, o próximo passo será construir o banco de dados contra as verificações que serão realizadas usando o parâmetro --init.

Com o seguinte comando será criado um banco de dados que contém todos os arquivos que definimos no arquivo de configuração do AIDE:

 Aide --init

Feito isso, mude o nome do banco de dados para /var/lib/aide/aide.db.gz antes de continuar, para isso podemos usar o seguinte comando:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Recomenda-se mover este banco de dados para um local seguro, mas devemos ter certeza de atualizar o arquivo de configuração para que ele possa ser lido de lá.

Em seguida, devemos compilar um novo arquivo de configuração do Aide. Executamos o seguinte comando:

 update-aide.conf
Agora vamos copiar este novo arquivo para o diretório / etc / aide:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Depois que o banco de dados é criado, podemos verificar a integridade dos arquivos e diretórios usando a sinalização -check:
 auxiliar - verificar

6. Como avaliar AIDE


Para testar o funcionamento do AIDE, executaremos as seguintes linhas:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Com eles estamos criando um novo diretório e arquivos no sistema. Posteriormente executamos a seguinte linha para sua validação e verificação:
 Aide -check
O resultado será o seguinte:

Lá podemos ver que uma diferença é encontrada no arquivo e indica que tipo de ação foi, adição, exclusão ou alteração.
Desta forma, o AIDE é uma ferramenta útil para determinar em tempo real as mudanças ocorridas no sistema.

wave wave wave wave wave