Link Station > Section Technique > Réseaux / Sécurité >

[HOWTO] AIDE : Advanced Intrusion Detection Environment




Aller au Forum:
Notez ce sujet :

  Sujet précédent   Sujet suivant
Auteur
Sujet    Tout développer | Tout contracter NOUVEAU SUJET    RÉPONDRE
Réduire ce messagesoul^keeperConnectéAdministrateurNiveau 50 · OscariséRéférenceur Légendaire
Membre depuis
2002
Messages
17300
Plus
Membre n°
1
Inscription
22 Feb 2002
Localisation
La Défense
Âge
49 ans
Sujets lancés
2916
Ancienneté
100 %
Participation
100 %
Post [HOWTO] AIDE : Advanced Intrusion Detection EnvironmentAncien message 27-05-2005 19:01
Je viens de tomber sur cet article, je ne connais pas du tout, mais ça m'a l'air intéressant.

Dans le doute, je le poste ici... si certains connaissent, n'hésitez pas à me faire part de vos impressions.

-----------------
Citation

Advanced Intrusion Detection Environment (AIDE)
par Nicolas Jombart (09/01/2002)


AIDE : Advanced Intrusion Detection Environment


-= Pourquoi utiliser AIDE =-

AIDE est un HIDS : Host-based Intrusion Detection System. Il s'agit d'un clone amélioré (et ne disposant que d'un seul type de license) du logiciel de scellement de fichiers bien connu qu'est Tripwire.

Le principe de ce logiciel est simple. Il s'agit de construire une base de signatures (utilisant des algorithmes d'empreinte cryptographique) de fichiers que l'on désire surveiller, et de re-calculer ces empreintes périodiquement ou au besoin, en les confrontant à la base.
Si les empreintes sont différentes (au niveau du fichier, de sa date, de ses droits d'accès, de son inode ...), le logiciel aura ou pas détecté une modification de fichiers.

Ces logiciels sont très utiles en cas d'intrusion, afin de découvrir ce qui a été changé (journaux modifiés, fichiers ajoutés à certains endroits, binaires comme netstat, lsof, who, sshd modifiés, fichiers de configuration, pages web, etc.). Cependant, ce type de logiciel n'est pas à voir comme protégeant le système. AIDE ne fera rien pour améliorer la sécurité d'un système Unix (AIDE n'existe que pour ces systèmes). C'est le dernier logiciel que vous avez à installer sur votre système.

Parallèlement, AIDE peut s'avérer très utile pour l'administration. En effet, il sera capable de détecter des erreurs commises (fichiers de configuration changés, ajoutés ou effacés, modifications de binaires).


-= Configurer AIDE =-

Le site officiel d'AIDE est https://www.cs.tut.fi/~rammer/aide.html

Il est nécessaire d'avoir quelques programmes GNU indispensables : flex, gmake et yacc, ainsi que la bibliothèque mhash pour bénéficier de plus d'algorithmes d'empreinte (https://mhash.sourceforge.net/ ).

Voici la façon dont j'ai installé AIDE, en plaçant le fichier de configuration (et plus tard la base) dans /var/adm/aide :

$ ./configure --with-mhash --with-zlib --with-config_file=/var/adm/aide/aide.conf

