Utiliser Iptables sur Linux
Ce guide tentera d’expliquer comment utiliser iptables sur Linux dans un langage facile à comprendre..
Contenu[cacher]
|
Vue d'ensemble
Iptables est un pare-feu basé sur des règles, qui traitera chaque règle dans l’ordre jusqu’à ce qu’elle trouve celle qui correspond..
Todo: inclure exemple ici
Usage
L’utilitaire iptables est généralement préinstallé sur votre distribution Linux, mais n’exécute aucune règle. Vous trouverez l'utilitaire ici sur la plupart des distributions:
/ sbin / iptables
Blocage d'une adresse IP unique
Vous pouvez bloquer une adresse IP en utilisant le paramètre -s, en remplaçant 10.10.10.10 par l'adresse que vous tentez de bloquer. Vous remarquerez dans cet exemple que nous avons utilisé le paramètre -I (ou -insert fonctionne également) au lieu de l'ajout, car nous voulons nous assurer que cette règle s'affiche en premier, avant toute règle d'autorisation..
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Autoriser tout le trafic à partir d'une adresse IP
Vous pouvez également autoriser tout le trafic provenant d'une adresse IP en utilisant la même commande que ci-dessus, mais en remplaçant DROP par ACCEPT. Vous devez vous assurer que cette règle apparaît en premier, avant toute règle DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Bloquer un port de toutes les adresses
Vous pouvez bloquer entièrement l'accès à un port sur le réseau en utilisant le commutateur -dport et en ajoutant le port du service que vous souhaitez bloquer. Dans cet exemple, nous allons bloquer le port mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
Autoriser un seul port à partir d'une seule IP
Vous pouvez ajouter la commande -s à la commande -dport pour limiter davantage la règle à un port spécifique:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Voir les règles actuelles
Vous pouvez afficher les règles actuelles à l'aide de la commande suivante:
/ sbin / iptables -L
Cela devrait vous donner un résultat similaire à celui-ci:
Chaîne INPUT (politique ACCEPT) cible de la source de protection opt ACCEPTER tous - 192.168.1.1/24 n'importe où ACCEPTER tous - 10.10.10.0/24 n'importe où DROP tcp - n'importe où n'importe où dcp: ssh DROP tcp - n'importe où n'importe où tcp dpt: mysql
La sortie réelle sera un peu plus longue, bien sûr.
Effacement des règles actuelles
Vous pouvez effacer toutes les règles actuelles en utilisant le paramètre flush. Ceci est très utile si vous devez mettre les règles dans le bon ordre ou lorsque vous testez.
/ sbin / iptables --flush
Distribution spécifique
Bien que la plupart des distributions Linux incluent une forme de iptables, certaines d’entre elles incluent également des wrappers qui facilitent un peu la gestion. Le plus souvent, ces «addons» prennent la forme de scripts d'initialisation qui prennent en charge l'initialisation d'iptables au démarrage, bien que certaines distributions incluent également des applications d'encapsulation complètes qui tentent de simplifier les cas courants..
Gentoo
le iptables Le script init sur Gentoo est capable de gérer de nombreux scénarios courants. Pour commencer, il vous permet de configurer iptables pour qu'il se charge au démarrage (généralement ce que vous voulez):
rc-update ajoute iptables par défaut
En utilisant le script init, il est possible de charger et de supprimer le pare-feu avec une commande facile à mémoriser:
/etc/init.d/iptables start /etc/init.d/iptables stop
Le script init gère les détails de la persistance de la configuration actuelle de votre pare-feu au démarrage / à l'arrêt. Ainsi, votre pare-feu est toujours dans l'état où vous l'avez laissé. Si vous devez enregistrer manuellement une nouvelle règle, le script init peut également le gérer:
/etc/init.d/iptables save
En outre, vous pouvez restaurer votre pare-feu à l'état enregistré précédent (dans le cas où vous expérimentiez des règles et souhaitez maintenant restaurer la configuration de travail précédente):
/etc/init.d/iptables reload
Enfin, le script init peut mettre iptables dans un mode «panique», dans lequel tout le trafic entrant et sortant est bloqué. Je ne sais pas pourquoi ce mode est utile, mais tous les pare-feu Linux semblent l'avoir..
/etc/init.d/iptables panique
Attention: Ne lancez pas le mode panique si vous êtes connecté à votre serveur via SSH; vous volonté être déconnecté! Le seul moment où vous devriez mettre iptables en mode panique est pendant que vous êtes physiquement devant l'ordinateur.