GNU/Linux >> Tutoriels Linux >  >> Linux

Gestion de base du pare-feu iptables

Cet article fournit des informations de base sur l'utilisation de votre iptables pare-feu logiciel. Ce pare-feu est la solution de pare-feu par défaut pour les distributions basées sur Red Hat® Enterprise Linux® (RHEL®) 6 et CentOS® 6.

Remarque :Les étapes décrites dans cet article ne sont pas destinées à être utilisées sur les serveurs RackConnect®. Si vous devez apporter des modifications à votre pare-feu sur un serveur RackConnect, vous devez utiliser votre gestionnaire de pare-feu dédié.

Prérequis

Vous devez avoir les prérequis suivants :

  • Compréhension de base de SecureShell® (SSH)
  • Accès sudo ou administratif à votre serveur
  • Un serveur cloud non RackConnect exécutant RHEL 6 ou CentOS 6.

Qu'est-ce que "iptables" et comment ça marche ?

iptables est la solution de pare-feu logiciel Linux par défaut. En utilisant le module du noyau netfilter, iptables peut gérer le trafic réseau entrant et sortant. iptables utilise les chaînes de règles configurées dans le cadre d'une table sur le serveur. Un tableau regroupe des chaînes similaires qui accomplissent une tâche spécifique.

Tables, chaînes et règles

Chaque table a un ensemble de chaînes par défaut. Cet article fait référence au filtre table, qui contient le INPUT , AVANCER , et SORTIE Chaînes. Les règles de ces chaînes sont lues et traitées de haut en bas.

  • ENTRÉE  :Cette chaîne gère le trafic entrant destiné au serveur.

  • AVANCER  :Cette chaîne gère le trafic qui arrive au serveur mais qui est destiné à un autre appareil.

  • SORTIE  :Cette chaîne est utilisée pour les paquets sortants qui proviennent du serveur.

Cibles, actions et filtres

Le tableau suivant montre quelques cibles et actions de base dans iptables lorsque le trafic est envoyé au serveur :

Nom Description
ACCEPTER Le trafic est accepté et aucune autre règle n'est traitée.
DÉPOSER Le paquet est bloqué et aucune autre règle n'est traitée. Aucune réponse envoyée à l'expéditeur.
LOG Les informations sur les paquets sont enregistrées sur le serveur et iptables continue de traiter les règles.
REFUSER Semblable au paquet DROP, mais envoie une réponse à l'expéditeur.
Filtrer Ce qu'il fait
-p (protocol) Le protocole du paquet. Le protocole spécifié peut être l'un des tcp , udp , icmp , ou le mot-clé spécial all .
-s, --source L'adresse IP source du paquet.
-d --destination La destination du paquet.
-sport Le port source à faire correspondre.
-dport Le port de destination à faire correspondre.
-i L'interface de réception du paquet.

L'anatomie d'une règle

La règle suivante est un exemple de iptables règle :

   iptables -I INPUT -i eth0 -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT

Dans cet exemple, le trafic provenant de l'adresse IP source, 192.168.1.1 , sur le tcp protocole est accepté sur eth0 interface au port de destination 22 . Cette règle est ajoutée en haut de INPUT chaîne.

Comment fonctionnent les règles "iptables" ?

Une façon de limiter le trafic réseau entrant et sortant sur le serveur consiste à implémenter des règles de pare-feu. Sur un serveur RHEL ou CentOS 6, la solution de pare-feu logiciel par défaut est iptables . iptables vous permet de configurer une configuration similaire à celle d'un pare-feu dédié qui s'exécute sur votre serveur. Vous configurez ces règles dans une CHAIN selon la règle. Cet article traite de l'INPUT chain, qui est la chaîne par défaut pour accepter le trafic via iptables .

Activer et vérifier l'état de "iptables"

Avant d'ajouter de nouvelles règles dans iptables , vous devez vérifier que le service est en cours d'exécution et répertorier les règles actuelles.

Pour vérifier l'état de iptables , exécutez la commande suivante :

  service iptables status

