Comment utiliser le système de détection d'intrusion Snort sur Linux

0
14
Shutterstock/RussieseO

Exécuter Snort sur Linux et protégez votre réseau avec une analyse du trafic en temps réel et une détection des menaces. La sécurité est primordiale et Snort est de classe mondiale. Ce cochon pourrait bien sauver votre bacon.

Qu'est-ce que Snort ?

Snort est l'un des systèmes de détection d'intrusion réseau (NIDS) les plus connus et les plus utilisés. Il a été appelé l'un des projets open source les plus importants de tous les temps. Développé à l'origine par Sourcefire, il est maintenu par Talos Security Intelligence and Research Group de Cisco depuis l'acquisition de Sourcefire par Cisco en 2013.

Snort analyse le trafic réseau en temps réel et signale toute activité suspecte. En particulier, il recherche tout ce qui pourrait indiquer des tentatives d'accès non autorisées et d'autres attaques sur le réseau. Un ensemble complet de règles définit ce qui compte comme “suspect” et ce que Snort doit faire si une règle est déclenchée.

De la même manière que les packages antivirus et anti-malware s'appuient sur des définitions de signatures de virus à jour pour pouvoir vous identifier et vous protéger des dernières menaces, les règles de Snort sont mises à jour et rééditées fréquemment afin que Snort fonctionne toujours à son efficacité optimale.

Les règles de Snort

Il existe trois ensembles de règles :

  • Règles de la communauté :Ce sont des ensembles de règles disponibles gratuitement, créés par la communauté d'utilisateurs de Snort.
  • Règles enregistrées : Ces ensembles de règles sont fournis par Talos. Ils sont également disponibles gratuitement, mais vous devez vous inscrire pour les obtenir. L'inscription est gratuite et ne prend qu'un instant. Vous recevrez un oinkcode personnel que vous devrez inclure dans la demande de téléchargement.
  • Règles d'abonnement :Ce sont les mêmes règles que les règles enregistrées. Cependant, les abonnés reçoivent les règles environ un mois avant leur publication sous forme d'ensembles de règles gratuits pour les utilisateurs enregistrés. Au moment de la rédaction, les abonnements de 12 mois commencent à 29 USD pour un usage personnel et à 399 USD pour un usage professionnel.

Installation de Snort

À une certaine époque, l'installation de Snort était un long processus manuel. Ce n'était pas difficile, mais il y avait beaucoup d'étapes et il était facile d'en manquer une. Les principales distributions Linux ont simplifié les choses en rendant Snort disponible à partir de leurs référentiels de logiciels.

Publicité

Les versions des référentiels sont parfois en retard par rapport à la dernière version disponible sur le site Web de Snort. Si vous le souhaitez, vous pouvez télécharger et installer à partir de la source. Tant que vous avez les dernières règles, peu importe si votre Snort n'est pas le plus récent et le meilleur, tant qu'il n'est pas ancien.

Pour rechercher cet article, nous avons installé Snort sur Ubuntu 20.04, Fedora 32 et Manjaro 20.0.1.

Pour installer Snort sur Ubuntu, utilisez cette commande :

sudo apt-get install snort

Comme le l'installation se poursuit, quelques questions vous seront posées. Vous pouvez trouver les réponses à ces questions en utilisant la commande ip addr avant de commencer l'installation, ou dans une fenêtre de terminal distincte.

ip  addr

Notez le nom de votre interface réseau. Sur cet ordinateur de recherche, il s'agit de enp0s3.

Vérifiez également votre adresse IP. Cet ordinateur a une adresse IP de 192.168.1.24. Le “/24” est la notation de routage inter-domaine sans classe (CIDR). Cela nous indique la plage d'adresses réseau. Cela signifie que ce réseau a un masque de sous-réseau de 255.255.255.0, qui a trois ensembles de tête de huit bits (et 3 x 8 = 24). Vous n'avez pas besoin de trop vous en soucier, enregistrez simplement quelle que soit votre adresse IP, y compris la notation CIDR. Vous devez fournir ceci comme réponse à l'une des questions, avec le dernier octet de l'adresse IP mis à zéro. Dans notre exemple, il s'agit de 192.168.1.0/24.

