Table des matières

, ,

FWSnort - Système de Prévention d'intrusion

FWSnort est un ips ( système de prévention d'intrusion ) agissant de pair avec le pare-feu iptable ( intégré dans ubuntu/linux ) afin de bloquer des attaques réseau qu'il détecte.

fwsnort, comme son nom l'indique, convertit les règles de Snort dans le pare-feu iptables. fwsnort évalue d'abord votre pare-feu actuel et ajoute des règles pour le trafic acceptés. Par défaut, fwsnort logue le trafic suspect, et psad 1) surveille les journaux.

fwsnort accepte les arguments de ligne de commande pour restreindre le traitement à une classe particulière des règles snort comme "ddos", "backdoor" ou "web-attaques".

Le traitement peut même être limité à une règle Snort spécifique identifié par son "id snort" ou "sid". fwsnort fait usage de IPTables:: Parse module pour traduire les règles de Snort pour laquelle le trafic correspondant pourrait être passé à travers le jeu de règles iptables existants. Autrement dit, si iptables ne va pas passer, par exemple, le trafic HTTP, puis fwsnort ne comprendra pas les signatures HTTP au sein de l'ensemble de règles iptables qu'elle construit.

Pré-requis

Si vous souhaitez utiliser une version de FWSnort qui n'est pas dans les dépôts officiels, il est nécessaire d'utiliser un kernel spécifique.

L'utilisation d'un autre Kernel que celui fourni par les dépôts peut rendre votre système très instable, voir causer des dommages irréversibles.
FIXME évaluer l'intérêt de parler de cette compilation, si le patch est déjà présent dans le kernel d'ubuntu, ( ce qui reste à évaluer également pour le moment).

Compilation du kernel compatible

wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.bz2
wget http://www.netfilter.org/files/iptables-1.2.7a.tar.bz2
wget http://www.netfilter.org/files/patch-o-matic-20030107.tar.bz2

wget http://www.cipherdyne.com/fwsnort/download/string_replace_iptables.patch
wget http://www.cipherdyne.com/fwsnort/download/string_replace_kernel.patch
tar -jxf linux.2.4.21.tar.bz2
tar -jxf iptables-1.2.8.tar.bz2
tar -jxf patch-o-matic-20030107.tar.bz2

echo "Apply libipt_string patch to iptables source and build iptables kernel and user spaces code:"

cd iptables-1.2.7a/extensions
patch -p1 < libipt_string.c.patch
make KERNEL_DIR=../linux-2.4.21
sudo make install KERNEL_DIR=../linux-2.4.21

echo "Next step is to apply a string match support from a patch-o-matic package. "

cd patch-o-matic-20030107
KERNEL_DIR=../linux-2.4.21 ./runme extra

make mrproper && make menuconfig
make menuconfig
make dep && make bzImage
sudo make modules && make modules_install
sudo cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.21
sudo mkinitrd -f -v /boot/initrd-2.4.21.img 2.4.21

Redémarrer avec ce kernel.

Installation

Par les dépôts

À partir du site officiel

Configuration

Mettre à jour les règles

Lancer la récupération de règle de type snort :

Les règles (.rules) qui seront dans le dossier /etc/fwsnort/snort_rules/ seront transformés.

Vous pouvez trouvez d'autres règles sur internet :

  • à lister FIXME

Bien qu'il existe une fonction fwsnort pour trier ce que vous allez ajouter au pare-feu, vous pouvez par exemple trier manuellement les fichiers rules. ( exemple : sudo nautilus /etc/fwsnort/snort_rules/ et déplacez ce qui ne vous sert pas dans un sous dossier )

La commande par défaut récupère http://www.emergingthreats.net/rules/emerging-all.rules 2) :

Le dossier de règle sera /etc/fwsnort/snort_rules/

Lancer la génération du script d'installation des règles

Étape qui va générer le script installation des règles ( /etc/fwsnort/fwsnort.sh ) pour iptable à partir des règles de type snort

Lancez cette commande pour générer le script avec des règles choisi3) :

sudo fwsnort

Explication détaillée

Pour tout transformer en règle snort :

Pour affiner le choix des règles ( voir :"man fwsnort" ) :

Si vous avez des problèmes lancez
fwsnort --no-ipt-test --verbose

Exécuter le script d'installation des règles

Appliquer le script d'installation des règles au démarage

Deux cas sont envisageables :
  • si il s'agit d'une machine dédiée pour faire pare-feu 4) vous pouvez utiliser cette méthode
  • Mais dans le cas d'un pare-feu dit "personnel", cela pourrait ralentir le démarrage, donc :
    • soit on l'accepte …
    • soit on utilise iptables-persistent ( à compléter)

Sécuriser fwsnort avec Apparmor(facultatif ?)

vous pouvez écrire vos propres profils AppArmor ou télécharger celui-ci 5):

sudo -i

wget http://bodhizazen.net/aa-profiles/bodhizazen/ubuntu-10.04/usr.sbin.fwsnort
wget http://bodhizazen.net/aa-profiles/bodhizazen/ubuntu-10.04/etc.fwsnort.fwsnort.sh

aa-enforce usr.sbin.fwsnort etc.fwsnort.fwsnort.sh

Mettre à jour régulièrement (facultatif ?)

Il peut être préférable de mettre à jour manuellement avec maîtrise du contenu …

Description supplémentaire des fonctionnalités

Voici quelques caractéristiques principales de "fwsnort":

Désinstallation

Pour une installation par paquet

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

Pour une installation depuis le site officiel de FWSnort

FIXME : Détailler ici les script à lancer pour désinstaller FWSnort.

Ressource

FWSnort a fait l'objet d'un article de sécurité en vedette "Prévention basic d'intrusions en utilisant le filtrage basé sur le contenu" sur linuxsecurity.com, et est également apparue dans SysAdmin Magazine dans l'article "filtrage de contenu et inspection avec fwsnort et psad". fwsnort est également en vedette dans le livre "Resolution de Pare-feu Linux (R) " par Michael Shinn et Scott Shinn, et publié par Addison Wesley, et un traitement complet de fwsnort peuvent être trouvés dans "Linux Firewalls: Attack Detection and Response avec iptables, psad et fwsnort"publié par No Starch Press.

Tutoriel

 * (en) **[[http://bodhizazen.net/Tutorials/psad/|NIDS with psad and fwsnort]]** (ubuntu, debian, fedora)
 * (en) [[http://www.linuxsecurity.com/content/view/117370/49/|Basic Intrusion Prevention using Content-based Filtering]]
 * (en) [[http://www.tinker.tv/download/firewalls_ch10.pdf|DEPLOYING FWSNORT]]

Liens externes

—- Contributeurs : Psychederic, draco31.fr

1)
du même auteur
2)
apparemment fichier trop imposant , cause une erreur iptable à suivre
3)
voir ci dessus
4)
nous imaginerons dans un contexte professionnel