Protégez votre réseau contre les intrus et les attaques non sollicitées en installant et en configurant Snort IDS.

Si vous êtes sérieux au sujet de la sécurité du réseau, l'installation d'une solution IPS ou IDS est indispensable pour renforcer le périmètre du réseau et détourner le trafic réseau potentiellement indésirable.

Snort est l'une de ces solutions IPS / IDS open source et gratuites pour un usage personnel. Apprenons comment vous pouvez installer et configurer Snort sur Linux pour défendre votre réseau contre les cyber-attaques.

Qu'est-ce que le reniflement?

Snort est une source ouverte Système de détection et de prévention des intrusions sur le réseau (NIDS/IPS) qui, comme son nom l'indique, aide à sécuriser le périmètre de votre réseau en appliquant des règles et des filtres qui détectent et suppriment les paquets potentiellement malveillants injectés dans votre réseau.

Avec Snort, vous serez en mesure d'effectuer une journalisation avancée du trafic réseau, un reniflage et une analyse de paquets, et de définir mettre en place un système de prévention des intrusions puissant qui défend votre réseau contre les attaques indésirables et potentiellement malveillantes circulation.

instagram viewer

Conditions préalables à l'installation de Snort

Avant d'installer Snort, il y a une configuration préliminaire à faire. Cela inclut principalement la mise à jour et la mise à niveau de votre système et l'installation des dépendances requises par Snort pour fonctionner correctement.

Commencez par mettre à jour et mettre à niveau votre système.

Sur Ubuntu- et Distributions Linux basées sur Debian:

sudo apt update && apt upgrade -y

Sur Arch Linux et ses dérivés :

sudo pacman-Syu

Sur RHEL et Fedora :

mise à niveau sudo dnf

Une fois votre système mis à niveau, continuez à installer les dépendances requises par Snort. Voici les commandes que vous devez exécuter :

Sur Ubuntu et Debian, exécutez :

sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev

Sur Arch Linux, exécutez :

sudo pacman -S gperftools hwloc hyperscan ibdaqlibdnet libmnl libpcap libunwind luajit lz4 openssl pcre pullporkxz zlib cmake pkgconf

Pour RHEL et Fedora, exécutez la commande suivante :

sudo dnf installer gcc gcc-c++ libnetfilter_queue-devel git flex bison zlib zlib-devel pcre pcredevel libdnet tcpdump libnghttp2 wget xz-devel -y

De plus, vous devez également installer manuellement la bibliothèque d'acquisition de données, LibDAQ pour que Snort fonctionne correctement, ainsi que gperftools pour générer les fichiers de construction.

Tout d'abord, téléchargez les fichiers source LibDAQ depuis le site officiel en utilisant la commande wget. Ensuite, extrayez l'archive et déplacez-vous dans le répertoire à l'aide de cd. Dans le répertoire, exécutez le amorcer et configurer les scripts procèdent ensuite à la préparation des fichiers avec make et installez-les avec le faire installer commande.

wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf lib*
bibliothèque cd*
./amorcer
./configure
faire
sudo faire installer

Avec LibDAQ installé, vous devez installer une dernière dépendance: gperftools. Commencez par récupérer les fichiers source du référentiel GitHub. Extrayez les fichiers, déplacez-vous dans le répertoire et exécutez le script de configuration. Enfin, installez le package à l'aide des commandes make et make install.

wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gper* && cd gper
./configure
faire
sudo faire installer

Une fois ces dépendances installées, vous pouvez passer aux étapes suivantes pour installer Snort.

Installer Snort à partir de la source sur Linux

Une fois la configuration préliminaire terminée, vous pouvez maintenant vous concentrer sur l'installation du logiciel réel. Vous allez le construire à partir de la source, alors récupérez d'abord les fichiers de construction requis.

Utilisez la commande wget ou téléchargez les fichiers manuellement depuis la page de téléchargement officielle :

wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz

Télécharger:Renifler

Une fois le téléchargement de l'archive contenant les fichiers de construction terminé, extrayez-la à l'aide de la commande tar :

tar -xzvf renifler*

Déplacez-vous dans le dossier extrait, exécutez le script de configuration, utilisez la commande make pour préparer les fichiers, et enfin installez-les avec faire installer:

cd renifler*
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc
construction de CD
faire
sudo faire installer

Snort va maintenant être installé avec succès sur votre système. Cependant, il ne vous reste plus qu'une étape à franchir. Lorsqu'un nouveau logiciel est installé manuellement, le répertoire d'installation et les bibliothèques requises peuvent ne pas être automatiquement inclus dans le chemin par défaut du système. Vous pourriez donc rencontrer des erreurs lors du démarrage de l'application.

Pour éviter ce problème, vous devez exécuter la commande ldconfig. Il synchronisera le cache de la bibliothèque partagée du système avec les bibliothèques et les binaires nouvellement installés. Exécutez la commande ldconfig à partir d'un shell root ou utilisez le préfixe sudo :

sudo ldconfig

Vous avez maintenant couvert toutes les étapes importantes requises pour installer Snort. Pour vérifier l'installation, exécutez la commande Snort avec le -V flag, et vous devriez voir une sortie renvoyant le nom de la version et d'autres données.

renifler -V

Une fois que vous avez vérifié l'installation de Snort, passez aux étapes suivantes pour le configurer en tant qu'IDS/IPS complet.

Configuration initiale de Snort sous Linux

L'efficacité de Snort dépend presque entièrement de la qualité des ensembles de règles qui lui sont fournis.