(renseignez au besoin la variable LIBS avec "-L/usr/local/lib" suivi des traditionnels make et make install (ou gmake ...)

AIDE doit être placé sur un support non-inscriptible. Une partition en RO ne suffit pas, il est nécessaire d'utiliser une disquette protégée mécaniquement en écriture ou de graver un CD-ROM. La disquette étant AMHA plus pratique pour la plupart des situations, sur mon système ça donne :

# mkdir -p /var/adm/aide/db
# chmod 0700 /var/adm/aide
# mount /dev/fd0 /var/adm/aide

Bien sûr on la montera avec l'option -r dès que la configuration et la base initiale seront créées.

Il nous reste à créer le fichier de configuration. Si vous avez un fichier de configuration Tripwire, il sera facilement réutilisable avec peu de changements.

J'ai les variables suivantes définies :
database=file:///var/adm/aide/db/aide.db
database_out=file:///var/adm/aide/db/aide.db.new

éventuellement :
gzip_dbout=true

Notez que les deux premières variables sont des URL. Il est possible d'utiliser stdin, stdout, stderr, un fichier comme ici, ou un descripteur de fichier, et bien d'autres choses encore plus tard dans l'évolution du logiciel.

On définit ensuite les fichiers à inclure dans la base de données :
fichier Groupe

Un ! placé avant le fichier l'ignore, et un = rend le fonctionnement non-récursif.

Les groupes d'éléments à inclure et à surveiller sont :
p : les permissions
i : l'inode
n : le nombre de liens
u : l'utilisateur auquel appartient le fichier
g : son groupe
s : sa taille
m : sa date de dernière modification des données
a : sa date de dernier accès
c : sa date de dernière modification de statut (droits, etc.)
S : vérifie que la taille augmente (fichier de log par exemple)
ainsi que les noms des algorithmes d'empreinte.

Plusieurs « méta-groupes » sont disponibles :
R équivaut à p+i+n+u+g+s+m+c+md5, L à p+i+n+u+g et > à p+u+g+i+n+S.

Il est conseillé d'utiliser plusieurs types d'algorithmes d'empreinte différents.

Il reste donc à définir ce qu'on veut surveiller, par exemple :
Code
<small>=/		L
/kernel		R-tiger-rmd160-sha
/bin		R-tiger-rmd160-sha1
!/etc/ntp.drift 
/etc/passwd	L
/etc/shadow	L
/etc		R-tiger-rmd160-sha1
/usr/sbin
/usr/bin
etc.</small>


Attention, si un premier champ commence par /, il s'agit d'une expression régulière, donc /blah équivaut à /blah.*, vous voudrez peut-être utiliser /blah$

Il est important de bien prendre du temps à construire votre fichier de configuration en fonction de vos besoins (système entier, arborescence web, utilisateur particulier, etc.). Notez que le fichier /etc/ntp.drift est supprimé de la base, car son contenu change sans-cesse; la négation doit être placée avant la déclaration du répertoire.

Un fichier d'exemple peut par exemple être trouvé ici :
https://www.freebsd.org/cgi/cvsweb....de.conf.freebsd



-= Utiliser AIDE de manière efficace =-

. L'initialisation

La première chose à faire est de créer une première base de signatures :

# aide --init

Cette commande va créer un fichier /var/adm/aide/db/aide.db.new, qu'il convient de renommer en aide.db.
La base initiale de signatures est donc créée. Il s'agit d'un fichier texte qu'il est alors possible de lire afin de vérifier que tous les fichiers ont été pris en compte, c'est-à-dire que les expressions régulières sont correctes.

. Vérifier la base périodiquement

Ensuite périodiquement, il est nécessaire de vérifier l'intégrité des fichiers. Ce peut-être une fois par jour, ou par exemple toutes les 5 minutes si la base contient uniquement les fichiers de votre site web; en cas de « defacement », AIDE préviendra donc en un maximum de 5 minutes.

Cela se fait simplement par :

# aide --check

Cette commande est silencieuse si AIDE ne trouve aucune différence. Elle peut donc être placée telle-quelle dans une crontab.

Cependant, si des fichiers sont normalement modifiés (ajout d'un utilisateur, modification de configuration, mise à jour du système, ...), certains retours sont normaux. Deux choix s'offrent donc à nous :
. recréer la base entièrement lorsque des modifications sont faites.
. modifier cette base en incluant les changement trouvés

Cette deuxième solution est mise en oeuvre par la commande :

# aide --update

Un nouveau fichier aide.db.new est alors créé, il convient également de le remplacer par aide.db. Voici donc l'utilité du suffixe .new lors d'une création de base.
Avec cette commande en crontab, seuls les deltas apparaîtront. Bien entendu, cette deuxième méthode n'est pas compatible avec l'utilisation (recommandée) d'un support non-inscriptible, puisque nécessitant alors une intervention humaine pour déprotéger la disquette ou graver un autre CD-ROM.


ecu@shiva:~> w3m -dump https://www.cs.tut.fi/~rammer/aide/manual.html | tail -2
5. Paranoia is your friend

-- Nicolas Jombart <ecu@hsc.fr>

Signaler ce message à un modérateur | IP: Logguée

Réduire ce messagesoul^keeperConnectéAdministrateurNiveau 50 · OscariséRéférenceur Légendaire
Membre depuis
2002
Messages
17300
Plus
Membre n°
1
Inscription
22 Feb 2002
Localisation
La Défense
Âge
49 ans
Sujets lancés
2916
Ancienneté
100 %
Participation
100 %
Ancien message 07-06-2005 21:25
Ça n'a pas l'air d'avoir passionné grand monde

Signaler ce message à un modérateur | IP: Logguée

Réduire ce messageCCthulhu22GuruNiveau 24 · Chef opérateurRéférenceur Confirmé
Membre depuis
2002
Messages
8138
Plus
Membre n°
86
Inscription
24 Feb 2002
Localisation
Paris
Âge
41 ans
Sujets lancés
357
Ancienneté
100 %
Participation
89 %
Ancien message 07-06-2005 21:44
Message écrit par soul^keeper, le 07-06-2005 à 21:25
Ça n'a pas l'air d'avoir passionné grand monde


Détrompe toi, je l'avais parcourus, mais n'étant pas administrateur de quelque chose que ce soit, ça ne me concerne que très très vaguement.

J'ai bien peur que certains de tes articles sont malheureusement trop spécialisés réseaux, administration, ... comment ça c'est le but de la section ????

Mon impression est que ça me parait interessant, mais n'en voyant pas l'utilité pour moi, je e suis abstenu de commentaire (et puis il faut avoué que je n'ai pas compris certains passages )

__________________
Faites comme nous, aidez la Science: rejoignez la team OXMO (14/3600 membres du forum... et vous ??)

Signaler ce message à un modérateur | IP: Logguée

Réduire ce messageKKeySozeModérateurNiveau 25 · Chef opérateurRéférenceur Aguerri
Membre depuis
2002
Messages
6370
Plus
Membre n°
4449
Inscription
15 Sep 2002
Localisation
IDF
Âge
42 ans
Sujets lancés
603
Ancienneté
98 %
Participation
85 %
Ancien message 07-06-2005 21:52
Ah j'avais loupé ce topic, j'y reviendrai car c'est à mon avis très intéressant en plus d'un firewall + antivirus, merci Soul

__________________
OXMO : On est plus intelligent à plusieurs que tout seul...mais certains aident moins que d'autres

Signaler ce message à un modérateur | IP: Logguée

Réduire ce messageSSchoubiGuruNiveau 42 · ScénaristeRéférenceur Émérite
Membre depuis
2002
Messages
12627
Plus
Membre n°
566
Inscription
10 Mar 2002
Âge
47 ans
Sujets lancés
1428
Ancienneté
100 %
Participation
97 %
Ancien message 07-06-2005 23:17
J'avais carrément zappé le topic....par contre il est un peu tard pour le lire, hop bookmark

__________________

Signaler ce message à un modérateur | IP: Logguée

Il est actuellement 19:16 (GMT) NOUVEAU SUJET    RÉPONDRE   
  Sujet précédent   Sujet suivant
Link Station > Section Technique > Réseaux / Sécurité > [HOWTO] AIDE : Advanced Intrusion Detection Environment

Aller au Forum:
Notez ce sujet :


Réponse rapide
Afficher une version imprimable | Chercher dans ce sujet | Envoyer cette page par email | S'inscrire à ce sujet | Télécharger ce sujet
Règles du forum :
Créer de nouveaux sujets
Répondre aux messages
Attacher des fichiers
Editer vos messages
: not autorisé
: not autorisé
: not autorisé
: not autorisé
Le Code HTML est OFF
Le BBCode est ON
Les Smileys sont ONs
Le code [IMG] est ON
Page générée en 0.060958 secondes en exécutant 41 requêtes SQL.
Apache - Compression GZIP : Activée.