Vous êtes sur la page 1sur 11

JLASSIE HOUSSINE SIL2C

AIDE: Advanced Intrusion Detection Environment

Aide (Advanced Intrusion Detection Environment) est un programme de


détection d'intrusion. Plus précisément un fichier vérificateur d'intégrité.

AIDE construit une base de données des fichiers spécifiés dans


aide.conf, le fichier de configuration d'AIDE. La base de données
d'AIDE stocke les attributs de fichiers différents, y compris: les
autorisations, numéro d'inode, utilisateur, groupe, la taille du fichier,
mtime et ctime, atime, taille croissante, le nombre de liens et nom du
lien. AIDE crée également un vérificateur cryptographié de hachage ou
de contrôle de chaque fichier à l'aide d'un ou d'une combinaison de le
message suivant des algorithmes: SHA1, sha256, sha512, md5, rmd160

En général, un administrateur système créera une base de données AIDE


sur un nouveau système avant de celle-ci est portée sur le réseau. Cette
première base de données AIDE est un fichier instantané du système
dans son état normal. Un autre fichier permettre de faire des comparaison
à toutes les mises à jour pour vérifier les changements effectués. La base
de données devrait contenir des informations système sur les principaux
binaires, bibliothèques, fichiers d'en-tête, tous les fichiers qui devraient
rester les mêmes au fil du temps.

Après une effraction, un administrateur peut examiner le système en


utilisant des outils comme système ls, ps, netstat, et who ... Les outils les
plus susceptibles d'être troyaner. Imaginez que ls a été transformé pour
ne pas montrer tout fichier nommé "sniffedpackets.log" et que ps et
netstat ont été réécrit de manière à ne montrer aucune information sur un
processus appelé "sniffdaemond". Même un administrateur qui a déjà
imprimé sur papier les dates et la taille de ces fichiers systèmes ne peut
être certains qu'ils ne l'ont pas été modifié d'une manière quelconque que
par comparaison, . Les dates et les dimensions des dossiers ou fichiers
JLASSIE HOUSSINE SIL2C

peuvent être manipulés, certains root-kits peuvent bien le faire de


manière trivial.

Alors qu'il est possible de manipuler les dates et la taille de fichier, il est
beaucoup plus difficile de manipuler un vérificateur cryptographié
comme MD5, et plus exponentiellement difficile de manipuler chaque
ensemble de la gamme de contrôle tels que les supports AIDE. Par la
relance de AIDE après une effraction AIDE , un administrateur système
peut identifier rapidement les modifications apportées à des fichiers et à
des clés avec un assez haut degré de confiance quant à l'exactitude de ces
conclusions.

1-
#apt-get install aide

2- Ensuite il faut initialiser la base de données des signatures

#aide -i ou aide --install

3- Tester plusieurs fois le système pour vérifier qu'il fonctionne


correctement et qu'il ne génère pas de faux positifs
4- Copier cette base database_out sur une autre machine et sur la
machine locale dans un fichier database
5- Mettre en place une vérification automatique à l'aide de crontab qui
envoie un rapport journalier

root@tlon:~# cat /etc/aide/aide.conf


# AIDE conf
JLASSIE HOUSSINE SIL2C

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

Checksums = md5+sha1+rmd160+haval+gost+crc32+tiger+whirlpool
OwnerMode = p+u+g
Size = s+b
InodeData = OwnerMode+n+i+Size
RamdiskData = InodeData-i
StaticFile = m+c+Checksums

Full = InodeData+StaticFile
VarFile = OwnerMode+n
VarDir = OwnerMode+n+i
RotatedLogs = Full+I
Logs = OwnerMode+n+S
LowLogs = Logs-S
LinkedLogs = Logs-n

root@tlon:~# ls -l /etc/cron.daily/aide
-rwxr-xr-x 1 root root 12686 2006-12-17 21:34 /etc/cron.daily/aide
root@tlon:~# cat /etc/cron.daily/aide
#!/bin/bash

set -e
set -C