Appuyez sur “Tab” pour mettre en surbrillance le “OK” et appuyez sur “Entrée.”

Publicité

Tapez le nom de l'interface réseau et appuyez sur “Tab” pour mettre en surbrillance le “OK” et appuyez sur “Enter.”

Tapez la plage d'adresses réseau au format CIDR, appuyez sur “Tab” pour mettre en surbrillance le “OK” et appuyez sur “Entrée.”

Pour installer Snort sur Fedora, vous devez utiliser deux commandes :

rpm -Uvh https://forensics.cert.org/cert-forensics-tools-release-32.rpm

sudo dnf install snort

Sur Manjaro, la commande dont nous avons besoin n'est pas l'habituel pacman, c'est pamac. Et nous n'avons pas besoin d'utiliser sudo :

pamac install snort

Lorsqu'on vous demande si vous voulez construire Snort à partir de l'AUR (Arch User Repository), appuyez sur “Y” et appuyez sur “Entrée” Nous ne voulons pas modifier les fichiers de construction, alors répondez à cette question en appuyant sur “N” et appuyez sur “Entrée.” Appuyez sur “O” et appuyez sur “Entrée” lorsqu'on vous demande si la transaction doit être appliquée.

Vous serez invité à saisir votre mot de passe.

Les versions de Snort qui ont été installées étaient :

  • Ubuntu : 2.9.7.0
  • Fedora : 2.9.16.1
  • Manjaro  : 2.9.16.1

Vous pouvez vérifier votre version en utilisant :

snort –version

Configuration de Snort

< p>Il y a quelques étapes à compléter avant de pouvoir exécuter Snort. Nous devons modifier le fichier “snort.conf” fichier.

sudo gedit /etc/snort/snort.conf

Publicité

Recherchez la ligne indiquant “ipvar HOME_NET any” et modifiez-le pour remplacer le “any” avec la plage d'adresses de notation CIDR de votre réseau.

Enregistrez vos modifications et fermez le fichier.

Mise à jour des règles de Snort

Pour vous assurer que votre copie de Snort offre le niveau de protection maximal, mettez à jour les règles vers le version la plus récente. Cela garantit que Snort a accès au dernier ensemble de définitions d'attaques et d'actions de protection.

Si vous vous êtes enregistré et avez obtenu votre propre oinkcode, vous pouvez utiliser la commande suivante pour télécharger le jeu de règles pour les utilisateurs enregistrés. La page de téléchargement de Snort répertorie les ensembles de règles disponibles, y compris l'ensemble de règles de la communauté pour lequel vous n'avez pas besoin de vous inscrire.

Téléchargez l'ensemble de règles pour la version de Snort que vous avez installée. Nous téléchargeons la version 2.9.8.3, qui est la plus proche de la version 2.9.7.0 de Snort qui se trouvait dans le référentiel Ubuntu.

wget https://www.snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=<votre code oink va ici> -O snortrules-snapshot-2983.tar.gz

Une fois le téléchargement terminé, utilisez cette commande pour extraire les règles et installez-les dans le fichier “/etc/snort/rules” répertoire.

sudo tar -xvzf snortrules-snapshot-2983.tar.gc -C /etc/snort/rules

Mode promiscuité

Les cartes d'interface réseau ignorent généralement le trafic qui n'est pas destiné à leur adresse IP. Nous voulons que Snort détecte le trafic réseau suspect adressé à n'importe quel appareil sur le réseau, pas seulement le trafic réseau qui se trouve être envoyé à l'ordinateur sur lequel Snort est installé.

Publicité

