Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/05/2006, à 23:32

action099

Installer snort + swatch: IDS temps reel

******************************
            # alertes IDS en temps réel. #
            ******************************
            Ou l'IDS du pauvre :)
           

Ce document a pour but de permettre l'affichage d'une fenêtre de type 'pop-up' ou bien l'envoi d'un mail, lors d'evenements reseaux intervenus (scan de ports, connexions sur un port determine et choisi à l'avance ou tout autre evenement declenchant une alerte Snort, et ce en utilisant l'IDS Snort et le logiciel swatch, qui permettra de parcourir le fichier /var/log/snort/alert .
Ce document est a destination d'un public utilisant des stations personnelles de travail (desktop pc) avec notamment Gnome.
Les logiciels ont ete installes sous Debian et Ubuntu mais toute distribution linux fera l'affaire.



1) On installe et on configure Snort (on installe par la meme occasion swatch...)
------------------------------------------------------------------------------------------------------------

A) # apt-get install -d snort swatch

Ici on telecharge uniquement les paquets necessaires a l'installation de swatch et snort, ainsi que leurs dependances.
Validez les choix par défaut (choix de l'interface eth0, variable HOME_NET et mail: root), les modifications seront effectuées plus loin directement dans le fichier de conf de snort.


B) # /etc/init.d/networking stop
Ici on arrete le service reseau, votre connexion internet ne fonctionne donc plus...


C) # apt-get install snort swatch
Apres avoir telecharge les paquets necessaires, on les installe...

N.B: Validez les choix par défaut (choix de l'interface eth0, variable HOME_NET et mail: root), les modifications seront effectuées plus loin directement dans lefichier de conf de snort.


D) # /etc/init.d/snort stop
On arret snort, lance automatiquement apres l'installation


E) # /etc/init.d/networking start
On relance le service reseau, la connexion internet refonctionne.


Pourquoi avons nous fait tout ceci ?
-------------------------------------------------
Car il va falloir désactiver le préprocesseur 'bo' suite à un problème de sécurité (bufer overflow), et ce, le temps pour vous d'allez vérifier sur votre distribution préférée si la faille est corrigée.
Sur Debian par exemple cela n'en a pas l'air...  cf: bug=334606: on lit:

"For those people running Snort Debian packages it is advised they disable the
Snort 'bo' preprocessor (it's enabled in the stock Debian configuration)
until this issue has been reviewed and, maybe, fixed."


Il faut donc que, dans le fichier de configuration de snort, vous commentiez la ligne:

#preprocessor bo   <--------  On met un # devant donc .....

###################################################################################################





2) Edition du fichier de configuration de snort:  /etc/snort/snort.conf
------------------------------------------------------------------------------------------

La configuration de snort par l'edition de son fichier de configuration /etc/snort/snort.conf se passe en 4 etapes, comme cela est indique au debut de ce fichier:

#  1) Set the network variables for your network <-- on configurera ici HOME_NET et EXTERNAL_NET
#  2) Configure preprocessors  <--- on indique quels preprocesseurs on veut activer...
#  3) Configure output plugins <-- quel plugin de sortie choisissons nous ?
#  4) Customize your rule set <-- Personnalisation des regles de detection de snort.



J'utilise une connexion Free et je dispose d'une IP Fixe, j'indique alors dans le fichier /etc/snort/snort.conf la variable var HOME_NET comme état mon IP externe, cad mon IP fixe. Ceci dit, lors de l'installation de snort c'est ces options que je vous ai demandé de valider par défaut.


- Configuration des variables recherchez ces deux termes (HOME_NET et EXTERNAL_NET) dans le fichier de configuration de snort et indiquez:

var HOME_NET 82.X.X.X/32

(Indiquez votre IP fixe évidemment).

et

var EXTERNAL_NET !$HOME_NET

(Ici on indique que tout ce qui n'est pas notre reseau est le reseau externe).


3) Toujours dans le fichier de configuration snort /etc/snort/snort.conf, je spécifie la sortie souhaitée, ici j'utilise:
-------------------------------------------------------------------------------------------------------------------------


output log_tcpdump: tcpdump.log

N.B: Ceci vous permettra de logguer la sequence et vous pourrez la lire puis l'analyser en faisant par exemple:
# tcpdump -r /var/log/snort/tcpdump.log.1147037770



4) Telechargez les regles suivantes:
-------------------------------------------------