Cependant, avant de commencer à configurer des règles, vous devez configurer les cartes réseau pour qu'elles fonctionnent avec Snort et vous devez également tester la façon dont la configuration par défaut est gérée par Snort. Commencez par configurer les cartes réseau.

Définissez l'interface réseau sur le mode promiscuité :

sudo ip link set dev interface_name promisc on

À l'aide d'ethtool, désactivez Generic Receive Offload (GRO) et Large Receive Offload (LRO) pour empêcher la troncature de paquets réseau plus volumineux :

sudo ethtool -K nom_interface gro off lro off

Testez les performances de Snort avec la configuration par défaut :

snort -c /usr/local/etc/snort/snort.lua

Cela devrait renvoyer une sortie réussie signalant que vous avez correctement installé et configuré Snort dans votre système. Vous pouvez désormais modifier ses fonctionnalités et expérimenter différentes configurations pour trouver le meilleur ensemble de règles pour sécuriser votre réseau.

Configurez des règles et appliquez-les avec Snort

Avec les paramètres de base en place, Snort est maintenant prêt à défendre votre périmètre. Comme vous le savez, Snort a besoin d'ensembles de règles pour déterminer la validité du trafic, configurons quelques ensembles de règles gratuits créés par la communauté pour Snort.

Snort lit les ensembles de règles et les configurations à partir de répertoires spécifiques. Alors d'abord, en utilisant les commandes mkdir et touch, créez quelques répertoires importants pour stocker les règles et autres données pertinentes pour Snort :

sudo mkdir -p /usr/local/etc/{listes, so_rules, règles} 
sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist

Une fois ces répertoires créés, vous pouvez télécharger l'ensemble de règles de la communauté depuis le site officiel à l'aide de la commande wget :

wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz

Une fois le jeu de règles téléchargé, extrayez-le et copiez-le sur le /usr/local/etc/rules/ annuaire.

tar -xvzf snort3-com*
cd snort3-com*
cp * /usr/local/etc/rules/

Pour exécuter Snort avec le jeu de règles, exécutez cette commande :

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nom_interface -s 65535 -k aucun

Répartition de la commande :

  • -c définit le chemin d'accès au fichier de configuration par défaut
  • -R définit le chemin d'accès à l'ensemble de règles à appliquer
  • -je définit l'interface
  • -s rejette la limite de snaplen
  • -k ignore les sommes de contrôle

Cela devrait valider la configuration et appliquer tous les ensembles de règles sur Snort. Dès qu'il détecte une perturbation du réseau, il vous alerte avec un message de console.

Si vous souhaitez créer et appliquer votre propre jeu de règles, vous pouvez en savoir plus à partir de la pages de documentation officielles.

Configurer la journalisation avec Snort

Par défaut, Snort ne génère aucun journal. Vous devez spécifier avec le -L drapeau pour démarrer Snort en mode journalisation, définir le type de fichier journal et -l flag pour définir le répertoire de journalisation pour que Snort vide les journaux.

Voici la commande pour démarrer Snort avec la journalisation activée :

sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i nom_interface -s 65535 -k aucun -L type_fichier -l /var/log /renifler

Répartition de la commande :

  • -c définit le chemin d'accès au fichier de configuration par défaut
  • -R définit le chemin d'accès à l'ensemble de règles à appliquer
  • -je définit l'interface
  • -s rejette la limite de snaplen
  • -k ignore les sommes de contrôle
  • -L active le mode journalisation et définit le type de fichier journal
  • -l définit le chemin pour stocker les journaux

Notez que dans l'exemple de commande, le répertoire de journalisation est défini sur /var/log/snort. Bien que cela soit une pratique recommandée, vous êtes libre de stocker vos journaux ailleurs.

Vous pouvez lire les fichiers journaux de Snort à partir du répertoire que vous avez défini ou les transmettre à un logiciel SIEM tel que Splunk pour une analyse plus approfondie.

Ajouter Snort en tant que démon de démarrage système

Bien que vous ayez installé et configuré Snort, vous devez vous assurer qu'il commence à s'exécuter au démarrage et en tant que démon d'arrière-plan. L'ajouter en tant que service système à démarrage automatique garantira que Snort est opérationnel et défend votre système à tout moment lorsqu'il est en ligne.

Voici comment ajouter un démon de démarrage Snort sous Linux :

  1. Commencez par créer un nouveau fichier de service systemd :
    touchez /lib/systemd/system/snort.service
  2. Ouvrez le fichier dans un éditeur de texte de votre choix et remplissez-le avec les données suivantes. Vous pouvez modifier les drapeaux selon vos besoins :
    [Unité]
    Description=Démon Snort
    Après=syslog.target network.target
    [Service]
    Genre=simple
    ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k aucun -l /var /log/snort -D -L pcap -i ens33
    [Installer]
    WantedBy=multi-utilisateur.cible
  3. Enregistrez et quittez le fichier. Ensuite, en utilisant le service et commandes systemctl, activez et démarrez le script :
    sudo systemctl activer snort.service
    sudo snort start

Le démon d'arrière-plan Snort devrait maintenant être opérationnel. Vous pouvez vérifier l'état du script à l'aide de la état systemctl renifler commande. Il devrait renvoyer une sortie positive.

Vous savez maintenant comment protéger votre réseau avec Snort IDS

Bien que la mise en œuvre de l'IDS soit une bonne pratique, il s'agit d'une mesure passive plutôt qu'active. La meilleure façon d'améliorer et de garantir la sécurité de votre réseau est de le tester en permanence et de rechercher les failles à corriger.

Les tests d'intrusion sont un excellent moyen de trouver des vulnérabilités exploitables et de les corriger.