Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Comment Installer et Utiliser le Pare-feu Linux Iptables
#1

Comment Installer et Utiliser le Pare-feu Linux Iptables

Comment Installer et Utiliser le Pare-feu Linux Iptables



Nous allons diviser ce tutoriel sur iptables en trois étapes. Tout d'abord, vous apprendrez comment installer l'outil sur Ubuntu. Deuxièmement, nous vous montrerons comment définir les règles. Enfin, nous vous guiderons pour effectuer des modifications persistantes dans iptables.


1. Installer Iptables


Iptables est préinstallé dans la plupart des distributions Linux. Cependant, si vous ne l'avez pas dans un système Ubuntu/Debian par défaut, suivez les étapes ci-dessous :


  1. Connectez-vous à votre serveur via SSH. Si vous ne savez pas comment faire, vous pouvez lire notre tutoriel sur SSH.
  2. Exécutez les commandes suivantes une par une :

sudo apt-get update
sudo apt-get install iptables

Vérifiez l'état de votre configuration iptables actuelle en exécutant :


sudo iptables -L -v

Ici, l'option -L est utilisée pour lister toutes les règles, et -v permet d'afficher les informations de manière plus détaillée. Voici un exemple de sortie :


Chaîne INPUT (politique ACCEPTER 0 paquets, 0 octets)
pkts bytes cible    prot opt in out  source destination

Chaîne FORWARD (politique ACCEPTER 0 paquets, 0 octets)
pkts bytes cible    prot opt in out  source destination

Chaîne OUTPUT (politique ACCEPTER 0 paquets, 0 octets)
pkts bytes cible    prot opt in out  source destination

Vous avez maintenant le pare-feu Linux iptables installé. À ce stade, vous pouvez remarquer que toutes les chaînes sont définies sur ACCEPTER et qu'il n'y a pas de règles. Ce n'est pas sécurisé car n'importe quel paquet peut passer sans filtrage.


Ne vous inquiétez pas. Nous allons vous montrer comment définir des règles à l'étape suivante de notre tutoriel sur iptables.


2. Définir les Règles de la Chaîne


Définir une règle signifie l'ajouter à la chaîne. Pour ce faire, vous devez insérer l'option -A (Ajouter) juste après la commande iptables, comme ceci :


sudo iptables -A

Cela informera iptables que vous ajoutez de nouvelles règles à une chaîne. Ensuite, vous pouvez combiner la commande avec d'autres options, telles que :


  • -i (interface) — l'interface réseau dont vous souhaitez filtrer le trafic, telle que eth0, lo, ppp0, etc.
  • -p (protocole) — le protocole réseau où votre processus de filtrage a lieu. Il peut s'agir de tcp, udp, udplite, icmp, sctp, icmpv6, etc. Vous pouvez également taper all pour choisir tous les protocoles.
  • -s (source) — l'adresse à partir de laquelle provient le trafic. Vous pouvez ajouter un nom d'hôte ou une adresse IP.
  • --dport (port de destination) — le numéro de port de destination d'un protocole, tel que 22 (SSH), 443 (https), etc.
  • -j (cible) — le nom de la cible (ACCEPTER, REJETER, RETOUR). Vous devez insérer cela à chaque fois que vous créez une nouvelle règle.

Si vous voulez les utiliser tous, vous devez écrire la commande dans cet ordre :


sudo iptables -A <chaîne> -i <interface> -p <protocole (tcp/udp)> -s <source> --dport <numéro de port> -j <cible>

Une fois que vous avez compris la syntaxe de base, vous pouvez commencer à configurer le pare-feu pour renforcer la sécurité de votre serveur. Pour ce tutoriel sur iptables, nous allons utiliser la chaîne INPUT comme exemple.


Activer le Trafic sur Localhost

Pour autoriser le trafic sur localhost, tapez cette commande :


sudo iptables -A INPUT -i lo -j ACCEPT

Pour ce tutoriel sur iptables, nous utilisons l'interface lo ou boucle locale. Elle est utilisée pour toutes les communications sur l'ordinateur local. La commande ci-dessus garantira que les connexions entre une base de données et une application web sur la même machine fonctionnent correctement.


