Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fwsnort [Le 02/05/2010, 16:34]
draco31.fr ajout avertissement sur kernel patché (version 2.4.21 !!??)
fwsnort [Le 20/03/2023, 20:46] (Version actuelle)
Amiralgaby [Mettre à jour régulièrement (facultatif ?)] sudo gedit -> sudo nano
Ligne 1: Ligne 1:
-{{tag>securite ​pare-feu ips}}+{{tag>sécurité ​pare-feu ips}}
  
 ---- ----
Ligne 8: Ligne 8:
 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]] (( du même auteur)) surveille les journaux. 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]] (( du même auteur)) 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"​. ​+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. ​+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.
  
-Site officiel : http://​www.cipherdyne.org/​projects/​fwsnort/​ 
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 19: Ligne 18:
  
 <note warning>​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.</​note>​ <note warning>​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.</​note>​
 +<note warning>​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).</​note>​
 ====Compilation du kernel compatible==== ====Compilation du kernel compatible====
 <​code>​ <​code>​
Ligne 43: Ligne 42:
 cd patch-o-matic-20030107 cd patch-o-matic-20030107
 KERNEL_DIR=../​linux-2.4.21 ./runme extra 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
 </​code>​ </​code>​
  
Ligne 49: Ligne 55:
 ===== Installation ===== ===== Installation =====
  
