GNU/Linux >> Tutoriels Linux >  >> Linux

Comment :sécuriser votre serveur Ubuntu ou Debian avec IPTables

Présentation

Dans ce didacticiel, nous expliquerons comment effectuer certaines modifications IPTables de base qui contribueront grandement à sécuriser votre serveur. Cela se fait sur une nouvelle installation d'Ubuntu 14.04 64 bits dans notre Cloud. Cela peut également être fait sur n'importe quelle version de notre système d'exploitation Ubuntu 12.04 ainsi que sur Debian. Toutes nos commandes sont exécutées en tant que root et l'édition des fichiers se fait via vi. Si vous utilisez un autre utilisateur pour ce faire, vous aurez besoin d'un accès sudo. Vous pouvez utiliser n'importe quel éditeur de fichiers que vous souhaitez.

Sécuriser votre serveur Cloud avec IPTables

Malheureusement, nos Ubuntu 14.04 ou 12.04 ne sont pas déjà équipés d'IPTables. Dans Debian, IPTables est déjà installé, vous pouvez donc ignorer cette étape. Notre première étape avec Ubuntu consiste donc à installer IPTables. Pour ce faire, lancez simplement :

apt-get install iptables

Après avoir installé IPTables, vous pouvez le vérifier en exécutant :

iptables –L

Cela listera toutes les règles que vous avez en cours d'exécution et vérifiera pour vous que vous avez installé iptables et que cela fonctionne. Pour le moment, c'est juste vide mais vous pouvez voir les trois types de chaînes disponibles.

Ensuite, nous allons installer le package iptables-persistent. Ce que cela fait, c'est qu'il écrira nos règles IPTables actuelles dans un nouveau fichier (/etc/iptables/rules.v4) et il gérera automatiquement l'application de nos règles au redémarrage. Assez utile !

/etc/iptables/rules.v4

Lorsque vous entrez dans le fichier, il devrait ressembler à l'image ci-dessus. Il y a quelques éléments que nous voudrons ajouter avant notre première règle personnalisée. Ce serait une règle pour l'interface de bouclage et une pour le trafic déjà établi. Vous pouvez les voir ci-dessous. La première règle personnalisée que nous allons ajouter permettra l'accès SSH à notre serveur. Nous voudrons ajouter les règles au-dessus de la ligne COMMIT car COMMIT délimite la fin de notre ensemble de règles INPUT, FORWARD et OUTPUT. Pour savoir ce que signifient tous les segments IPTables et plus d'informations à leur sujet, veuillez consulter notre section IPTables.

-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Remarque :Si vous avez un port SSH personnalisé comme nous l'avons configuré dans le didacticiel Changer votre port SSH dans Ubuntu, vous devrez changer le 22 pour qu'il soit le port SSH que vous avez configuré. Dans notre cas 3389

/etc/iptables/rules.v4

Vos règles doivent ressembler à l'image ci-dessus. Maintenant, avant de terminer ici, il y a encore deux choses que nous devons changer. Où les règles disent :

:INPUT ACCEPT and :FORWARD ACCEPT

Nous voudrons leur faire avoir :

:INPUT DROP and :FORWARD DROP

Ce que cela fait, c'est qu'il dit à IPTables de bloquer et de supprimer tout le trafic qui ne va pas vers les ports que vous spécifiez pour autoriser le passage. Cela empêchera les personnes d'essayer d'utiliser les services que vous exécutez, à moins que vous n'ayez ouvert ces ports au public.

Lorsque vous avez terminé, cela devrait ressembler à ce qui précède. Une fois là-bas, enregistrez simplement le fichier et fermez-le. La dernière chose que nous devons faire est de charger ces nouvelles règles dans les IPTables actuelles. Pour ce faire, il vous suffit d'exécuter :

iptables-restore < /etc/iptables/rules.v4

Pour vérifier que nos règles sont en place, exécutez simplement la même commande que précédemment :

iptables –L

Vous devriez voir quelque chose de similaire à la page ci-dessous.

/etc/iptables/rules.v4

Après ça, c'est tout ! Vos nouvelles règles entrent en vigueur immédiatement, et elles resteront pendant les redémarrages. Si vous souhaitez obtenir plus de restrictions avec vos tables IP, en particulier l'accès à SSH, vous pouvez procéder comme suit pour chaque adresse IP qui doit être autorisée. Cela implique de modifier la règle SSH et d'en ajouter d'autres. Là où il indique la règle SSH que nous avons identifiée précédemment, vous souhaitez la modifier pour qu'elle soit :

-A INPUT -s IPADDR –m tcp –p tcp --dport 3389 –j ACCEPT

Où IPADDR est votre adresse IP à laquelle vous souhaitez avoir un accès SSH à votre serveur. Si vous n'avez pas configuré de port SSH personnalisé, vous voudriez qu'il reste 22 et non 3389.

Pour autoriser des ports spécifiques, par exemple pour l'accès Web à votre site Web, tout ce que vous avez à faire est de connaître/trouver le port sur lequel le service s'exécute (ou sur lequel vous l'avez configuré) et son protocole (TCP ou UDP) et de l'autoriser. Par exemple, l'accès au site :

-A INPUT -m tcp -p tcp --dport 80 -j ACCEPT

Et maintenant, Internet a accès à l'hébergement Web que vous faites.

Gardez à l'esprit que lors de l'ajout de nouvelles règles aux sections INPUT ou FORWARD, il est recommandé de regrouper les nouvelles règles avec des règles similaires. INPUT avec INPUT et FORWARD avec FORWARD. Vous voudrez également vous assurer que toutes les règles que vous ajoutez et qui autorisent le passage d'un nouveau port sont répertoriées AU-DESSUS de toute instruction de rejet pour cet ensemble de règles. Si elles sont répertoriées après des lignes de rejet, les règles ne prendront pas effet.

Pour voir la sortie de ce que fait IPTables et/ou bloque avec ses règles, vous pouvez exécuter ce qui suit. Il affichera les règles que vous avez et tout ce qui concerne les paquets concernant la suppression des connexions ou leur autorisation.

iptables -L -vn

Pour savoir ce que signifient tous les segments IPTables et plus d'informations à leur sujet, veuillez consulter notre section IPTables (lien).

Remarque :Si vous utilisez les services cloud d'Atlantic.Net, vous pouvez toujours accéder à votre serveur via notre visionneuse VNC dans le portail cloud si vous vous verrouillez.


Linux
  1. Comment installer Puppet 6.x sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 9

  2. Comment installer le serveur SSH sur Ubuntu / Debian avec OpenSSH

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

  4. Comment ajouter une adresse IP supplémentaire à votre serveur Ubuntu 18.04

  5. Comment sécuriser votre serveur Ubuntu avec le pare-feu CSF

Comment ajouter une adresse IP supplémentaire à votre serveur cloud Ubuntu ou Debian

Comment verrouiller votre serveur CentOS avec IPTables

Comment configurer un serveur Seafile avec Nginx sur Ubuntu 18.04

Comment configurer un serveur FTP avec ProFTPD dans Ubuntu 18.04

Comment configurer un serveur de messagerie avec Modoboa sur Ubuntu 20.04

Comment configurer un pare-feu sur votre serveur Linux