IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

[Snort] Il est possible d'exécuter NIPS et NIDS ensemble?


Sujet :

Sécurité

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 74
    Par défaut [Snort] Il est possible d'exécuter NIPS et NIDS ensemble?
    Bonjour à tous


    je travaille sur un petit projet qui sert à sécuriser un réseau interne (intranet)en bloquant toute tentative d'attaque et en même temps sauvegarder des infos sur cet attaquant, j'utilise pour ce la Snort comme IDS .
    ma question est la suivante :

    Est-il possible d'installer snort dans une machine comme étant NIDS pour générer des alertes et les stocker dans la base de données (j'ai déjà fait cette étape en utilisant Barnyard2 et la base de données MySQL),
    et dans la deuxième machine comme étant NIPS pour bloquer le trafic généré par ce NIDS?


    mon but est de sauvegarder les alertes dans une base de données MySQL, puis de bloquer les tentatives d'attaques qui ont généré ces alertes.
    Je ne sais pas si NIDS est capable de faire ces deux options (générer des alertes et bloquer les attaques), c'est pourquoi j'ai pensé à utiliser un NIPS avec NIDS.
    c'est possible

    Merci.

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    je suis pas spécialiste de Snort et ça fait des lustres que je me suis plus amusé avec, mais comme tu l'explique j'aurais tendance à regarder du coté des plugins Snort (à coder soi-même j'entends)
    donc finalement ça revient à brancher Snort en IPS plutôt qu'en IDS, et ajouter des règles à la volée depuis le plugin, lequel en profite au passage pour logger dans la db, peut l'interroger etc.

    à voir si c'est faisable et le temps de dev que ça prend...

    Edit: sur ce papier ça parle entre autres de l'API pour les plugins, de la possibilité de coder rapidement en LUA (Piglet) et de la capacité à examiner et poser un verdict pour les paquets de manière systématique (IpsOption.action())


  3. #3
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Pourquoi as tu choisi Snort? Suricata est quand même au dessus mais dans le cas de Snort oui il fait IPS.

    Le seul truc c'est que je te déconseille de le mettre en IPS : Si Snort tombe, c'est toute ton infra qui va tomber. Je connais pas le débit du réseau que tu veux sécuriser mais en mode IPS il te faut dans l'idéal optimiser Debian (ou autre) avec NAPI et PF_RING, sans compter l'optimisation de Snort (même si c'est aussi valable en mode IDS, ca l'est encore plus en mode IPS).

    Je te le conseille plutôt en IDS et envoie d'ACL flow direction le firewall pour bloquer certaines IPs.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 74
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    salut,

    je suis pas spécialiste de Snort et ça fait des lustres que je me suis plus amusé avec, mais comme tu l'explique j'aurais tendance à regarder du coté des plugins Snort (à coder soi-même j'entends)
    donc finalement ça revient à brancher Snort en IPS plutôt qu'en IDS, et ajouter des règles à la volée depuis le plugin, lequel en profite au passage pour logger dans la db, peut l'interroger etc.

    à voir si c'est faisable et le temps de dev que ça prend...
    merci BufferBob
    oui la création d'un plugin paraît une solution utile pour ce cas, mais le problème c'est que la plupart des livres qui ont entamé la création d'un plugin avec snort était avec des versions antérieures (le code source a été change avec les nouvelles pour les version 2.9.x....), je travaille maintenant avec la version 2.9.11.1, à vrai dire cela prend un temps important.





    Edit: sur ce papier ça parle entre autres de l'API pour les plugins, de la possibilité de coder rapidement en LUA (Piglet) et de la capacité à examiner et poser un verdict pour les paquets de manière systématique (IpsOption.action())

    Oui c'est avec cette version - 3- ou la création du plugin se fait avec luea au lieu de langage c, je vais étudier bien ce papier, en assyant de comprendre l'architecture d'un plugin ...,en parallèle je vais essayer de trouver une solution en cas où je n'aurai pas le temps pour l'achever . je vous remercie encore pour votre aide


    .Mon but est d'un côté la récupération des alerts en les sauvegardant dans une base de données et d'un autre côté bloquer ces tentatives d'attaque.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 74
    Par défaut
    Merci pour votre reponse tabouret
    Citation Envoyé par tabouret Voir le message
    Pourquoi as tu choisi Snort? Suricata est quand même au dessus mais dans le cas de Snort oui il fait IPS.
    j'ai travaillé avant avec Snort en mode NIDS(c'était un projet de recherche pour lutter contre une attaque SQL injection là où on a implémenté des solutions pour bloquer, devier ....,les tentatives d'attaque), et maintenant je veux sécuriser un réseau qui contient des machines (pas une application web) contre plusieurs attaques, et c'est pour cette raison que j'ai réfléchie à un NIPS

    Je connais pas le débit du réseau que tu veux sécuriser mais en mode IPS il te faut dans l'idéal optimiser Debian (ou autre) avec NAPI et PF_RING, sans compter l'optimisation de Snort
    le debit est important ??


    Je te le conseille plutôt en IDS et envoie d'ACL flow direction le firewall pour bloquer certaines IPs.
    la solution paraît assez importante, le problème c'est que je n'ai pas bien saisi l'idée, pourriez-vous me l'explique (je viens de débuter dans ce domaine vaste mais aussi intéressant).
    have a nice day.

  6. #6
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    En réalité Snort et Suricata c'est quasi la même chose : ça vérifie tout le trafic entrant et renvoie des alertes si une trame match une règle.
    Mais Suricata est non seulement bien plus efficace quand tu disposes de plusieurs CPU (il n'y a qu'a voir les benchmark) mais en plus est bien plus maintenu à l'heure actuelle que Snort.
    Enfin c'est toi qui voit :p

    Le débit est très important si tu veux sécuriser un réseau : Ta machine hébergeant Snort doit au grand minimum traiter autant de paquet que ce que peut ton infrastructure.
    D'autre part, tu verra qu'en configuration normale, Snort drop pas mal de paquets il va te falloir l'optimiser.

    Sinon c'est très simple je fais une mini DDOS sur ton infrastructure réseau et j'envoie des paquets malsains en même temps que la DDOS : les paquets passeront à coup sûr ton IDS sans être vérifiés.

    Il faut donc que tu vérifie :
    1. Que ton OS ne drop aucun paquet : normalement en dessous de 1 Gbps ça ne devrait pas se passer.
    2. Que Snort ne drop aucun paquet : la il va te falloir le configurer dans tous les cas (Même à 20 Mbps Snort va te dropper des paquets).

    Si tu configure Snort en tant qu'IPS, ca veut dire que c'est lui le Firewall : Le trafic passe par Snort.
    Si ton OS et Snort sont ultra optimisés et stables, pas de souci (mais ça demande de grandes connaissances).
    Le truc c'est que si jamais ta machine tombe (pour une raison X ou Y : crash d'un service ou DOS sur ton système), tout ce qui est derrière ne recevra plus les trames : tu vas interrompre totalement tous les services de ton infrastructure tant que ta machine sera HS.

    Perso je te conseille plutôt ce que j'ai fais en entreprise :
    1. Tu laisse un firewall gérer le trafic entrant.
    2. Tu met Snort en mode IDS et tu vérifie tout le trafic entrant (le trafic est donc dupliqué entre ton firewall et ton IDS, facile à faire avec un switch).
    3. S'il y a une grande menace, tu envoie une trame (SNMP ou ce que tu veux) à ton firewall pour lui dire de bloquer une IP ou certaines trames sortantes, l'inconvénient restant qu'une trame malicieuse entrante passera les mailles du filet uniquement une fois, ce qui est déjà beaucoup mais tu en sera au minimum informé et l'IP correspondante sera bloquée dans la foulée.

    Après si tu n'a pas de firewall ou de switch de dispo, forcément il va te falloir configurer Snort en tant qu'IPS.

    Et si Snort en mode IPS doit checker l'intégralité du trafic avant de forwarder le message, j'espère que ta machine est un minimum costaud.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 74
    Par défaut
    Merci beaucoup pour ces précisions ! J'y vois à présent plus claire .

    la solution que vous m'aviez proposée est meilleur surtout à long terme.

    pour le moment je ne dispose pas d'un switch (je travaille dans une salle de TP, dès que je termine le projet je prendrai l'autorisation pour utiliser le matériel qu'il dispose) pour ce cas j'ai réfléchi à utiliser IPtable comme firewall dans ma machine Ubuntu, le moment où Snort capture des paquets je modifie le parafeu - en modifiant ou ajoutant des règles - . Est-ce que cette approche est possible?


    2. Que Snort ne drop aucun paquet : la il va te falloir le configurer dans tous les cas (Même à 20 Mbps Snort va te dropper des paquets).
    une petite question ,pourquoi à 20 Mbps snort va droper des paquets est ce que c'est la valeur-limite de snort ?

  8. #8
    Membre émérite
    Homme Profil pro
    Architecte cybersécurité
    Inscrit en
    Avril 2014
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte cybersécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 578
    Par défaut
    Oui bien sur que c'est possible!
    Je ne connais pas IPTables dans le détail mais c'est possible.

    Non 20 Mbps n'est pas la limite de snort mais il va te dropper des paquets quand même dans sa configuration de base.
    Il va falloir l'optimiser (définir son mode, la quantité de mémoire pour certains buffers, la politique de multithreading etc...) afin qu'il ne drop aucun paquet pour des débits plus élevés.

    En gros il va falloir que tu lise la doc complète ^^

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 74
    Par défaut
    je m' excuse pour le retard de ma réponse ( j' avais un problème de connexion cette semaine)je vous remercie infiniment pour votre aide.
    vraiment j' apprend pas mal de chose dans ce forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/03/2010, 19h36
  2. Réponses: 5
    Dernier message: 28/12/2008, 15h05
  3. est il possible d'exécuter un fichier .sql dans action script ?
    Par wannabi dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 01/09/2008, 15h16
  4. Réponses: 1
    Dernier message: 11/10/2007, 13h24
  5. Est-il possible d'exécuter une fonction à partir de fichier
    Par magic8392 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 16/09/2005, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo