Comment configurer Snort sur Debian

Snort est un système gratuit de détection d'intrusion réseau (IDS). En termes moins officiels, il vous permet de surveiller votre réseau pour détecter toute activité suspecte en temps réel . Actuellement, Snort propose des packages pour Fedora, CentOS, FreeBSD et les systèmes Windows. La méthode d'installation exacte varie selon les systèmes d'exploitation. Dans ce tutoriel, nous allons installer directement à partir des fichiers source de Snort. Ce guide a été écrit pour Debian.

Mettre à jour, mettre à niveau et redémarrer

Avant de mettre la main sur les sources Snort, nous devons nous assurer que notre système est à jour. Nous pouvons le faire en émettant les commandes ci-dessous.

sudo apt-get update
sudo apt-get upgrade -y
sudo reboot

Configuration de pré-installation

Une fois que votre système a redémarré, nous devons installer un certain nombre de packages pour nous assurer que nous pouvons installer SBPP. J'ai pu comprendre qu'un certain nombre de packages étaient nécessaires, donc la commande de base est ci-dessous.

sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y

Une fois tous les packages installés, vous devrez créer un répertoire temporaire pour vos fichiers source - ils peuvent être n'importe où que vous le souhaitez. Je vais utiliser /usr/src/snort_src. Pour créer ce dossier, vous devez être connecté en tant rootqu'utilisateur ou disposer d' sudoautorisations - rootcela facilite la tâche.

sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src

Installation de la bibliothèque d'acquisition de données (DAQ)

Avant de pouvoir obtenir la source de Snort, nous devons installer le DAQ. C'est assez simple à installer.

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

Extrayez les fichiers de l'archive tar.

tar xvfz daq-2.0.6.tar.gz

Accédez au répertoire DAQ.

cd daq-2.0.6

Configurez et installez le DAQ.

./configure; make; sudo make install

Cette dernière ligne s'exécutera en ./configurepremier. Ensuite, il s'exécutera make. Enfin, il s'exécutera make install. Nous utilisons ici la syntaxe la plus courte juste pour économiser un peu sur la frappe.

Installation de Snort

Nous voulons nous assurer que nous sommes à /usr/src/snort_srcnouveau dans le répertoire, alors assurez-vous de vous y rendre avec:

cd /usr/src/snort_src

Maintenant que nous sommes dans le répertoire des sources, nous allons télécharger le tar.gzfichier pour la source. Au moment d'écrire ces lignes, la version la plus récente de Snort est 2.9.8.0.

wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz

Les commandes pour installer réellement snort sont très similaires à celles utilisées pour le DAQ, mais elles ont différentes options.

Extrayez les fichiers source Snort.

tar xvfz snort-2.9.8.0.tar.gz

Accédez au répertoire source.

cd snort-2.9.8.0

Configurez et installez les sources.

 ./configure --enable-sourcefire; make; sudo make install

Post-installation de Snort

Une fois Snort installé, nous devons nous assurer que nos bibliothèques partagées sont à jour. Nous pouvons le faire en utilisant la commande:

sudo ldconfig

Après cela, testez votre installation Snort:

snort --version

Si cette commande ne fonctionne pas, vous devrez créer un lien symbolique. Vous pouvez le faire en tapant:

sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version

La sortie résultante ressemblera à ce qui suit:

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.7.5 GRE (Build 262)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
           Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
           Copyright (C) 1998-2013 Sourcefire, Inc., et al.
           Using libpcap version 1.6.2
           Using PCRE version: 8.35 2014-04-04
           Using ZLIB version: 1.2.8

Snort enracinement

Maintenant que nous avons installé snort, nous ne voulons pas qu'il fonctionne comme root, nous devons donc créer un snortutilisateur et un groupe. Pour créer un nouvel utilisateur et groupe, nous pouvons utiliser ces deux commandes:

sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort

Puisque nous avons installé le programme en utilisant la source, nous devons créer les fichiers de configuration et les règles pour snort.

sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules

Après avoir créé les répertoires et les règles, nous devons maintenant créer le répertoire des journaux.

sudo mkdir /var/log/snort

Et enfin, avant de pouvoir ajouter des règles, nous avons besoin d'un emplacement pour stocker les règles dynamiques.

sudo mkdir /usr/local/lib/snort_dynamicrules

Une fois que tous les fichiers précédents ont été créés, définissez-y les autorisations appropriées.

sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

Configuration des fichiers de configuration

Pour gagner beaucoup de temps et éviter d'avoir à tout copier et coller, il suffit de copier tous les fichiers dans le répertoire de configuration.

sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort

Maintenant que les fichiers de configuration sont là, vous pouvez effectuer l'une des deux opérations suivantes:

  • Vous pouvez activer Barnyard2
  • Ou vous pouvez simplement laisser les fichiers de configuration seuls et activer sélectivement les règles souhaitées.

