Introduction
Iptables est un programme utilitaire en espace utilisateur qui permet à un administrateur système de configurer les tables fournies par le pare-feu du noyau Linux et les chaînes et règles qu'il stocke. Iptables est presque toujours préinstallé sur n'importe quelle distribution Linux. Avoir un pare-feu correctement configuré est très important pour la sécurité globale de votre serveur.
Dans cet article, nous vous partagerons les étapes pour ouvrir les ports dans le pare-feu Iptables dans la distribution Ubuntu et Centos
Prérequis
Accès Sudo au serveur Ubuntu ou Centos sur lequel Iptable est installé.
Étape 1 :Lister les règles Iptables actuelles
Connectez-vous à votre serveur avec un accès Sudo et pour répertorier les règles actuelles configurées pour iptables, utilisez la commande ci-dessous
sudo iptables -L
Nous pouvons voir la sortie comme ci-dessous, qui affichera toutes les règles actuellement configurées
root@e2e:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@e2e:~#
Etape 2 :Sauvegarder les Iptables
Avant de procéder à l'ajout de règles dans Iptable, nous devons effectuer une sauvegarde des règles Iptable. En cas de problème avec la configuration d'Iptables, nous pouvons restaurer les règles à partir de la sauvegarde
Utilisez les commandes ci-dessous pour enregistrer une règle Iptable
iptables-save > IPtablesbackup.txt
Etape 2 :Ajouter/Supprimer une règle Iptable
Une fois que nous connaissons les règles actuellement configurées, nous pouvons ouvrir un port dans IPtables en ajoutant une règle à l'aide de la commande ci-dessous.
sudo iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
Remarque :Remplacez xxxx par le numéro de port requis que vous souhaitez ouvrir
Par exemple pour ouvrir un port Mysql 3306 ,Nous devons exécuter la commande ci-dessous.
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
Cela indique essentiellement à Iptable d'accepter publiquement la connexion à Mysql.
Vous pouvez voir la même chose avec iptables -L comme mentionné à l'étape 1
root@:~# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:1167 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:zabbix-agent ACCEPT tcp -- anywhere anywhere tcp dpt:mysql Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@:~#
Si vous souhaitez supprimer la règle récemment ajoutée, vous pouvez utiliser la commande ci-dessous
sudo iptables -D INPUT -p tcp --dport xxxx -j ACCEPT
Si vous ne souhaitez pas ouvrir le port publiquement, vous pouvez ouvrir le port pour une IP unique.
Utilisez la commande ci-dessous pour ouvrir le port uniquement pour une adresse IP unique
sudo iptables -A INPUT -p tcp -s your_server_ip --dport xxxx -j ACCEPT
Remarque :Veuillez remplacer your_server_ip par l'adresse IP requise dans la commande ci-dessus et remplacer xxxx par le port requis
Étape 3 :Enregistrer la règle Iptable
Une fois que nous avons ajouté les règles, nous devons enregistrer les règles et les rendre permanentes. Si vous utilisez Ubuntu, vous pouvez utiliser iptables-persistent et pour Centos, vous utilisez la commande iptables save
Sur Ubuntu 14.04, utilisez les commandes suivantes pour enregistrer/recharger les règles iptables
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
Sur Ubuntu 16.04 et Ubuntu 18.04, utilisez les commandes suivantes
sudo netfilter-persistent save
sudo netfilter-persistent reload
Si vous utilisez des centos, utilisez la commande ci-dessous
service iptables save
Étape 4 :Restaurer la sauvegarde Iptables
S'il y a un problème avec votre règle de configuration Iptables, vous pouvez annuler les modifications avec la commande ci-dessous et restaurer le fichier qui a été sauvegardé à l'étape 2
iptables-restore < IPtablesbackup.txt
Conclusion
Suivre l'article ci-dessus vous aura aidé à ouvrir/fermer les ports de votre système Linux. La mise en œuvre d'un pare-feu approprié iptables doit toujours être considérée comme une priorité élevée pour votre configuration car il permet aux administrateurs système de sécuriser votre système et d'autoriser uniquement les ports requis publiquement ou en les limitant à une adresse IP particulière