GNU/Linux >> Tutoriels Linux >  >> Linux

Comment bloquer les adresses usurpées locales à l'aide du pare-feu Linux

Les attaquants trouvent des moyens sophistiqués de pénétrer même les réseaux distants qui sont protégés par des systèmes de détection et de prévention des intrusions. Aucun IDS/IPS ne peut arrêter ou minimiser les attaques de pirates déterminés à prendre le contrôle de votre réseau. Une configuration incorrecte permet aux attaquants de contourner toutes les mesures de sécurité réseau mises en œuvre.

Dans cet article, j'expliquerai comment les ingénieurs en sécurité ou les administrateurs système peuvent empêcher ces attaques.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Presque toutes les distributions Linux sont livrées avec un pare-feu intégré pour sécuriser les processus et les applications exécutés sur l'hôte Linux. La plupart des pare-feu sont conçus comme des solutions IDS/IPS, dont le but principal est de détecter et d'empêcher les paquets malveillants d'accéder à un réseau.

Un pare-feu Linux est généralement livré avec deux interfaces :iptables et ipchains. La plupart des gens appellent ces interfaces le "pare-feu iptables" ou le "pare-feu ipchains". Les deux interfaces sont conçues comme des filtres de paquets. Iptables agit comme un pare-feu avec état, prenant des décisions en fonction des paquets précédents. Ipchains ne prend pas de décisions basées sur les paquets précédents; par conséquent, il est conçu comme un pare-feu sans état.

Dans cet article, nous nous concentrerons sur le pare-feu iptables, qui est fourni avec la version 2.4 du noyau et au-delà.

Avec le pare-feu iptables, vous pouvez créer des politiques ou des ensembles ordonnés de règles, qui communiquent au noyau comment il doit traiter des classes spécifiques de paquets. À l'intérieur du noyau se trouve le framework Netfilter. Netfilter est à la fois un framework et le nom du projet pour le pare-feu iptables. En tant que framework, Netfilter permet à iptables d'accrocher des fonctions conçues pour effectuer des opérations sur les paquets. En un mot, iptables s'appuie sur le framework Netfilter pour créer des fonctionnalités de pare-feu telles que le filtrage des données de paquets.

Chaque règle iptables est appliquée à une chaîne dans une table. Une chaîne iptables est un ensemble de règles qui sont comparées à des paquets ayant des caractéristiques similaires, tandis qu'un tableau (comme nat ou mangle) décrit diverses catégories de fonctionnalités. Par exemple, une table mangle modifie les données des paquets. Ainsi, des règles spécialisées qui modifient les données des paquets leur sont appliquées, et des règles de filtrage sont appliquées à la table de filtres car la table de filtres filtre les données des paquets.

Les règles Iptables ont un ensemble de correspondances, ainsi qu'une cible, telle que Drop ou Deny , qui indique à iptables quoi faire avec un paquet conforme à la règle. Ainsi, sans cible et sans ensemble de correspondances, iptables ne peut pas traiter efficacement les paquets. Une cible fait simplement référence à une action spécifique à entreprendre si un paquet correspond à une règle. Les correspondances, en revanche, doivent être satisfaites par chaque paquet pour qu'iptables les traite.

Maintenant que nous comprenons comment fonctionne le pare-feu iptables, voyons comment utiliser le pare-feu iptables pour détecter et rejeter ou supprimer des adresses usurpées.

Activer la vérification de l'adresse source

La première étape que je prends, en tant qu'ingénieur en sécurité, lorsque je traite des adresses usurpées provenant d'hôtes distants est d'activer la vérification de l'adresse source dans le noyau.

La vérification de l'adresse source est une fonctionnalité au niveau du noyau qui supprime les paquets prétendant provenir de votre réseau. Il utilise la méthode de filtre de chemin inverse pour vérifier si la source du paquet reçu est accessible via l'interface dans laquelle il est entré.

Pour activer la vérification de l'adresse source, utilisez le simple script shell ci-dessous au lieu de le faire manuellement :

#!/bin/sh
#author’s name: Michael K Aboagye
#purpose of program: to enable reverse path filtering
#date: 7/02/18
#displays “enabling source address verification” on the screen
echo -n "Enabling source address verification…"
#Overwrites the value 0 to 1 to enable source address verification
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo "completed"

Le script précédent, lorsqu'il est exécuté, affiche le message Enabling source address verification sans ajouter de nouvelle ligne. La valeur par défaut du filtre de chemin inverse est 0,0, ce qui signifie qu'il n'y a pas de validation de source. Ainsi, la deuxième ligne remplace simplement la valeur par défaut 0 par 1. 1 signifie que le noyau validera la source en confirmant le chemin inverse.

Enfin, vous pouvez utiliser la commande suivante pour supprimer ou rejeter les adresses usurpées des hôtes distants en choisissant l'une de ces cibles :DROP ou REJECT . Cependant, je recommande d'utiliser DROP pour des raisons de sécurité.

Remplacez l'espace réservé "adresse IP" par votre propre adresse IP, comme indiqué ci-dessous. De plus, vous devez choisir d'utiliser soit REJECT ou DROP; les deux cibles ne fonctionnent pas ensemble.

   iptables -A INPUT -i internal_interface -s IP_address -j REJECT / DROP  

    iptables -A INPUT -i internal_interface -s 192.168.0.0/16  -j REJECT/ DROP

Cet article fournit uniquement les bases de la prévention des attaques par usurpation d'hôtes distants à l'aide du pare-feu iptables.


Linux
  1. Comment bloquer l'adresse IP sur le serveur Linux

  2. Comment bloquer l'adresse IP sur le serveur Linux

  3. Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

  4. Comment supprimer un utilisateur sous Linux à l'aide de la ligne de commande

  5. Comment autoriser ou bloquer le port et l'adresse IP à l'aide de Firewalld, de tables IP et d'UFW sous Linux ?

Comment améliorer la sécurité des systèmes Linux à l'aide de Firejail

Comment bloquer un port à l'aide d'un pare-feu sous Linux

Comment sécuriser un pare-feu Linux avec les règles IPTables

Comment configurer le pare-feu UFW sous Linux

Comment chiffrer les périphériques de bloc à l'aide de LUKS sous Linux

Comment configurer un pare-feu sur votre serveur Linux