GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Configuration du pare-feu à l'aide d'Iptables sur Ubuntu 14.04

Introduction

La mise en place d'un pare-feu est une étape importante dans la sécurisation de la plupart des systèmes d'exploitation modernes. La plupart des distributions Linux sont équipées de différents outils de pare-feu que nous pouvons utiliser pour configurer notre pare-feu. Dans ce guide, nous expliquerons comment configurer le pare-feu Iptables sur Ubuntu 14.04.

Remarque : Ce tutoriel couvre la sécurité IPv4. Sous Linux, la sécurité IPv6 est maintenue séparément d'IPv4. Par exemple, "iptables" ne gère que les règles de pare-feu pour les adresses IPv4, mais il a un équivalent IPv6 appelé "ip6tables", qui peut être utilisé pour maintenir les règles de pare-feu pour les adresses réseau IPv6.

Commandes de base

Avant de suivre ce guide, vous devez avoir accès à un compte de superutilisateur non root, avec des privilèges sudo configurés sur votre serveur. Vous devez d'abord savoir que les commandes iptables doivent être exécutées uniquement avec les privilèges root. Pour implémenter cette condition, nous ajouterons "sudo" avant toutes les commandes de ce guide. Nous pouvons également nous connecter en tant qu'utilisateur root en utilisant les commandes "su" ou "sudo -i", mais nous nous en tiendrons à "sudo" pour ce guide.

Au départ, nous devons trouver les règles actuelles qui sont configurées pour les iptables. Ceci est réalisé en utilisant la commande suivante :

# sudo iptables -L
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            

Nous pouvons également voir les règles actuelles dans un format plus simple en utilisant le drapeau -S au lieu du drapeau -L :

# sudo iptables -S
-P ENTRÉE ACCEPTÉE-P TRANSFERT ACCEPTÉE-P SORTIE ACCEPTÉE

Dans les deux résultats, nous pouvons voir trois chaînes affichées comme INPUT, FORWARD et OUTPUT. Nous voyons également que la politique par défaut de chaque chaîne est définie sur ACCEPT , mais aucune règle réelle n'est définie dans les résultats ci-dessus. C'est parce qu'Ubuntu n'est pas livré avec un jeu de règles par défaut.

S'il existe des règles déjà configurées dans les Iptables, nous pouvons les vider complètement en utilisant l'indicateur -F comme suit :

Remarque :si vous videz les règles à distance, les stratégies des chaînes INPUT et OUTPUT doivent être définies sur ACCEPT. Cela peut être fait en tapant

# sudo iptables -P INPUT ACCEPT# sudo iptables -P OUTPUT ACCEPT# sudo iptables -F

Définition des règles pour Iptables

Les règles pour iptables peuvent être définies de deux manières. Une façon consiste à autoriser la règle par défaut à ACCEPTER et à bloquer tout trafic indésirable en définissant des règles spécifiques. L'autre méthode consiste à configurer le trafic autorisé et à bloquer tout le reste. La deuxième méthode est souvent la préférée .

La première règle à attribuer est d'accepter tout le trafic entrant en tapant la commande suivante :

# sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Nous pouvons voir le résultat de la commande ci-dessus en utilisant à nouveau le drapeau -L.

# sudo iptables -L
 Entrée de la chaîne (Accept de politique) Target Prot Opt Source Destination Acceptez tous - partout où n'importe où CTSTAT est lié à la sortie de la chaîne de destination de la chaîne de destination de la chaîne de destination de la chaîne de la chaîne de la chaîne de la chaîne cible Prot-Forward. 

Ici, nous pouvons voir que la politique de la chaîne INPUT est modifiée par rapport à avant l'application de la règle.

L'étape suivante consiste à autoriser le trafic vers un port spécifique pour activer les connexions SSH. Cela peut être fait en suivant :

# sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPTER

« ssh » se traduit par le numéro de port 22 par défaut. N'importe quel numéro de port peut être utilisé à la place de "ssh". Pour autoriser l'accès au serveur Web HTTP, saisissez la commande suivante :

# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTER

Il y a une autre règle ACCEPT qui doit être assignée à nos Iptables pour que notre serveur fonctionne correctement.

# sudo iptables -I INPUT 1 -i lo -j ACCEPTER

Ajout d'une règle de suppression

Jusqu'à présent, nous n'avons ajouté que des règles ACCEPT à nos Iptables. Nous devons également attribuer des règles de blocage, car tous les paquets réseau seront acceptés conformément aux règles attribuées à nos Iptables. Une façon consiste à affecter une règle DROP dans la politique par défaut de notre chaîne INPUT. Cela intercepte tous les paquets qui traversent notre chaîne INPUT et les supprime.

# sudo iptables -P INPUT DROP

L'une des implications de ce type de conception est qu'il revient à supprimer des paquets si les règles sont vidées.

L'approche alternative consiste à conserver la stratégie par défaut pour la chaîne en tant qu'acceptation et à ajouter une règle qui dépose chaque paquet restant au bas de la chaîne elle-même.

Si vous avez modifié la stratégie par défaut pour la chaîne INPUT ci-dessus, vous pouvez la rétablir pour qu'elle suive en tapant :

# sudo iptables -P INPUT ACCEPT

Maintenant, vous pouvez ajouter une règle au bas de la chaîne qui supprimera tous les paquets restants :

# sudo iptables -A INPUT -j DROP

 Avant d'enregistrer les Iptables, il est préférable de vérifier une fois les règles attribuées. Nos règles actuelles sont définies comme suit :

-P INPUT ACCEPT-P FORWARD ACCEPT-P OUTPUT ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m conntrack --ctstate RELATED,ETABLISHED -j ACCEPT-A INPUT -p tcp -m tcp -- dport 22 -j ACCEPTER-A ENTRÉE -p tcp -m tcp --dport 80 -j ACCEPTER-A ENTRÉE -j ABANDONNER

Enregistrement des règles Iptables

Par défaut, les règles Iptables seront effacées une fois le serveur redémarré. Pour enregistrer les règles Iptabels de manière permanente, les paramètres peuvent être enregistrés de différentes manières, mais la manière la plus simple consiste à utiliser le package "iptables-persistent". Cela peut être téléchargé à partir des dépôts par défaut d'Ubuntu :

# sudo apt-get update# sudo apt-get install iptables-persistent

Enregistrez vos règles de pare-feu avec cette commande :

# sudo invoke-rc.d iptables-persistent save

Pour savoir comment configurer et enregistrer les règles de pare-feu à l'aide d'iptables-persistent sur Ubuntu 10.04/Debian 6.0, cliquez sur le lien ci-dessous :

Comment configurer et enregistrer Iptables-persistent pour Ubuntu 10.04/ Debian 6.0


Ubuntu
  1. Comment rendre les règles de pare-feu iptables persistantes sur Debian/Ubuntu

  2. Exemple d'utilisation du pare-feu UFW dans Debian/Ubuntu

  3. Comment configurer un pare-feu avec iptables sur Ubuntu et CentOS

  4. Sécurisation de votre VPS basé sur Ubuntu/Debian à l'aide du pare-feu IPTABLES/Netfilter

  5. Présentation d'iptables

Configuration du serveur Samba dans Ubuntu 14.04 LTS

Comment installer Grafana sur Ubuntu 20.04

Comment installer Browsh sur Ubuntu 20.04

Comment bloquer/autoriser le ping en utilisant iptables dans Ubuntu

Comment installer Ansible sur Ubuntu 20.04

Comment configurer le pare-feu Iptables sur CentOS