Faites face aux intrusions avec AIDE (Advanced Intrusion Detection Environment)

Créé en 1999, AIDE est un projet Open Source appartenant à la famille des systèmes de détection d’intrusion au niveau des hôtes ou HIDS (HostBased Intrusion Detection System).

Son principe est de détecter les modifications survenues sur les fichiers et répertoires que l’on souhaite contrôler. AIDE compare périodiquement la base de signatures initiale avec les nouvelles empreintes de fichiers réalisées. Suivant la politique de sécurité définie, une exécution quotidienne, hebdomadaire ou mensuelle est à planifier. Toutes les différences constatées avec le référentiel initial sont remontées dans un rapport.

Ce produit peut être utilisé pour analyser une machine potentiellement compromise afin d’identifier d’éventuelles modifications malveillantes survenues à la suite d’une intrusion via un réseau wifi par exemple. Pour plus d’informations sur la sécurisation des réseaux wifi, l’article intitulé « les 10 mesures à adopter pour sécuriser son réseau Wifi d’entreprise » explique la méthodologie à déployer.

Configuration de AIDE :

L’empreinte de chaque fichier est générée en fonction d’une liste de paramètres choisis :
les algorithmes de chiffrements md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool (disponible avec la librairie libmhash: gost, haval, crc32b)
le propriétaire, la taille, les dates de création, de modification et de lecture, les droits d’accès, le numéro d’inode du fichier…

Il est conseillé de combiner plusieurs algorithmes de chiffrement lors de la génération de la base de signatures initiale afin de se prémunir contre les failles potentielles d’un algorithme comme MD5 ou SHA1.

Une fois la base générée, il est nécessaire de la copier sur un support de stockage qui offre une protection physique contre l’écriture de données. Il peut s’agir d’un dvd enregistrable ou d’une carte SD verrouillée en écriture. Afin de limiter la surface d’exposition du référentiel, il est préférable de monter le support uniquement lors de l’exécution du job de contrôle.

  • Extrait du fichier de configuration /etc/aide.conf

    #vim /etc/aide.conf
    @@define DBDIR /var/lib/aide
    
    # The location of the database to be read.
    database=file:@@{DBDIR}/aide.db.gz
    
    # The location of the database to be written.
    database_out=file:@@{DBDIR}/aide.db.new.gz
    
    # Définition de la règle NORMAL
    NORMAL = p+i+n+u+g+s+b+sha256+rmd160
    
    # Next decide what directories/files you want in the database.
    /usr NORMAL
    /bin NORMAL
    
    # Exclusion de ces répertoires
    !/usr/src/.*
    

Utilisation de AIDE :

AIDE est très efficace pour déterminer les fichiers modifiés suite à une intrusion ou à une mauvaise manipulation.Compatible avec tous les systèmes Unix, cet outil s’avère donc très utile pour assurer le MCO (maintien en conditions opérationnelles) des serveurs de production non Microsoft.

Attention, pour être pertinente, l’analyse des rapports AIDE doit être régulière et le référentiel doit être systématiquement actualisé après la modification volontaire des fichiers surveillés. L’intégration de AIDE nécessite donc la mise à jour des procédures d’exploitation.

Pendant la génération des empreintes, les ressources processeurs de la machine sont sollicitées. Afin de ne pas dégrader les services directement liés à la production,il est conseillé d’exécuter AIDE dans les périodes de faible activité et de limiter ses ressources allouées par le programme cpulimit.

  • Initialisation de la base de signatures à partir du fichier de configuration

    #/usr/sbin/aide --init
    	AIDE, version 0.15.1 
    
    	### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
    
    #mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
    
  • Limitation des ressources processeur allouées à AIDE

    #/usr/sbin/cpulimit -P /usr/sbin/aide -l 20 &
    
  • Mise à jour de la base de signatures

    #/usr/sbin/aide --update
    
  • Contrôle des fichiers et des répertoires

    #/usr/sbin/aide --check