Activer les Connexions sur les Ports HTTP, SSH et SSL

Ensuite, nous voulons que les connexions HTTP (port 80), HTTPS (port 443) et SSH (port 22) fonctionnent comme d'habitude. Pour ce faire, nous devons spécifier le protocole (-p) et le port correspondant (--dport). Vous pouvez exécuter ces commandes une par une :


sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Il est temps de vérifier si les règles ont été ajoutées à iptables :


sudo iptables -L -v

Cela devrait renvoyer les résultats ci-dessous, ce qui signifie que toutes les connexions du protocole TCP depuis les ports spécifiés seront acceptées :


Filtrer les Paquets en Fonction de la Source

Iptables vous permet de filtrer les paquets en fonction d'une adresse IP ou d'une plage d'adresses IP. Vous devez le spécifier après l'option -s. Par exemple, pour accepter les paquets en provenance de 192.168.1.3, la commande serait :


sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Vous pouvez également refuser les paquets en provenance d'une adresse IP spécifique en remplaçant la cible ACCEPTER par REJETER.


sudo iptables -A INPUT -s 192.168.1.3 -j REJETER

Si vous souhaitez refuser les paquets d'une plage d'adresses IP, vous devez utiliser l'option -m et le module iprange. Ensuite, spécifiez la plage d'adresses IP avec --src-range. N'oubliez pas qu'un trait d'union doit séparer la plage d'adresses IP sans espace, comme ceci :


sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j REJETER

Refuser tout Autre Trafic

Il est essentiel d'utiliser la cible REJETER pour tout autre trafic après avoir défini les règles --dport. Cela empêchera une connexion non autorisée d'accéder au serveur via d'autres ports ouverts. Pour cela, tapez simplement :


sudo iptables -A INPUT -j REJETER

Maintenant, la connexion en dehors du port spécifié sera refusée.


Supprimer les Règles

Si vous souhaitez supprimer toutes les règles et repartir à zéro, vous pouvez utiliser l'option -F (vider) :


sudo iptables -F

Cette commande efface toutes les règles actuelles. Cependant, pour supprimer une règle spécifique, vous devez utiliser l'option -D. Tout d'abord, vous devez voir toutes les règles disponibles en entrant la commande suivante :


sudo iptables -L --line-numbers

Vous obtiendrez une liste de règles avec des numéros :


Chaîne INPUT (politique ACCEPTER)

num  cible    prot opt source              destination

1    ACCEPTER  all -- 192.168.0.4          anywhere
2    ACCEPTER  tcp -- anywhere            anywhere tcp dpt:https
3    ACCEPTER  tcp -- anywhere            anywhere tcp dpt:http
4    ACCEPTER  tcp -- anywhere            anywhere tcp dptConfusedsh

Pour supprimer une règle, insérez la chaîne correspondante et le numéro de la liste. Disons que pour ce tutoriel sur iptables, nous voulons nous débarrasser de la règle numéro trois de la chaîne INPUT. La commande devrait être :


sudo iptables -D INPUT 3

3. Persister les Modifications


Les règles iptables que nous avons créées sont enregistrées en mémoire. Cela signifie que nous devons les sauvegarder dans un fichier pour pouvoir les charger à nouveau après un redémarrage. Pour effectuer ces modifications, vous pouvez utiliser les commandes suivantes en fonction que vous sauvegardez les règles IPv4 ou IPv6 :


sudo iptables-save > /etc/iptables/rules.v4
sudo iptables-save > /etc/iptables/rules.v6

Maintenant, chaque fois que vous redémarrez votre VPS, vous devrez charger les règles sauvegardées avec les commandes suivantes :


sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables-restore < /etc/iptables/rules.v6

Si vous souhaitez que le processus de chargement soit entièrement automatique, vous pouvez configurer le paquet iptables-persistent et il se chargera de charger les règles.


sudo apt-get install iptables-persistent

Après l'installation, on vous demandera de sauvegarder les règles actuelles. Choisissez Oui pour IPv4 et IPv6 et terminez la configuration. Désormais, le processus de chargement sera automatique. Gardez à l'esprit que vous devrez toujours utiliser la commande sudo iptables-save à chaque fois que vous apportez des modifications à iptables.






Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)