Pour que l'interface réseau de l'ordinateur Snort écoute tout le trafic réseau, nous devons le mettre en mode promiscuité. La commande suivante entraînera le fonctionnement de l'interface réseau enp0s3 en mode promiscuité. Remplacez enp0s3 par le nom de l'interface réseau que vous utilisez sur votre ordinateur.

sudo ip link set enp0s3 promisc on

Si vous exécutez Snort dans une machine virtuelle, pensez également à ajuster les paramètres de votre hyperviseur pour la carte réseau virtuelle utilisée par votre machine virtuelle. Par exemple, dans VirtualBox, vous devez accéder à Paramètres > Réseau > Avancé et modifiez le “Mode promiscuité” menu déroulant à “Tout autoriser.”

CONNEXES : Comment utiliser la commande ip sur Linux

Exécuter Snort

Vous pouvez maintenant démarrer Snort. Le format de la commande est :

sudo snort -d -l /var/log/snort/-h 192.168.1.0/24 -A console -c /etc/snort/snort.conf

Remplacez votre propre plage d'adresses IP réseau à la place de 192.168.1.0/24.

Les options de ligne de commande utilisées dans cette commande sont :

  • -d : filtre les paquets de la couche application.
  • -l /var/log/snort/ : définit le répertoire de journalisation.
  • -h 192.168.1.0/24 :Cela ne définit pas le réseau domestique, qui a été défini dans le fichier “snort.conf” déposer. Avec cette valeur définie sur la même valeur que le réseau domestique, les journaux sont structurés de sorte que le contenu des ordinateurs distants suspects soit enregistré dans des répertoires nommés d'après chaque ordinateur distant.
  • -Une console : Envoie des alertes à la fenêtre de la console.
  • -c /etc/snort/snort.conf : Indique quel fichier de configuration Snort utiliser.

Snort fait défiler de nombreuses sorties dans la fenêtre du terminal, puis entre en mode surveillance et analyse. À moins qu'il ne détecte une activité suspecte, vous ne verrez plus de sortie d'écran.

À partir d'un autre ordinateur, nous avons commencé à générer une activité malveillante qui visait directement notre ordinateur de test, qui exécutait Snort.

Snort identifie le trafic réseau comme potentiellement malveillant, envoie des alertes à la fenêtre de la console et écrit des entrées dans les journaux.

Publicité

Attaques classées comme “Fuites d'informations” les attaques indiquent qu'une tentative a été faite pour interroger votre ordinateur à la recherche d'informations susceptibles d'aider un attaquant. Cela indique probablement que quelqu'un effectue une reconnaissance sur votre système.

Attaques classées comme “Déni de service” les attaques indiquent une tentative d'inonder votre ordinateur avec un faux trafic réseau. L'attaque tente de submerger votre ordinateur au point qu'il ne peut plus continuer à fournir ses services.

Pour vérifier que le mode promiscuité fonctionne correctement et que nous protégeons l'intégralité de la plage d'adresses réseau, nous allons lancer du trafic malveillant sur un autre ordinateur et voir si Snort le détecte.

< img src="/wp-content/uploads/b9c30cc30401390a98f62502e1492eea.gif" />

L'activité est détectée et signalée, et nous pouvons voir que cette attaque était dirigée contre un autre ordinateur avec une adresse IP de 192.168 .1.26. Snort surveille toute la plage d'adresses de ce réseau.

Prochaines étapes

Pour maintenir sa vigilance, Snort a besoin de jusqu'à- règles de dates. Vous pouvez écrire un petit script et y mettre les commandes pour télécharger et installer les règles, et définir une tâche cron pour automatiser le processus en appelant le script périodiquement. Le script pullpork est un script prêt à l'emploi conçu pour faire exactement cela si vous n'avez pas envie d'écrire le vôtre.

Snort n'a pas de front-end ou d'interface utilisateur graphique. Des projets tiers en ont créé plusieurs et vous voudrez peut-être enquêter sur certains d'entre eux, tels que Snorby et Squil.