# bail if no aide binary found

[ -f "/usr/bin/aide" ] || exit 0

# default variables

PATH="/sbin:/usr/sbin:/bin:/usr/bin"
JLASSIE HOUSSINE SIL2C

LOGDIR="/var/log/aide"
LOGFILE="$LOGDIR/aide.log"
CONFFILE="/var/lib/aide/aide.conf.autogenerated"
PREFIX="aide"
TMPBASE="/var/run/aide"
LOCKFILE="$TMPBASE/cron.daily.lock"
TMPDIR="$TMPBASE/cron.daily"

AIDEARGS="-V4"
FQDN="$(hostname -f)"
MAILSUBJ="Daily AIDE report for $FQDN"
.
.
.
onexit success

# end of file

root@tlon:~# ls -l /var/log/aide/*
-rw-r--r-- 1 root root 89 2008-10-22 14:50 /var/log/aide/aideinit.errors
-rw-r--r-- 1 root root 0 2008-10-22 13:43 /var/log/aide/aideinit.log
-rw-r----- 1 root adm 1535 2008-10-23 07:01 /var/log/aide/aide.log
-rw-r----- 1 root adm 374 2008-10-22 14:57 /var/log/aide/aide.log.0
-rw-r----- 1 root adm 168 2008-10-22 14:55 /var/log/aide/aide.log.1.gz

root@tlon:~# cat /etc/aide/aide.conf.d/


10_aide_hostname 31_aide_aptitude_frqchg 31_aide_dhcp3-
client 31_aide_lastlog 31_aide_resolvconf
31_aide_webalizer
30_aide_apache2 31_aide_apt-listbugs 31_aide_dhcp3-server
31_aide_logrotate 31_aide_rngd 31_aide_wtmp
30_inn2_vars 31_aide_apt-listchanges 31_aide_dovecot
JLASSIE HOUSSINE SIL2C

31_aide_lvm2 31_aide_screen 31_aide_xfree86-common


31_aide_acpid 31_aide_apt_stable 31_aide_dpkg
31_aide_man 31_aide_slrn 31_aide_xinetd
31_aide_adjtime 31_aide_apt_unstable 31_aide_exim4
31_aide_modules 31_aide_snmpd 70_aide_dev
31_aide_aide 31_aide_bind9 31_aide_exim4_logs
31_aide_mtab 31_aide_spamassassin 70_aide_etc
31_aide_amanda-client 31_aide_clamav 31_aide_findutils
31_aide_munin 31_aide_squid 70_aide_proc_sys
31_aide_amanda-server 31_aide_clamav-data 31_aide_gpg
31_aide_mysql-server 31_aide_ssh-agent 70_aide_var
31_aide_anacron 31_aide_console-log 31_aide_ifupdown
31_aide_nagios2 31_aide_ssh-server 99_aide_root
31_aide_apache 31_aide_cron 31_aide_inetd
31_aide_ntp-server 31_aide_sudo
31_aide_apache2 31_aide_cron-apt 31_aide_initscripts
31_aide_openvpn 31_aide_syslog
31_aide_apt_frqchg 31_aide_debconf 31_aide_inn2
31_aide_php4 31_aide_torrus
31_aide_aptitude 31_aide_debsecan 31_aide_ippl

root@tlon:~# more /var/lib/aide/aide.conf.autogenerated


#########
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# this file is generated dynamically from /etc/aide/aide.conf and the files
# in /etc/aide/aide.conf.d
# Any changes you make here will be lost.
# WARNING WARNING WARNING
JLASSIE HOUSSINE SIL2C

# WARNING WARNING WARNING


# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
#########

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