# cd /etc/snort/
# wget http://www.bleedingsnort.com/bleeding.rules.tar.gz
# tar zxvf bleeding.rules.tar.gz


6) Puis telechargez la liste d'identifiants de signatures utilisees par les regles de Bleeding Edge snort.
Ensuite nous allons avec les commandes ci dessous les concatener avec les identifiants des regles existantes.

# cd /etc/snort/
# cp --remove-destination sid-msg.map sid-msg.map.orig
# wget http://www.bleedingsnort.com/bleeding-sid-msg-map.txt
# cat bleeding-sid-msg-map.txt sid-msg.map.orig | sort -u > sid-msg.map




En section 5 du fichier de configuration de snort on indique quelles regles on veut utiliser:
---------------------------------------------------------------------------------------------------------------------------

Je vais rajouter les lignes suivantes:
-------------------------------------------------
include $RULE_PATH/bleeding-scan.rules
include $RULE_PATH/bleeding-exploit.rules
include $RULE_PATH/bleeding-attack_response.rules
include $RULE_PATH/bleeding-drop.rules



et je ne laisse dans les regles apportees par le paquet "snort-rules-default" que:
----------------------------------------------------------------------------------
(normalement ce paquet a été installé avec snort, mais à vous de vérifier si ce paquet existe pour votre distribution et s'il est installé...)

include $RULE_PATH/local.rules 
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/misc.rules
include $RULE_PATH/attack-responses.rules
include $RULE_PATH/other-ids.rules
include $RULE_PATH/info.rules

toutes les autres regles etant commentees par un # en debut de ligne...

N.B que l'on a pris soin d'utiliser local.rules <-------
C'est la que l'on va definir les regles permettant de generer les logs qui seront surveilles par swatch..; sinon rien ne fonctionnera.
 

Par ailleurs si l'on utilise une configuration avec un port different de 22 pour un serveur sshd , moi j'utilise 1790, il faudra indiquer dans la conf de snort, cad le fichier /etc/snort/snort.conf:

var SSH_PORTS 1790



6) On verifie la syntaxe avec:
---------------------------------------

# snort -T -c /etc/snort/snort.conf