Quoi qu'il en soit, vous allez toujours vouloir changer quelques choses. Continue de lire.

Configuration

Dans le /etc/snort/snort.conffichier, vous devrez modifier la variable HOME_NET. Il doit être défini sur le bloc IP de votre réseau interne afin qu'il ne consigne pas les tentatives de votre propre réseau pour se connecter au serveur. Cela peut être 10.0.0.0/24ou 192.168.0.0/16. À la ligne 45, /etc/snort/snort.confremplacez la variable HOME_NETpar cette valeur du bloc IP de votre réseau.

Sur mon réseau, cela ressemble à ceci:

ipvar HOME_NET 192.168.0.0/16

Ensuite, vous devrez définir la EXTERNAL_NETvariable sur:

any

Ce qui se transforme EXERNAL_NETen tout ce que vous n'êtes HOME_NETpas.

Fixer les règles

Maintenant qu'une grande majorité du système est installé, nous devons configurer nos règles pour ce petit cochon. Quelque part autour de la ligne 104 dans votre /etc/snort/snort.conffichier, vous devriez voir une déclaration « var » et les variables RULE_PATH, SO_RULE_PATH, PREPROC_RULE_PATH, WHITE_LIST_PATHet BLACK_LIST_PATH. Leurs valeurs doivent être définies sur les chemins que nous avons utilisés Un-rooting Snort.

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Une fois ces valeurs définies, supprimez ou commentez les règles actuelles à partir de la ligne 548 environ.

Maintenant, vérifions que votre configuration est correcte. Vous pouvez le vérifier avec snort.

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