Checksums = md5+sha1+rmd160+haval+gost+crc32+tiger+whirlpool
OwnerMode = p+u+g
Size = s+b
InodeData = OwnerMode+n+i+Size
RamdiskData = InodeData-i
StaticFile = m+c+Checksums
root@tlon:~# ls -l /var/log/aide/*
-rw-r--r-- 1 root root 89 2008-10-22 14:50 /var/log/aide/aideinit.errors
-rw-r--r-- 1 root root 0 2008-10-22 13:43 /var/log/aide/aideinit.log
-rw-r----- 1 root adm 1535 2008-10-23 07:01 /var/log/aide/aide.log
-rw-r----- 1 root adm 374 2008-10-22 14:57 /var/log/aide/aide.log.0
-rw-r----- 1 root adm 168 2008-10-22 14:55 /var/log/aide/aide.log.1.gz

root@tlon:~# cat /etc/aide/aide.conf.d/apt-get -t etch-backports install


backuppc
10_aide_hostname 31_aide_aptitude_frqchg 31_aide_dhcp3-
client 31_aide_lastlog 31_aide_resolvconf
31_aide_webalizer
30_aide_apache2 31_aide_apt-listbugs 31_aide_dhcp3-server
31_aide_logrotate 31_aide_rngd 31_aide_wtmp
30_inn2_vars 31_aide_apt-listchanges 31_aide_dovecot
31_aide_lvm2 31_aide_screen 31_aide_xfree86-common
31_aide_acpid 31_aide_apt_stable 31_aide_dpkg
JLASSIE HOUSSINE SIL2C

31_aide_man 31_aide_slrn 31_aide_xinetd


31_aide_adjtime 31_aide_apt_unstable 31_aide_exim4
31_aide_modules 31_aide_snmpd 70_aide_dev
31_aide_aide 31_aide_bind9 31_aide_exim4_logs
31_aide_mtab 31_aide_spamassassin 70_aide_etc
31_aide_amanda-client 31_aide_clamav 31_aide_findutils
31_aide_munin 31_aide_squid 70_aide_proc_sys
31_aide_amanda-server 31_aide_clamav-data 31_aide_gpg
31_aide_mysql-server 31_aide_ssh-agent 70_aide_var
31_aide_anacron 31_aide_console-log 31_aide_ifupdown
31_aide_nagios2 31_aide_ssh-server 99_aide_root
31_aide_apache 31_aide_cron 31_aide_inetd
31_aide_ntp-server 31_aide_sudo
31_aide_apache2 31_aide_cron-apt 31_aide_initscripts
31_aide_openvpn 31_aide_syslog
31_aide_apt_frqchg 31_aide_debconf 31_aide_inn2
31_aide_php4 31_aide_torrus
31_aide_aptitude 31_aide_debsecan 31_aide_ippl

root@tlon:~# more /var/lib/aide/aide.conf.autogenerated


#########
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# this file is generated dynamically from /etc/aide/aide.conf and the files
# in /etc/aide/aide.conf.d
# Any changes you make here will be lost.
# WARNING WARNING WARNING
# WARNING WARNING WARNING
# WARNING WARNING WARNING
JLASSIE HOUSSINE SIL2C

# WARNING WARNING WARNING


# WARNING WARNING WARNING
#########

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

Checksums = md5+sha1+rmd160+haval+gost+crc32+tiger+whirlpool
OwnerMode = p+u+g
Size = s+b
InodeData = OwnerMode+n+i+Size
RamdiskData = InodeData-i
StaticFile = m+c+Checksums

Full = InodeData+StaticFile
VarFile = OwnerMode+n
VarDir = OwnerMode+n+i
RotatedLogs = Full+I
Logs = OwnerMode+n+S
LowLogs = Logs-S
LinkedLogs = Logs-n
@@define FQDN tlon\.lipn\.univ-paris13\.fr
@@define HOSTNAME tlon\.lipn\.univ-paris13\.fr
@@define DNSDOMAINNAME lipn\.univ-paris13\.fr
Full = InodeData+StaticFile
VarFile = OwnerMode+n
VarDir = OwnerMode+n+i
RotatedLogs = Full+I
Logs = OwnerMode+n+S
LowLogs = Logs-S
LinkedLogs = Logs-n
@@define FQDN tlon\.lipn\.univ-paris13\.fr
@@define HOSTNAME tlon\.lipn\.univ-paris13\.fr
JLASSIE HOUSSINE SIL2C

@@define DNSDOMAINNAME lipn\.univ-paris13\.fr

Voici un exemple de configuration.

#AIDE conf # AIDE conf

# Here are all the things we can check - these are the default rules # Ici
sont toutes les choses que nous pouvons vérifier - ce sont les règles par
défaut
#
#p: permissions # p: autorisations
#i: inode # i: inode
#n: number of links # n: nombre de liens
#l: link name # l: nom du lien
#u: user # u: l'utilisateur
#g: group # g: groupe
#s: size # s: taille
#b: block count # B: bloc compter
#m: mtime # m: mtime
#a: atime # A: atime
#c: ctime # c: ctime
#S: check for growing size # S: pour vérifier la taille de plus en
plus
#I: ignore changed filename # I: ignorer changé le nom de fichier
#md5: md5 checksum # md5: Somme de contrôle MD5
#sha1: sha1 checksum # sha1: somme de contrôle SHA1
#sha256: sha256 checksum # sha256: sha256 de contrôle
JLASSIE HOUSSINE SIL2C

#sha512: sha512 checksum # sha512: sha512 de contrôle


#rmd160: rmd160 checksum # rmd160: rmd160 de contrôle apt-get -t
etch-backports install backuppc
#tiger: tiger checksum # tigre: tigre de contrôle
#haval: haval checksum # haval: haval de contrôle
#crc32: crc32 checksum # crc32: crc32 de contrôle
#R: p+i+l+n+u+g+s+m+c+acl+selinux+xattrs+md5 # R: p + l + i +
n + u + g + s + m + c + + acl selinux xattrs + + md5
#L: p+i+l+n+u+g+acl+selinux+xattrs # L: p + l + i + n + u + g + +
acl selinux xattrs +
#E: Empty group # E: Vide groupe
#>: Growing logfile p+l+u+g+i+n+S+acl+selinux+xattrs #>:
Growing log p + l + u + g + i + n + S + ACL + + selinux xattrs
#The following are available if you have mhash support enabled: # Ce
qui suit sont disponibles si vous avez activé mhash soutien:
#gost: gost checksum # gost: gost de contrôle
#whirlpool: whirlpool checksum # jacuzzi: bain à remous de contrôle
#The following are available when explicitly enabled using configure:
# Les suivantes sont disponibles lorsque explicitement permis au moyen
de configurer:
#acl: access control list # ACL: liste de contrôle d'accès
#selinux SELinux security context # selinux contexte de sécurité
SELinux
#xattr: extended file attributes # xattr: attributs de fichier étendu

# You can alse create custom rules - my home made rule definition
goes like this # Vous pouvez sinon créer des règles - ma maison règle
définition va comme ça
#
MyRule = p+i+n+u+g+s+b+m+c+md5+sha1

# Next decide what directories/files you want in the database #


Suivant décider ce que les répertoires / fichiers que vous voulez dans la
JLASSIE HOUSSINE SIL2C

base de données

/etc p+i+u+g #check only permissions, inode, user and group for etc
/ etc p + i + u + g # vérifier que les permissions, inode, d'utilisateurs et
de groupes de etc
/bin MyRule # apply the custom rule to the files in bin / bin #
MyRule appliquer la règle de la coutume dans les fichiers de bin
/sbin MyRule # apply the same custom rule to the files in sbin / sbin
# MyRule appliquer la même règle de la coutume dans les fichiers de
sbin
/var MyRule / var MyRule
!/var/log/.* # ignore the log dir it changes too often ! / var / log / .*
# ignorer le journal dir elle change trop souvent
!/var/spool/.* # ignore spool dirs as they change too often ! / var /
spool / .* # ignore les répertoires spool comme ils changent trop souvent
!/var/adm/utmp$ # ignore the file /var/adm/utmp ! / var / adm / utmp
$ # ignorer le fichier / var / adm / utmp

Vous aimerez peut-être aussi