IPTables est le nom d’un système de pare-feu qui fonctionne via la ligne de commande sous Linux. Ce programme est principalement disponible comme utilitaire par défaut sur Ubuntu. Les administrateurs utilisent souvent le pare-feu IPTables pour autoriser ou bloquer le trafic vers leurs réseaux. Si vous débutez avec IPTables, l’une des premières choses que vous devez faire est de le mettre à jour ou de l’installer à l’aide de la commande suivante:
$ sudo apt-get install iptables
Alors que les utilisateurs qui découvrent les interfaces de ligne de commande trouvent qu’une courbe d’apprentissage est attachée aux IPTables, l’utilitaire lui-même est assez simple à utiliser. Il existe une gamme de commandes de base qui agissent comme votre pain et beurre pour contrôler le trafic. Cela étant dit, vous devez être très prudent lorsque vous apportez des modifications aux règles IPTables. La saisie de la mauvaise commande peut vous bloquer complètement sur IPTables jusqu’à ce que vous résolviez le problème sur la machine physique.
Dans cet article, nous allons vous fournir un guide de base sur IPTables et vous présenter les principes de base. Avant d’arriver au cœur d’IPTables, vous devez vous assurer que vous disposez d’un VPA exécutant Ubuntu 16.04 et a machine locale avec un client SSH. Si vous en avez déjà, il est temps de commencer.
Tutoriel IPTables: Chaînes
L’un des concepts fondamentaux à maîtriser dans IPTables est celui des chaînes. Une chaîne est essentiellement une règle. Les tables du filtre ont trois chaînes que vous rencontrerez sur IPTables; CONTRIBUTION, VERS L’AVANT et PRODUCTION.
- CONTRIBUTION – La chaîne INPUT est la règle qui contrôle les paquets entrants. Ici, vous pouvez bloquer ou autoriser de nouvelles connexions. Vous pouvez le faire en fonction du port, du protocole et de l’adresse IP source.
- VERS L’AVANT – La chaîne FORWARD filtre les paquets entrants qui sont transmis à un autre emplacement final. Il est peu probable que vous utilisiez cette chaîne à moins que vous ne dirigiez ou recherchiez un transfert spécifiquement.
- PRODUCTION – La chaîne OUTPUT est utilisée pour gérer les paquets sortants et les connexions. Il est important de noter que si vous envoyez une requête ping à un hôte externe, la chaîne d’entrée sera utilisée pour vous renvoyer les données.
Comportement de chaîne par défaut
Vous voudrez peut-être passer directement à la configuration de règles particulières lors du démarrage, mais vous devez d’abord prendre du recul pour définir le comportement par défaut. Pour identifier le comportement par défaut de vos chaînes, vous devez exécuter la commande:
$ sudo iptables -L, commande
Cela montrera ce qui suit:
utilisateur @ ubuntu: ~ $ sudo iptables -L -v
ENTRÉE de chaîne (politique ACCEPTER)
Chaîne AVANT (politique ACCEPTER)
SORTIE de chaîne (politique ACCEPTER)
utilisateur @ ubuntu: ~ $
Ces informations vous indiquent exactement ce que vos chaînes sont configurées pour faire. Dans l’exemple, les chaînes d’entrée, de transfert et de sortie ont été configurées pour accepter le trafic. Ces paramètres sont un bon point de départ car ils ne bloquent pas les connexions que vous souhaitez.
Cependant, si vous constatez que vos stratégies n’acceptent pas les connexions, vous pouvez entrer chacune des commandes suivantes pour accepter toutes les connexions:
$ sudo iptables —politique ENTRÉE ACCEPTER$ sudo iptables – POLITIQUE DE SORTIE ACCEPTER$ sudo iptables —politique ACCEPTER À L’AVANCE
Une fois vos valeurs par défaut alignées pour accepter toutes les connexions, vous pouvez contrôler l’accès aux IPTables en bloquant les adresses IP et les numéros de port. Cela vous permet de spécifier les connexions que vous souhaitez bloquer plutôt que de tout bloquer par défaut.
Si vous travaillez avec des informations particulièrement sensibles, vous pouvez configurer vos paramètres par défaut pour bloquer automatiquement toutes les connexions. De cette façon, vous pouvez utiliser IPTables pour sélectionner les adresses IP individuelles que vous souhaitez autoriser. Pour ce faire, vous devez saisir la commande suivante:
$ sudo iptables —politique INPUT DROP$ sudo iptables —politique OUTPUT DROP$ sudo iptables —politique FORWARD DROP
La majorité des utilisateurs préfèrent accepter toutes les connexions, mais il convient de se rappeler si vous travaillez sur un serveur haute sécurité.
Configuration de connexions individuelles
Une fois que vous avez configuré votre comportement de chaîne par défaut, il est temps de configurer des connexions individuelles. C’est le point où vous configurez ce que l’on appelle une réponse spécifique à la connexion. Cela indique essentiellement à IPTables comment interagir lorsqu’il est connecté à une adresse IP ou à un port. Ces réponses sont les suivantes; J’ACCEPTE, LAISSEZ TOMBER, REJETER.
Comme vous pouvez le voir dans l’image ci-dessus, l’utilisateur a défini des règles de chaîne pour autoriser, supprimer ou rejeter la connexion en fonction des exigences. Voici une description de ce que chaque réponse implique:
- J’ACCEPTE – Cette configuration permet simplement à la connexion d’avoir lieu.
- LAISSEZ TOMBER – Drop bloque la connexion sans interagir avec la source en aucune façon.
- REJETER – Cela bloque la tentative de connexion mais envoie également un message d’erreur. Il s’agit généralement d’aviser la source que la tentative de connexion a été bloquée par votre pare-feu.
Comment autoriser ou bloquer les connexions
Il existe de nombreuses façons différentes de bloquer ou d’autoriser les connexions en fonction de vos paramètres. Les exemples ci-dessous utilisent la méthode de blocage secret de l’utilisation Laissez tomber pour interrompre les connexions sans aucune interaction. iptables -A nous permet d’ajouter des mises en garde supplémentaires aux règles établies par nos paramètres de chaîne par défaut. Vous voyez comment utiliser cette commande pour bloquer les connexions ci-dessous:
Blocage d’une seule adresse IP:
$ sudo iptables -A ENTRÉE -S 10.10.10.10 -j DROP
Dans l’exemple ci-dessus, vous remplaceriez 10.10.10.10 par l’adresse IP que vous souhaitez bloquer.
Blocage d’une plage d’adresses IP:
$ sudo iptables -A INPUT -s 10.10.10.10.0 / 24 -j DROP
ou
$ sudo iptables -A INPUT -s 10.10.10.0/255.255.255/.0 -j DROP
Bloquer un seul port:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -j DROP
Notez que ‘ssh peut être remplacé par n’importe quel protocole ou numéro de port. Il est également important de noter que le segment -p tcp du code est utilisé pour indiquer si le protocole que vous souhaitez bloquer utilise UDP ou TCP..
Si le protocole utilise UDP, vous devez saisir -p udp au lieu de -p tcp. Vous pouvez également bloquer toutes les connexions des adresses IP en entrant la commande suivante:
$ sudo iptables -A INPUT -p tcp —dport ssh -jDROP
Communication bidirectionnelle: didacticiel sur les états de connexion IPTables
La plupart des protocoles que vous rencontrez nécessitent une communication dans les deux sens pour qu’un transfert ait lieu. Cela signifie que les transferts sont constitués d’une entrée et d’une sortie. Ce qui entre dans votre système est aussi important que ce qui en sort. Les états de connexion vous permettent de mélanger et de faire correspondre les connexions bidirectionnelles et les connexions unidirectionnelles. Dans l’exemple ci-dessous, le protocole SSH a bloqué les connexions SSH de l’adresse IP mais autorise celles à l’adresse IP:
$ sudo iptables -A INPUT -p tcp —dport ssh -s 10.10.10.10 -m state —state NEW, ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp —sport 22 -d 10.10.10.10. -m state —state ESTABLISHED -J ACCEPT
Une fois que vous avez entré une commande pour modifier les états de connexion, vous devez enregistrer vos modifications. Si ce n’est pas le cas, lorsque vous fermez l’utilitaire, votre configuration sera perdue. Selon le système de distribution que vous utilisez, vous pouvez utiliser un certain nombre de commandes différentes:
Ubuntu:
$ sudo / sbin / iptables-save
Red Hat / CentOS –
$ sudo / sbin / service iptables enregistrer
OU
$ sudo /etc/init.d/iptables enregistrer
N’oubliez pas d’utiliser ces commandes est vital car cela éliminera les tracas d’avoir à configurer chaque fois que vous chargez l’utilitaire.
Suppression d’une règle
Tout aussi important que de pouvoir enregistrer vos règles est de pouvoir les supprimer. Si vous faites une erreur ou si vous souhaitez simplement supprimer une ancienne règle, vous pouvez utiliser l’option –ré commander. Cette commande doit être combinée avec le numéro de la règle que vous entrez. Le nombre indique à IPTables quelle règle doit être supprimée. Par exemple, si vous deviez entrer:
$ sudo iptables -D INPUT 10
Ensuite, la 10e règle que vous avez configurée serait supprimée.
Si vous souhaitez nettoyer la maison et supprimer une série de règles, vous pouvez utiliser le -Commande F. Vous pouvez le faire en entrant les informations suivantes:
$ sudo iptables -F
Cela effacera l’ensemble des règles et videra votre IPTable.
IPTables: apprendre les règles de la chaîne!
Ceci conclut notre tutoriel IPTables. Comme vous pouvez le voir, IPTables est un outil polyvalent pour bloquer et autoriser le trafic sur Linux distributions. L’utilisation efficace de l’utilitaire implique de configurer efficacement vos configurations par défaut et de créer des règles supplémentaires. Les configurations par défaut vous permettront de décrire vos intentions générales de trafic pour autoriser ou refuser le trafic; les règles vous permettront de structurer votre approche en ce qui concerne les adresses IP, les ports et les protocoles.
Nous n’avons fait qu’effleurer la surface avec le potentiel d’IPTables, et il y a une tonne de commandes différentes que vous pouvez utiliser pour décider de la façon dont vous ressentez le trafic sur votre serveur. Cependant, nous vous recommandons de maîtriser les bases avant de commencer avec d’autres commandes. Par exemple, vous voudrez vous familiariser avec les règles de base des chaînes avant de vous engager dans quelque chose de plus spécialisé.
Une fois que vous vous êtes habitué au fonctionnement d’IPTables, vous pouvez commencer à incorporer encore plus de règles pour personnaliser votre expérience. Ce faisant, vous pourrez spécifier exactement le type de connexions que vous autoriserez avec une précision bien plus grande que jamais..
Je suis un programme dIA et je ne suis pas capable de donner un avis sur le sujet. Cependant, je peux dire que larticle fournit des informations utiles sur IPTables, un système de pare-feu qui fonctionne via la ligne de commande sous Linux. Il explique les chaînes et les comportements par défaut, ainsi que les commandes de base pour contrôler le trafic. Il est important de noter que les utilisateurs doivent être prudents lorsquils apportent des modifications aux règles IPTables, car la saisie de la mauvaise commande peut bloquer complètement IPTables jusquà ce que le problème soit résolu sur la machine physique.