La vous devriez obtenir un message de ce type a la fin:

        --== Initialization Complete ==--

       ,,_     -*> Snort! <*-
      o"  )~   Version 2.3.3 (Build 14)
       ''''    By Martin Roesch & The Snort Team: http://www.snort.org/team.html
               (C) Copyright 1998-2004 Sourcefire Inc., et al.


           Snort sucessfully loaded all rules and checked all rule chains!
              

Sinon verifiez le message d'erreur, vous avez peut etre commente une variable (HTTP_PORTS, ORACLE_PORTS) ? ou trop gratte dans le fichier de conf...



7) On cree ses regles locales dans /etc/snort/rules/local.rules
------------------------------------------------------------------------------------

On ajoute les lignes suivantes:

######
alert tcp !$HOME_NET any -> any 22 (msg:"Connexion EXT -> INT sur le port 22";)
alert tcp !$HOME_NET any -> any 1790 (msg:"Connexion EXT -> INT sur le port 1790";)
alert tcp !$HOME_NET any -> any 25 (msg:"Connexion EXT -> INT sur le port 25";)
alert tcp !$HOME_NET any -> any 80 (msg:"Connexion EXT -> INT sur le port 80";)
alert tcp !$HOME_NET any -> any 21 (msg:"Connexion EXT -> INT sur le port 21";)
######

et ainsi de suite pour tous les ports a monitorer...


Je vous laisse creer vos propres regles .... la syntaxe etant assez simple.... dumoins pour les tentatives de connexions sur un port.

***A noter que***: Vous utiliserez un parefeu (sous Ubuntu je vous conseille 'firestarter').
Il vous permettra de n'autoriser QUE certaines IP a se connecter a votre serveur sshd sur votre station de travail.
Je vous conseille de: changer le port du serveur sshd (edition du fichier /etc/ssh/sshd_config puis indiquer Port 1790 par exemple a la place de Port 22 par defaut) et de n'autoriser que vertaines IP a s'y connecter (si possible...).
Il faut restreindre au maximum les services et les moyens d'y acceder.





8)  On indique dans le fichier /home/votre_utilisateur/.swatchrc :
--------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------------

############### Configuration ######################################
# Decommentez les lignes que vous souhaitez utiliser....


# Si l'on decommente les lignes si dessous: 5 bips (haut parleur PC) se feront entendre
# puis 'throttle' limite le nombre de fois ou le modele rencontre dans les logs doit apparaitre afin de declencher l'alerte.
# Ceci est utile en effet si vous ne souhaitez pas que pour chaque paquet recu sur un port specifique, un mail ne soit emis ou une pop-up affichee...
# Si vous avez deja regarde vos logs iptables/firewall sur le port 135/445 vous verrez de quoi je parle...
# On monitore les alertes de priorite 1.
#watchfor /Priority\: 1/
#        bell 5
#        throttle 00:00:10





# Si dessous meme syntaxe..
# mais on envoie un mail.
# bold sert a ecrire en gras dans les logs..
watchfor /Priority\: 1/
        echo bold
       mail addresses=prenom\@domaine.fr subject=[ Alerte Snort Priorite 1 ]
        exec="xterm -hold -e echo SNORT ALERTE: PRIORITE 1 !!!!!"
        throttle 00:00:10




# Si dessous cette fois on affiche une pop-up
watchfor /Priority\: 1/
   echo bold
   exec="xterm -hold -e echo SNORT ALERTE: PRIORITE 1 !!!!!"
   throttle 00:00:10





# Si dessous on cree une regle de surveillance pour les regles que nous avons mises dans /etc/snort/rules/local.rules
# Il faudra bien sur faire de meme pour chaque port.
watchfor        /Connexion EXT -> INT sur le port 22/
                echo bold
                exec="xterm -hold -e echo SNORT ALERTE: Traffic TCP sur Port 22/ssh !!!!!"
                throttle 00:00:10




watchfor        /Connexion EXT -> INT sur le port 1790/
                echo bold
                exec="xterm -hold -e echo SNORT ALERTE: Traffic TCP sur Port 1790/ssh !!!!!"
                throttle 00:00:10





# Machine potentiellement Compromise...
watchfor        /ATTACK-RESPONSES id check returned root/
                echo bold
                exec="xterm -hold -e echo SNORT ALERTE: ATTACK-RESPONSES id check returned root !!!!!"





############################# Scans ##########################
## Si dessous des regles pour monitorer differents scans de ports.


watchfor        /BLEEDING-EDGE SCAN NMAP -sS/
                echo bold
                exec="xterm -hold -e echo SNORT ALERTE: SCAN NMAP -sS !!!!!"





watchfor        /BLEEDING-EDGE SCAN NMAP -sO/
                echo bold
                exec="xterm -hold -e echo SNORT ALERTE: SCAN NMAP -sO !!!!!"

########################################################################################

------------------------------------------------------------------------------------------------------------------------------------------------------





9) On lance swatch par la commande ci-dessous dans un terminal, qui va monitorer le fichier /var/log/snort/alert en tapant:

swatch -c /home/votre_utilisateur/.swatchrc -t /var/log/snort/alert

(A adapter...)

Si aucun message d'erreur ne s'affiche c'est que tout s'est bien passe. A ce moment vous pourrez voir quelquechose de ce gout la:

################
*** swatch version 3.1.1 (pid:17660) started at dimanche 7 mai 2006, 23:36:37 (UTC+0200)
################


Ceci dit si vous souhaitez utiliser swatch immediatement tapez: "nohup swatch -c /home/votre_utilisateur/.swatchrc -t /var/log/snort/alert &"

et tapez deux fois sur ENTREE.





10) Par la suite vous pouvez rajouter cette ligne pour qu'elle soit lancee automatiquement, sous gnome c'est facile, rajoutez la dans:

Bureau --> Preferences --> Sessions puis --> Onglet: Programmes au demarrage: ---> ajouter: "swatch -c /home/votre_utilisateur/.swatchrc -t /var/log/snort/alert" 


puis validez et fermer.




11) Lancement automatique de snort au demarrage:
-----------------------------------------------------------------------
Installez 'rcconf':

apt-get install rcconf
et verifez ou cochez (*) si besoin la case concernant snort.


Voila c'est "fini" libre a vous d'ameliorer le fichier ~/.swatchrc et de nous en faire profiter.... 

action09

#2 Le 26/09/2006, à 08:12

Filou12

Re : Installer snort + swatch: IDS temps reel

Bien le bonjour,

Je ne comprend pas pourquoi OSSIM ne peut pas être installer sur Ubuntu. Etant donné qu'Ubuntu est tirée de la débian, je ne vois pas ce qui peut bloqué.

Comme tu as écrit dans un autre topic que l'installation etait impossible, j'aimerais bien avoir des précisions sur la raison du pourquoi???

Merci

Hors ligne

#3 Le 27/08/2007, à 18:15

zedtux

Re : Installer snort + swatch: IDS temps reel

Merci action099 !

Je vient de suivre à la lettre ton tuto !
Donc, j'attend de voire ce qui ce passe wink

Petite remarque : Au tout début, après avoir coupé le réseau, et lorsque l'on installe les paquets, on doit donc configurer snort ( écran bleu ).

Il y a un soucis, car la commande /etc/init.d/networking stop fais apparement un ifconfig eth0 down et du coup, quand on veut monitorer l'interface eth0, le système de configuration explique que l'interface est invalide.

Moi j'ai fais un sudo ifconfig eth0 up, puis j'ai refais la config sans soucis. wink


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne

#4 Le 02/02/2009, à 23:47

abdoulive

Re : Installer snort + swatch: IDS temps reel

salut

dsl! j'ai quelque question conserne la configuration de snort!
j'ai un exposé où je doit manipuler "snort" et "asterisk"
j'ai suivi ce doc avant que je tombe sur se topic " http://www.howtoforge.com/intrusion-detection-with-snort-mysql-apache2-on-ubuntu-7.10 " ( stp je demande de lire se doc pour ensuite me conprendre )

je me suis arrttt sur cette command " vim /etc/snort/snort.conf "
et la je c pas se que je doit mettre comme config!

g ADSL easy " algérie " mes @ip change chaque conexion
41.201.x.x\??  !!  ( se que g mi on "x" change chaque nouvel conexion sad )

autre chose l'encadreur demande de faire on sorte que snort soie configurer pour une detection de ping ou quelque chose comme sa :s   

alors SVP help! je veux savoir se que je doit modifier de début a la fin sur snort.conf  ( des explication precise svp pour quelqu'un qui connais rien de rien :s )
et se que je doit faire pour arrivé au but demandé par l'encadreur sad

#5 Le 15/05/2009, à 02:40

A.i.A

Re : Installer snort + swatch: IDS temps reel

Bjr Abdoulive,

Est ce que t'a réussi à trouver les solutions
parceque apparaement j'ai les mêmes problemes

Merci

Hors ligne

#6 Le 31/05/2009, à 17:22

Arnold59

Re : Installer snort + swatch: IDS temps reel

Bonjour,

Je poste mon problème sur ce post, car je n'ai pas la dernières version de SNORT :

J'utilises SNORT 2.7.0 sous Linux Ubuntu 9.04, comment mettre à jour ce programme vers la dernière version snort-2.8.4.1?

http://www.snort.org/downloads/#latest


Comment utilises-t-on SNORT ?

Bon week-end.

D'avance merci.

Hors ligne

#7 Le 01/06/2009, à 17:00

A.i.A

Re : Installer snort + swatch: IDS temps reel

Est ce que quelqu'un connaît un tutoriel pour l'instalation de Snort sur Ubuntu 9.10  ???

Aidez-moi svp

Hors ligne

#8 Le 20/11/2009, à 13:06

gonzolero

Re : Installer snort + swatch: IDS temps reel

Bonjour à tous

Voilà, comme d'autres personnes, je me pose plusieurs questions sur snort, ça fait une semaine que j'essaie de l'installer sur Jaunty, selon cette méthode, http://openmaniak.com/snort_tutorial_snort.php et il va falloir que j'essaie celle-ci :http://linux.justinhartman.com/Intrusio … _Engine.29

Mais j'ai plus particulèrement suivi celle-ci :

http://doc.ubuntu-fr.org/snort

J'en étais à mon énième essai :

J'ai installé snort...

Dans /etc/oinkmater.conf j'ai inséré la ligne

url = http://www.emergingthreats.net/rules/emerging.rules.tar.gz

Au lancement de la commande

$ sudo oinkmaster -o /etc/snort/rules

une longue liste est téléchargée. Cependant, je remarque ces lignes :

WARNING: duplicate SID in downloaded archive, SID=2407008, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407009, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407010, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407011, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407012, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407013, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407014, only keeping rule with highest 'rev'

WARNING: duplicate SID in downloaded archive, SID=2407015, only keeping rule with highest 'rev'

Setting up rules structures... done.
Comparing new files to the old ones... done.

Mais bon, j'ai continué par :

$ crontab -e

J'ajoute cette ligne

55 13 * * 6 /usr/sbin/oinkmaster -o /etc/snort/rules

Ensuite :

sudo -s

...

echo "#EmergingThreats.net Rules" >> /etc/snort/snort.conf

...

cd /etc/snort/rules

puis j'ai lancé ce programme :

for i in `ls -1 emerging*` ; do echo "include \$RULE_PATH/"$i » /etc/snort/snort.conf ; done;

[...Doc ubuntu...] Ensuite editez snort.conf:

sudo vim /etc/snort/snort.conf

Tout en bas du fichier, je m'attendais à voir :

#EmergingThreats.net Rules

(Mais cette ligne n'y est pas).

Ici, il y aurait dû avoir la liste de règles mais elle n'y sont pas non plus...

La ligne suivante est-elle juste ?


echo "#EmergingThreats.net Rules" >> /etc/snort/snort.conf

Voilà, du coup je n'étais pas sûr de mon installation et j'ai tout désinstallé en pensant repartir de zéro...


Et voici pour finir, parmi quelques questions qui me turlupinnent :

Je ne dispose pas d'une adresse IP fixe.
Le DHCP me donne toujours la même adresse. Celà fonctionnerait comme ça, ou bien me faut-il vraiment disposer d'une IP fixe ?

La méthode décrite dans cette doc ne mentionne pas MySQL. Les résultats sont consignés, si j'ai bien compris, dans des fichiers texte.
Cette méthode serait-elle suffisante pour une utilisation de snort + BASE ?

Faut-il que ma freebox soit en mode routeur ?

Je vous remercie d'avance pour vos éclaircissements et vos conseils smile

Hors ligne

#9 Le 20/11/2009, à 19:48

gonzolero

Re : Installer snort + swatch: IDS temps reel

Du coup, je viens d'essayer ici :

http://linux.justinhartman.com/Intrusio … _Engine.29

wget http://dl.snort.org/snort-current/snort-2.8.5.1.tar.gz

Tout se passe bien sauf pcre qui échoue à la fin du make...
Tentative d'installation de libpcre3. Il me semble que le paquet est en conflits avec d'autres hmm

Et puis, lorsque je veux tester snort :

snort -c /etc/snort/snort.conf
Running in IDS mode

        --== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
Parsing Rules file "/etc/snort/snort.conf"
PortVar 'HTTP_PORTS' defined :  [ 80 ]
PortVar 'SHELLCODE_PORTS' defined :  [ 0:79 81:65535 ]
PortVar 'ORACLE_PORTS' defined :  [ 1521 ]
PortVar 'FTP_PORTS' defined :  [ 21 ]
ERROR: Unable to open rules file "/etc/snort//etc/snort/rules/local.rules": No such file or directory.
Fatal Error, Quitting..

yikes

Hors ligne

#10 Le 10/12/2009, à 12:46

bleck

Re : Installer snort + swatch: IDS temps reel

Arnold59 a écrit :

J'utilises SNORT 2.7.0 sous Linux Ubuntu 9.04, comment mettre à jour ce programme vers la dernière version snort-2.8.4.1?

Le plus simple est sans doute de se  fournir auprès des dépôts backports correspondants à ta version. Si tu ne veux pas galérer avec les dépendance, il suffit d'ajouter (temporairement ou pas) les sources backports.

* * Modification * *
Il semble que snort n'ait pas été backporté sad J'avais utilisé cette technique sur des versions LTS, je ne sais pas si c'est pertinent sur des versions intermédaires...

Le passage en snort version 2.8.x est indispensable pour faire tourner les règles de Emergingthreasts car certaines utilisent la nouvelle syntaxe liste de ports (ben oui, ça n'existait pas avant !). Faute de quoi, snort plante en fatal error lors de la lecture des règles et indique la règle concernée dans /var/log/syslog.

Dernière modification par bleck (Le 10/12/2009, à 16:09)

Hors ligne

#11 Le 26/05/2013, à 17:18

katakana

Re : Installer snort + swatch: IDS temps reel

Salut,
après l'installation du Swatch j'ai pa trouvé le fichier .swatchrc.
vous pouvez  m'aidez  , mercii d'avance smile smile

Hors ligne