Tema LinuxBSD Ver. 0.2 lnx
 http://www.linuxbsd.com.br 

  


  

  

Verificando a Integridade do sistema com AIDE

Enviado por DarkWarrior em Qua, 2007-01-17 08:09.
Autor: Fabiano S. Rech
eMail: fabiano[NOSPAM]linuxbsd.com.br
Data: 2003

Todo bom administrador de sistemas deve ter o bom habito de regularmente analisar as mudanças decorrentes em seu sistema, mudanças tais como permissões, arquivos recém criados, inodes alterados, mudança nos parâmetros do programas, para isto existem varias ferramentas disponíveis, uma delas é o AIDE ( Advanced intrusion detection enviroment), o qual eu usei em um servidor Red Hat, pude constatar um ótimo programas capaz de me auxiliar na segurança do meu sistema, se lhe interessa isto, se você prima segurança tem que interessar, acompanhe todo o procedimento de instalação e configuração uso e opções disponíveis.

Instalação:

Para instalar o AIDE acesse a pagina http://www.cs.tut.fi/~rammer/aide.html e baixe a versão mais atual do pacote.

Descompactando e compilando oAide:

O procedimento é padrão como em varias instalações de programas por compilação, veja a seguir exemplificado: % tar -zxvf aide.xxx.tar.gz
% cd aidexxx
% ./configure
% make
% make install (root)

Você poderá encontrar alguns problemas com a falta da depedência "mhash" para isto baixe ele em http://schumann.cx/mhash/ haja com o mesmo procedimento anterior para a sua instalação, caso prefira instalar via rpm, também pode se encontrar o pacote aidexxx.rpm acesse o sistema de busca do site linuxbsd e procure pelo pacote rpm.

Configuração

Depois de instalado e copiado paras os diretórios o aide criar um arquivo de configuração muito pratico em /etc/aide/aide.conf este 'e o arquivo que usaremos para as demais configurações, veja a seguir um exemplo do arquivo padrão:

#AIDE conf
database=file:/var/lib/aide/aide.db

database_out=file:/var/lib/aide/aide.db.new

# Here are all the things we can check - these are the default rules

#

#p: permissions

#i: inode

#n: number of links

#u: user

#g: group

#s: size

#b: block count

#m: mtime

#a: atime

#c: ctime

#S: check for growing size

#md5: md5 checksum

#sha1: sha1 checksum

#rmd160: rmd160 checksum

#tiger: tiger checksum

#R: p+i+n+u+g+s+m+c+md5

#L: p+i+n+u+g

#E: Empty group

#>: Growing logfile p+u+g+i+n+S

# You can alse create custom rules - my home made rule definition goes like this

#

# /etc p+i+u+g #check only permissions, inode, user and group for etc

# /bin MyRule# apply the custom rule to the files in bin

# /sbin MyRule # apply the same custom rule to the files in sbin

# /usr/bin MyRule

# /usr/sbin MyRule

# /var MyRule

# !/var/log/.* # ignore the log dir it changes too often

# !/var/spool/.* # ignore spool dirs as they change too often

MyRule = p+i+n+u+g+s+b+m+c+md5+sha1

All=R+a+sha1+rmd160+tiger

Standard=s+p+u+g+c+md5+sha1

Min=s+p+u+g+c+sha1

Minetc=s+p+u+g+sha1

/boot Standard

/lib Standard

/etc Minetc

/bin Standard

/sbin MyRule

/usr/sbin MyRule

/root/ Standard

!/usr/tmp

#!/usr/local/man/whatis

#!/usr/lib/perl5/man/whatis

!/usr/share/man/whatis

!/usr/X11R6/man/whatis

/usr Standard

/usr/local/etc Min

/var Min

/var/lib/rpm Standard

!/var/tmp

!/var/lock

!/var/lost+found

!/var/log

!/var/spool

!/var/run

!/var/account

!/var/lib

!/var/cache

!/var/mail

Você pode incluir diretório ou excluir diretórios da verificação, eu para testes inluir o diretório /root com a opção standard como verificação, você pode criar as suas próprias regras de verificação.


Opções para criar Regras.