Vous devriez obtenir une sortie indiquant que le service est Active sur le serveur. Sinon, vous pouvez démarrer le service avec le service iptables start commande.

Une fois le service démarré, vous pouvez répertorier les règles à l'aide de la commande suivante :

   iptables -L

Si vous n'avez pas encore configuré de règles, le résultat ressemble à l'exemple suivant :

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Exemples "iptables"

Les exemples suivants montrent quelques règles dans iptables et leur fonctionnalité dans iptables .

INSERT versus APPEND

Avec iptables , le -I flag insère la règle en haut de la chaîne sélectionnée, et le -A flag ajoute la nouvelle règle au bas de la chaîne sélectionnée. Ceci est important car les règles sont lues de haut en bas. Par conséquent, s'il existe une règle en haut qui bloque tout le trafic entrant et que vous utilisez -A pour ajouter une règle qui accepte le trafic d'une adresse IP, la règle que vous avez ajoutée est bloquée par la première règle. Vous devez considérer la configuration pour déterminer si -A ou -I est la meilleure option pour la modification effectuée sur le serveur. Vérifiez toujours les règles actuelles avant d'apporter des modifications.

Une bonne règle consiste à ajouter toutes les règles qui se terminent par un drop et à insérer toutes les règles qui acceptent un paquet.

Exemple de commande Ce qu'il fait
iptables -L Cette commande liste tous les iptables règles.
iptables -L --line-numbers Cette commande liste tous les iptables règles et fournit un numéro de ligne pour chaque règle.
iptables -D INPUT 2 Lorsqu'il est utilisé conjointement avec iptables -L --line-numbers , cette commande supprime la deuxième règle dans INPUT chaîne. C'est la meilleure méthode pour s'assurer que la bonne règle est supprimée.
iptables -A INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j DROP Cette règle abandonne le trafic sur le port 22 à partir de l'IP source via la chaîne INPUT via TCP. Cette règle est ajoutée en haut de la chaîne INPUT.
iptables -A INPUT -s 12.345.67.89 -j DROP Cette règle supprime toutes les connexions entrantes à partir de l'adresse IP source. Cet exemple est ajouté en haut de INPUT chaîne.
iptables -D INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Cette commande supprime la règle spécifiée de INPUT table. Vous pouvez utiliser le -D drapeau avec n'importe quelle chaîne ou règle, mais nous vous recommandons de supprimer par numéro de ligne comme indiqué ci-dessus.
iptables -I INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT Cette règle accepte le trafic sur le port 22 à partir de l'adresse IP source via INPUT chaîne via TCP. Cette règle est insérée dans le INPUT chaîne.
iptables -I INPUT -s 12.345.67.89 -j ACCEPT Cette règle accepte toutes les connexions entrantes de l'IP source via n'importe quel protocole sur n'importe quel port. Cette règle est insérée dans le INPUT chaîne.
service iptables save Par défaut, iptables n'offre pas de persévérance. Cette commande permet de sauvegarder les règles.
service iptables reload Cette commande recharge le service iptables pour permettre le traitement de nouvelles règles.

Autres lectures

Cet article aborde uniquement les bases de iptables . Il existe plusieurs autres tâches et règles que vous pouvez configurer pour limiter l'accès à votre serveur. Pour plus d'informations sur iptables , vous pouvez revoir le man page pour iptables sur iptables - page de manuel Linux.


Linux
  1. Comment ajouter des règles iptables personnalisées dans le pare-feu CSF

  2. Serveur FTP Ubuntu de base ?

  3. Top 10 des solutions logicielles de correctifs de serveur

  4. Autoriser le trafic Web dans le pare-feu logiciel iptables

  5. Meilleures pratiques de sécurité des serveurs Windows

Comment configurer le pare-feu Iptables sur CentOS

Procédure :Dépannage de base d'IPTables

Procédure :configuration de base des fichiers IPTables

Top 5 des meilleurs pare-feu Linux

Comment configurer un pare-feu sur votre serveur Linux

Débogage d'iptables et des pièges courants du pare-feu ?