Détection d’intrusion via IpFire
IDS
Cette introduction est un résumé de Wikipédia, la mise en œuvre est une production personnelle 😉
Un système de détection d’intrusion (ou IDS: Intrusion Detection System) est un mécanisme destiné à repérer des activités anormales ou suspectes sur la cible analysée. Il permet ainsi d’avoir une connaissance sur les tentatives réussies comme échouées des intrusions.
Un NIDS se découpe en trois grandes parties : La capture, les signatures et les alertes.
Capture
La capture sert à la récupération de trafic réseau, comme le fait Wireshark.
La plupart des NIDS utilisent la bibliothèque standard de capture de paquets libpcap. Son mode de fonctionnement est de copier (sous Linux) tout paquet arrivant au niveau de la couche liaison de données du système d’exploitation. Une fois ce paquet copié, il lui est appliqué un filtre BPF (Berkeley Packet Filter), correspondant à l’affinage de ce que l’IDS cherche à récupérer comme information.
Signatures
Les bibliothèques de signatures (approche par scénario) rendent la démarche d’analyse similaire à celle des antivirus quand ceux-ci s’appuient sur des signatures d’attaques.
Les NIDS ont pour avantage d’être des systèmes temps réel et ont la possibilité de découvrir des attaques ciblant plusieurs machines à la fois. Leurs inconvénients sont le taux élevé de faux positifs qu’ils génèrent, le fait que les signatures aient toujours du retard sur les attaques de type 0day et qu’ils peuvent être la cible d’une attaque.
Snort, qui est l’IDS Gnu le plus populaire et celui mis en oeuvre ici, pour effectuer ces analyses se fonde sur des règles. Celles-ci sont écrites par Sourcefire ou bien fournies par la communauté. Snort est fourni avec certaines règles de base mais cependant, comme tout logiciel, Snort n’est pas infaillible et demande donc une mise à jour régulière.
Alertes
Les alertes sont généralement stockées dans les journaux du système. Cependant il existe une norme qui permet d’en formaliser le contenu, afin de permettre à différents éléments de sécurité d’interopérer. Ce format s’appelle IDMEF (pourIntrusion Detection Message Exchange Format) décrit dans la RFC 4765.
Analyse
La recherche de motif est ce qui permet à un NIDS de trouver le plus rapidement possible les informations dans un paquet réseau. Il existe différents algorithmes de recherche de motif.
Dans le cas d’un NIDS, la recherche de motif est souvent le nœud d’étranglement, pouvant consommer plus de quatre-vingt pourcent de temps de calcul.
À partir de ces éléments, le moteur d’analyse met ces éléments de relation en employant plusieurs techniques : la défragmentation, la dissection protocolaire ou encore l’analyse comportementale.
Snort, qui est l’IDS Gnu le plus populaire et celui mis en oeuvre ici, se fonde sur des règles pour effectuer ces analyses. Celles-ci sont écrites par Sourcefire ou bien fournies par la communauté. Snort est fourni avec certaines règles de base mais cependant, comme tout logiciel, Snort n’est pas infaillible et demande donc une mise à jour régulière.
Il peut effectuer des analyses de protocole, recherche/correspondance de contenu et peut être utilisé pour détecter une grande variété d’attaques et de sondes comme des dépassements de buffers,scans, attaques sur des CGI, sondes SMB, essai d’OS fingerprintings et bien plus.
Pour plus d’informations : https://fr.wikipedia.org/wiki/Système_de_détection_d%27intrusion
IDS sur Ipfire
Comme décrit ci dessus, pour détecter des intrusions, il faut s’appuyer sur des règles. Pour télécharger celles-ci, il faut s’inscrire sur snort.org et demander un OINKCode (clès de chiffrement pour le téléchargement des règles).
Puis sur Ipfire, dans le menu Services, aller dans Détection d’intrusion.
Une fois la configuration sauvegardée, en cliquant sur le lien communities.rules
Snort