O aide se destacou também por ser extremamente versátil, além de poder salvar as verificações em banco de dados postgres, e também o uso de expressões regulares e paramentros que podem informar os procedimentos de uso, como você pode ter visto atraz no arquivo de configuração do AIDE, existe varias opçõs e regras de verificação, você poderá criar as suas próprias veja a seguir um detalhe sobre elas:

Sintaxe

Descrição

O que é

p

Permissão de arquivo

Permissões de arquivos alterados(leitura, escrita, setuserid).

i

inodo

Se o inod for alterado, ou danificado e removido.

n

Quantidade de vínculos

Todos os vínculos descritos ao programas 'e útil para descobrir se comandos como cp, rm, ls foram substituídos por outros, ou se ha agora algum vinculo novo para eles.

u

Propriedade de usuário

Verifica acesso inadequado a arquivos mudando a propriedade do usuário.

g

Propriedade do Grupo

O mesmo que usuário.

s

Tamanho do arquivo

Toda a alteração no tamanhos dos arquivos, pode acarretar na mudança do próprio arquivo.

m

Mtime

O horário da última alteração do arquivo, muito pouco usado.

a

Atime

O horário do ultimo acesso ao arquivo, é inseguro pois pode ser burlado.

c

Ctime

A hora de alteração no inode.

S

Alteração no tamanho

Alteração no tamanho do arquivo, esperasse que possa aumentar mas nunca diminuir de tamanho.


Algoritmos de soma:

md5

A soma md5, é altamente usado e confiável.

sha1

Secure hash algorithm, baseado no sistema de assinatura digital NIST.

md1600

O RIPEMD-160, uma função interativa do hash.

tiger

Uma função de hash.

crc32

A soma CRC32, verifica redundância cíclica. bem rápida, o suporte mhash tem que estar disponível.

haval

A soma de verificação haval, também necessita do mhash

gost

A soma de verificação gost, também somente disponível com o mhash.


Concatenação:

Letra

Agrupamento.

Significado.

E

Grupo Vazio, tudo é ignorado.

L

p+i+n+u+g

Verifica permissões de arquivos, ótimo pra logs.

R

p+i+n+u+g+s+m+c+md5

além de verificar as permissões como L verifica o tamanho do arquivo, e o horário, e executa somas md5.

>

p+i+n+u+g+S

Mais para alterações no tamanho do arquivo, aceita o seu crescimento, mas não que diminua.


Pronto feita as suas configurações agora podemos usar o aide, para isto vamos criar um banco de dados inicial de todo o sistema, para isto digite

#aide -i

Este comando poderá demorar, dependendo do seu equipamento, evite usar o aide em horário de grande uso do sistema, pois, poderá esgotar muitos recursos do sistema.

Feito isto agora é só verificar regularmente o sistema, o comando padrão via linha de comando é :

#aide -C >resumo.txt (o resumo.txt 'e para redirecionar a saída para facilitar a leitura.)

logo após feito isto aparecera uma saída parecida como esta:

Dead symlink detected at /usr/share/icons/gnome/48x48/apps/redhat-presentations.png

Dead symlink detected at /usr/share/icons/gnome/48x48/apps/redhat-spreadsheet.png

Dead symlink detected at /usr/share/icons/gnome/48x48/apps/redhat-word-processor.png

Dead symlink detected at /lib/modules/2.4.20-8/build

AIDE found differences between database and filesystem!!

Start timestamp: 2003-07-24 01:19:46

Summary:

Total number of files=97942,added files=1,removed files=4,changed files=15

Added files:

added:/root/.xauthUeIiJl

Removed files:

removed:/etc/aide/.aide.conf.swp

removed:/etc/aide/.aide.conf.swo

removed:/root/.xauthesVcWL

removed:/root/.xauthdKkC36

Changed files:

changed:/var/gdm

changed:/var/gdm/.gdmfifo

changed:/var/gdm/:0.Xauth

changed:/var/gdm/:0.Xservers

changed:/var/gdm/.fonts.cache-1

changed:/etc/adjtime

changed:/etc/mail/statistics

changed:/etc/aliases.db

changed:/etc/cups/certs/0

changed:/root/.kde/share/config

changed:/root/.kde/share/config/kppprc