-==== Par les dépots ​====+==== Par les dépôts ​====
   * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] [[apt://​fwsnort|fwsnort]].   * [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] [[apt://​fwsnort|fwsnort]].
  
-====partir du site officiel====+====À partir du site officiel====
  
    * [[http://​cipherdyne.org/​fwsnort/​download/​|Téléchargez la dernière version sur le site officiel]]<​code>​    * [[http://​cipherdyne.org/​fwsnort/​download/​|Téléchargez la dernière version sur le site officiel]]<​code>​
Ligne 70: Ligne 76:
 Lancer la récupération de règle de type snort : Lancer la récupération de règle de type snort :
   * <​code>​   * <​code>​
 +sudo su
 cd /​etc/​fwsnort/​snort_rules/​ cd /​etc/​fwsnort/​snort_rules/​
 wget http://​www.emergingthreats.net/​rules/​emerging.rules.tar.gz wget http://​www.emergingthreats.net/​rules/​emerging.rules.tar.gz
Ligne 76: Ligne 83:
 </​code>​ </​code>​
  
-La commande par défaut récupère http://​www.emergingthreats.net/​rules/​emerging-all.rules :+<note help>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 )</​note>​ 
 + 
 +La commande par défaut récupère http://​www.emergingthreats.net/​rules/​emerging-all.rules ​((apparemment fichier trop imposant , cause une erreur iptable à suivre)) ​:
   * <​code>​sudo fwsnort --update-rules</​code>​   * <​code>​sudo fwsnort --update-rules</​code>​
  
Ligne 84: Ligne 98:
  
 <note help>​É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</​note>​ <note help>​É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</​note>​
-Lancez cette commande pour générer le script avec des règles choisi :  +Lancez cette commande pour générer le script avec des règles choisi((voir ci dessus)) ​
-<​code>​sudo fwsnort ​--include-type ddos</​code>​+<​code>​sudo fwsnort</​code>​
  
 ===Explication détaillée=== ===Explication détaillée===
Ligne 93: Ligne 107:
 Pour affiner le choix des règles ( voir :"man fwsnort"​ ) : Pour affiner le choix des règles ( voir :"man fwsnort"​ ) :
   * Choisir des règles ( par expression régulière ) :   * Choisir des règles ( par expression régulière ) :
-     * <​code>​sudo fwsnort --include-regex</​code>​ +     * <​code>​sudo fwsnort --include-regex ​scan</​code>​ 
-  * Choisir des règles en fonction du type ( fonctionne avec les règles du site snort, non-libre, par défaut fwsnort prend les règles emerging-all adapté pour ips ) : +  * Choisir des règles en fonction du type ( apparemment ne fonctionne ​qu'avec les règles du site snort, non-libre, par défaut fwsnort prend les règles emerging-all adapté pour ips ) :
      * <​code>​sudo fwsnort --include-type </​code>​      * <​code>​sudo fwsnort --include-type </​code>​
-  * Exclure des règles : +  * Exclure des règles :
      * <​code>​sudo fwsnort --exclude-type </​code>​      * <​code>​sudo fwsnort --exclude-type </​code>​
-  * Sélectionner une règle snort selon son id : +  * Sélectionner une règle snort selon son id :
      * <​code>​sudo fwsnort --snort-sid 2001842,​1834</​code>​      * <​code>​sudo fwsnort --snort-sid 2001842,​1834</​code>​
 <note help>Si vous avez des problèmes lancez <​code>​ <note help>Si vous avez des problèmes lancez <​code>​
Ligne 108: Ligne 122:
  
  
-====Appliquer le script d'​installation des règles au démarage==== ​+====Appliquer le script d'​installation des règles au démarage====
   * [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] ''/​etc/​rc.local''​   * [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] ''/​etc/​rc.local''​
   * et ajouter ''/​etc/​fwsnort/​fwsnort.sh''​   * et ajouter ''/​etc/​fwsnort/​fwsnort.sh''​
 +
 +<note help>​Deux cas sont envisageables :
 +   * si il s'agit d'une machine dédiée pour faire pare-feu ((nous imaginerons dans un contexte professionnel)) 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 [[apt://​iptables-persistent|iptables-persistent]] ( à compléter)
 +
 +</​note>​
 +
 +====Sécuriser fwsnort avec Apparmor(facultatif ?)====
 +vous pouvez écrire vos propres profils [[AppArmor]] ou télécharger celui-ci ((http://​bodhizazen.net/​Tutorials/​psad/​)):<​code>​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
 +</​code>​
  
 ==== Mettre à jour régulièrement (facultatif ?)==== ==== Mettre à jour régulièrement (facultatif ?)====
-<note help>Il peut être préférable de mettre à jour manuellement avec maitrise ​du contenu ...</​note>​ +<note help>Il peut être préférable de mettre à jour manuellement avec maîtrise ​du contenu ...</​note
-  * [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] ''/​etc/​rc.local''​ +  * Créez un fichier update.sh <​code>​sudo nano /​etc/​fwsnort/​update.sh</​code>​ 
-  * et ajouter à la fin : +  * Copier et adapter le script de mise à jour <​code>​ cd /​etc/​fwsnort/​snort_rules/​ 
 +wget http://​www.emergingthreats.net/​rules/​emerging.rules.tar.gz 
 +tar xvf emerging.rules.tar.gz 
 + 
 +cd rules 
 +echo "​copiez ici les fichiers / rules que vous avez choisi pour votre configuration"​ 
 +echo " remplacez * par les noms de fichier séparé d'un espace"​ 
 +cp * /​etc/​fwsnort/​snort_rules/​ 
 + 
 +fwsnort 
 +/​etc/​fwsnort/​fwsnort.sh 
 +</​code>​ 
 +  * Donnez les droits d'​execution:​ <​code>​sudo chmod +x /​etc/​fwsnort/​update.sh</​code
 +  * [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] ''/​etc/​crontab''​ 
 +  * et ajouter à la fin : <​code>​15 17  * *  * root /​etc/​fwsnort/​update.sh 
 +</​code>​ 
 +  * Ce qui lancera la mise à jour tous les jours à 17h15 (voir [[:​cron|crontab]]) 
 + 
 +===== Description supplémentaire des fonctionnalités ===== 
 + 
 +Voici quelques caractéristiques principales de "​fwsnort":​ 
 + 
 +  * Détection de TCP SYN, FIN, Null et Xmas scans ainsi que scans UDP. 
 +  * Détection des règles de signature du système de détection d'​intrusion Snort. 
 +  * Le mode d'​analyse iptables Forensics logfile (utile comme outil de médecine légale pour l'​extraction d'​informations de scan iptables et les vieux fichiers de journalisation). 
 +  * Système d'​empreintes passives ​ via des paquets TCP SYN. Deux stratégies différentes de prise d'​empreintes digitales sont prises en charge, une remise en œuvre de p0f qui utilise strictement iptables pour enregistrer des messages (nécessite l'​option - log-tcp-options en ligne de commande), et une stratégie basée sur TOS. 
 +  * Souscription Alertes e-mail contenant tcp / udp / icmp analyse des caractéristiques,​ reverse DNS et les informations whois, règle Snort matches, des informations à distance suppose un OS, et plus encore. 
 +  * Contenu des alertes basées sur des attaques de type buffer overflow, et des commandes d'​application suspectes, et d'​autres activités suspectes de trafic grâce à l'​utilisation de l'​extension iptables string match et fwsnort. 
 +  * ICMP type et validation des champs de code-tête. 
 +  * Analyse Configurable par  des seuils et des affectations niveau de danger.
  
-FIXME : Il manque une ligne ?+  * jeu de règles d'​analyse Iptables pour vérifier le déroulement "par défaut"​ de l'​orientation de la politique de sécurité. 
 +  * IP / danger au niveau du réseau d'​auto-affectation (peut être utilisé pour ignorer ou automatiquement fermer l'​escalade des niveaux de danger pour certains réseaux). 
 +  * Souscription Alertes DShield. 
 +  * Auto-blocage de scanner des adresses IP via iptables et / ou de tcpwrappers basée sur le scan en niveau de danger. (Ceci n'est pas activé par défaut.) 
 +  * Statut mode qui affiche un résumé des informations de numérisation en cours avec les chiffres de paquets associés, chaînes iptables, et les niveaux de danger.
  
 ===== Désinstallation ===== ===== Désinstallation =====
Ligne 135: Ligne 199:
  
 ====Tutoriel==== ====Tutoriel====
 +  ​
    * (en) **[[http://​bodhizazen.net/​Tutorials/​psad/​|NIDS with psad and fwsnort]]** (ubuntu, debian, fedora)    * (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.linuxsecurity.com/​content/​view/​117370/​49/​|Basic Intrusion Prevention using Content-based Filtering]]
Ligne 141: Ligne 206:
 ====Liens externes==== ====Liens externes====
  
 +   * [[http://​www.cipherdyne.org/​projects/​fwsnort/​|Site officiel]]
 ---- ----
 Contributeurs : [[:​utilisateurs:​psychederic|Psychederic]],​ [[:​utilisateurs:​draco31.fr]] ...// Contributeurs : [[:​utilisateurs:​psychederic|Psychederic]],​ [[:​utilisateurs:​draco31.fr]] ...//
  • fwsnort.1272810888.txt.gz
  • Dernière modification: Le 18/04/2011, 14:40
  • (modification externe)