Vous verrez une sortie similaire à la suivante (tronquée par souci de concision).

 Running in Test mode

         --== Initializing Snort ==--
 Initializing Output Plugins!
 Initializing Preprocessors!
 Initializing Plug-ins!
 .....
 Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
 Verifying Preprocessor Configurations!

         --== Initialization Complete ==--

    ,,_     -*> Snort! <*-
   o"  )~   Version 2.9.8.0 GRE (Build 229) 
    ''''    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
            Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
            Copyright (C) 1998-2013 Sourcefire, Inc., et al.
            Using libpcap version 1.7.4
            Using PCRE version: 8.35 2014-04-04
            Using ZLIB version: 1.2.8

            Rules Engine: SF_SNORT_DETECTION_ENGINE  Version 2.4  <Build 1>
            Preprocessor Object: SF_IMAP  Version 1.0  <Build 1>
            Preprocessor Object: SF_FTPTELNET  Version 1.2  <Build 13>
            Preprocessor Object: SF_SIP  Version 1.1  <Build 1>
            Preprocessor Object: SF_REPUTATION  Version 1.1  <Build 1>
            Preprocessor Object: SF_POP  Version 1.0  <Build 1>
            Preprocessor Object: SF_DCERPC2  Version 1.0  <Build 3>
            Preprocessor Object: SF_SDF  Version 1.1  <Build 1>
            Preprocessor Object: SF_GTP  Version 1.1  <Build 1>
            Preprocessor Object: SF_DNS  Version 1.1  <Build 4>
            Preprocessor Object: SF_SSH  Version 1.1  <Build 3>
            Preprocessor Object: SF_DNP3  Version 1.1  <Build 1>
            Preprocessor Object: SF_SSLPP  Version 1.1  <Build 4>
            Preprocessor Object: SF_SMTP  Version 1.1  <Build 9>
            Preprocessor Object: SF_MODBUS  Version 1.1  <Build 1>

 Snort successfully validated the configuration!
 Snort exiting

Maintenant que tout est configuré sans erreur, nous sommes prêts à commencer à tester Snort.

Test de Snort

Le moyen le plus simple de tester Snort est d'activer le local.rules. Il s'agit d'un fichier qui contient vos règles personnalisées.

Si vous avez remarqué dans le snort.conffichier, quelque part autour de la ligne 546, cette ligne existe:

include $RULE_PATH/local.rules

Si vous ne l'avez pas, veuillez l'ajouter vers 546. Vous pouvez ensuite utiliser le local.rulesfichier pour les tests. En tant que test de base, Snort garde juste une trace d'une requête ping (requête ICMP). Vous pouvez le faire en ajoutant la ligne suivante à votre local.rulesfichier.

 alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)

Une fois que vous avez cela dans votre fichier, enregistrez-le et continuez à lire.

Exécutez le test

La commande suivante démarrera Snort et affichera des alertes en "mode rapide", comme l'utilisateur snort, sous le groupe snort, en utilisant la configuration /etc/snort/snort.conf, et il écoutera sur l'interface réseau eno1. Vous devrez modifier l’ eno1interface réseau sur laquelle votre système écoute.

$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1

Une fois que vous l'avez exécuté, envoyez une requête ping à cet ordinateur. Vous commencerez à voir une sortie qui ressemble à ceci:

01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0]  192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal

Vous pouvez appuyer sur Ctrl + C pour quitter le programme, et c'est tout. Snort est tout configuré. Vous pouvez maintenant utiliser toutes les règles que vous désirez.

Enfin, je tiens à noter qu'il existe des règles publiques établies par la communauté que vous pouvez télécharger sur le site officiel sous l'onglet "Communauté". Recherchez "Snort", puis juste en dessous il y a un lien communautaire. Téléchargez-le, extrayez-le et recherchez le community.rulesfichier.



Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Kanboard sur Debian 9

Comment installer Kanboard sur Debian 9

Vous utilisez un système différent? Introduction Kanboard est un logiciel de gestion de projet gratuit et open source conçu pour faciliter et visualiser

Comment installer Neos CMS sur Debian 9

Comment installer Neos CMS sur Debian 9

Vous utilisez un système différent? Neos est une plate-forme dapplication de contenu avec un CMS et un cadre dapplication en son cœur. Ce guide vous montrera comment installer

Configurer Cacti sur Debian Jessie

Configurer Cacti sur Debian Jessie

Introduction Cacti est un outil de surveillance et de création de graphiques open source entièrement basé sur les données RRD. Grâce à Cacti, vous pouvez surveiller presque nimporte quel type de périphérique

Configurer Teamspeak 3 sur Debian Wheezy

Configurer Teamspeak 3 sur Debian Wheezy

Cet article vous montrera comment exécuter un serveur Teamspeak 3 sous Debian Wheezy. Avant de commencer, vous devez préparer votre VPS. je

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Comment installer Java 8 et DCEVM sur Debian 8 (Jessie)

Java est un langage de programmation / machine virtuelle indépendant de la plate-forme. Dans ce tutoriel, nous allons installer limplémentation OpenJDK de Java 8 sur une Debian

Utiliser les vues MySQL sur Debian 7

Utiliser les vues MySQL sur Debian 7

Introduction MySQL a une grande fonctionnalité connue sous le nom de vues. Les vues sont des requêtes stockées. Considérez-les comme un alias pour une requête autrement longue. Dans ce guide,

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

Comment installer ModSecurity pour Nginx sur CentOS 7, Debian 8 et Ubuntu 16.04

ModSecurity est un module de pare-feu dapplications Web open source (WAF) qui est idéal pour protéger Apache, Nginx et IIS contre diverses cyberattaques qui ciblent

Comment installer Matomo Analytics sur Debian 9

Comment installer Matomo Analytics sur Debian 9

Vous utilisez un système différent? Matomo (anciennement Piwik) est une plate-forme danalyse open source, une alternative ouverte à Google Analytics. La source Matomo est hébergée o

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Installer Hiawatha Web Server avec PHP-FPM et MySQL sur Debian

Hiawatha est un serveur Web qui a à lesprit la simplicité, la facilité dutilisation et la sécurité. Cest la solution parfaite pour les petits serveurs, le matériel plus ancien ou lembedde

Surveiller létat du serveur Debian avec Munin

Surveiller létat du serveur Debian avec Munin

Munin est un outil de surveillance pour étudier les processus et les ressources de votre machine et présente les informations sous forme de graphiques via une interface Web. Utilisez le suivi

Comment installer le forum NodeBB sur Debian 9

Comment installer le forum NodeBB sur Debian 9

Vous utilisez un système différent? NodeBB est un forum basé sur Node.js. Il utilise des sockets Web pour des interactions instantanées et des notifications en temps réel. Code source NodeBB i

Installer Plesk sur Debian 8 (Jessie)

Installer Plesk sur Debian 8 (Jessie)

Vous utilisez un système différent? Plesk est un panneau de contrôle dhôte Web propriétaire qui permet aux utilisateurs dadministrer leurs sites Web personnels et / ou clients, bases de données

Comment installer Koel sur Debian 9

Comment installer Koel sur Debian 9

Vous utilisez un système différent? Koel est une simple application de streaming audio personnel basée sur le Web écrite en Vue côté client et Laravel côté serveur. Koe

Session collante avec Docker Swarm (CE) sur Debian 9

Session collante avec Docker Swarm (CE) sur Debian 9

Vous utilisez un système différent? Introduction Docker Swarm transforme vos serveurs individuels en un cluster dordinateurs; faciliter la mise à léchelle, la haute disponibilité et

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Comment installer Paste 2.1 sur un VPS Debian 9 LAMP

Vous utilisez un système différent? Paste 2.1 est une application pastebin simple et flexible, gratuite et open source pour stocker du code, du texte et plus encore. Cétait initial

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Forcer Apt-Get à IPv4 ou IPv6 sur Ubuntu ou Debian

Ici, sur Vultr, nous avons la possibilité dactiver IPv6 sur tous les VPS déployables. Mais avec cela, certains programmes et commandes peuvent préférer lun ou lautre avec

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.