changed:/root/.kde/share/apps/kppp

changed:/root/.bash_history

changed:/root/.fonts.cache-1

changed:/root/.ICEauthority

Detailed information about changes:

Directory: /var/gdm

 Ctime    : 2003-07-23 22:19:01               , 2003-07-24 00:58:35

   

File: /var/gdm/.gdmfifo

 Ctime    : 2003-07-23 22:22:55               , 2003-07-24 00:58:35

   

File: /var/gdm/:0.Xauth

 Ctime    : 2003-07-23 22:18:52               , 2003-07-24 00:57:03

   

 SHA1     : pYB/lFFJTMV75/3LoA/sY28FOGY=      , U0oFkv4oQqcH+jyOKforPqF8lrc=

   

File: /var/gdm/:0.Xservers

 Ctime    : 2003-07-23 22:22:55               , 2003-07-24 00:58:35

   

File: /var/gdm/.fonts.cache-1

 Ctime    : 2003-07-23 22:19:01               , 2003-07-24 00:57:12

   

File: /etc/adjtime

 SHA1     : yZTyv3mIu2t9I/ce8sPim7D6du4=      , 4WRwege9sgXkRFweV8o5arUbdf4=

   

File: /etc/mail/statistics

 Size     : 0                                 , 628

   

 SHA1     : 2jmj7l5rSw0yVb/vlWAYkK/YBwk=      , flGBKHrYP9BrfEjqDF/VEQkpNd0=

   

File: /etc/aliases.db

 SHA1     : ww/UFMHwSLv0sUGXnnSl3z89jm8=      , QWSuvQB/eIHqABwfXRrUDLqzHm8=

   

File: /etc/cups/certs/0

 SHA1     : CIWOojwAq63X+CZEHCjclHyauxM=      , DZKhWZybrCerg/vqODZKYzIA+lw=

   

Directory: /root/.kde/share/config

 Ctime    : 2003-07-23 22:57:13               , 2003-07-24 01:18:22

   

File: /root/.kde/share/config/kppprc

 Ctime    : 2003-07-23 22:57:13               , 2003-07-24 01:18:22

   

Directory: /root/.kde/share/apps/kppp

 Ctime    : 2003-07-23 22:57:13               , 2003-07-24 01:18:22

   

File: /root/.bash_history

 Size     : 1545                              , 2209

   

 Ctime    : 2003-07-23 23:02:11               , 2003-07-24 00:51:27

   

 MD5      : hYAuZuwJyG958GNXACiWug==          , ChL81IhJuEhlT/WOWSid2A==

   

 SHA1     : q+esx8Z2eFSs3Wd9JK8LiOpB4Zo=      , f3qgBMg2NcvQsLGtuyUKyQPF9Kk=

   

File: /root/.fonts.cache-1

 Ctime    : 2003-07-23 22:59:25               , 2003-07-24 00:59:10

   

File: /root/.ICEauthority

 Size     : 750                               , 561

   

 Ctime    : 2003-07-23 22:57:25               , 2003-07-24 01:18:34

   

 MD5      : 5xdtR6HSb2dS8hAxWRcgrw==          , BQqd117SjjyN/U6CdqzloQ==

   

 SHA1     : uxkTTFs0ERJpC1sXSc/S9Z4fWCg=      , m/lv11HVgSc/GfZkMUiRH8V4qVM=



Como você pode ter visto ele listou todas as últimas alterações do arquivo de banco de dados no arquivo /var/lib/aide/aide.db, o intressante é ter umas cópias destes arquivos em algum outro lugar, pois um hacker poderá burlar estas somas e compromenter todo o sistema.

Conclusão.
É de extrema importância habituar-se a verificar o sistema com o AIDE ou até mesmo com programas compátiveis que existem aos bocados por ai, fazendo estas verificações não isentará totalmente o seu sistema de falhas e de ser burlado, mas consiste em um hábito bom e que pode diminuir algums problemas, decorrentes até do mal uso, aconselho que se interessou pelo assunto, visitem a página do aide e olhem o manual de uso que por sinal é muito bom, também para que usa o conectiva, existe uma compilação exclusiva para esta distribuição.
»