GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le pare-feu UFW sous Linux

Sans pare-feu, il n'y a pas de règles ou de restrictions sur votre trafic réseau et cela entraîne un certain nombre de conséquences négatives. Le système Linux est livré avec un outil de configuration de pare-feu par défaut, qui est un pare-feu non compliqué (UFW). Mais comment configurer un pare-feu UFW ? Asseyez-vous et détendez-vous, ce tutoriel est fait pour vous !

Dans ce didacticiel, vous apprendrez à configurer UFW et à configurer un pare-feu sur votre système Linux pour sécuriser votre réseau et éviter les actes malveillants.

Prêt? Lisez la suite pour commencer !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d'avoir les éléments suivants :

  • Une machine Ubuntu – Ce didacticiel utilise Ubuntu 20.04 LTS, mais d'autres distributions Linux fonctionneront.
  • Privilèges root sur votre machine.

Installation d'UFW et activation de la connexion IPv6

Même si UFW est fourni avec votre système Ubuntu, UFW n'est pas installé par défaut. Installez d'abord UFW avec le apt gestionnaire de packages et configurez-le pour autoriser les connexions via IPv6.

1. Ouvrez votre terminal et lancez le apt update commande ci-dessous pour mettre à jour votre index de package local. La commande accepte toutes les invites (-y ) pendant la mise à jour pour moins d'intervention de l'utilisateur.

sudo apt update -y

2. Ensuite, exécutez la commande ci-dessous pour installer UFW (install uwf ) sur votre système tout en acceptant toutes les invites (-y ) lors de l'installation.

sudo apt install ufw -y

2. Ouvrez le fichier de configuration UFW (/etc/default/ufw ) avec votre éditeur de texte préféré. UFW prend en charge IPv6, mais vous devez vous assurer que le pare-feu est configuré pour accepter les connexions via IPv6.

Si vous n'avez activé qu'IPv4, vous vous exposez toujours aux attaques IPv6.

4. Faites défiler jusqu'à IPV6 variable et définissez la valeur sur yes , comme indiqué ci-dessous, puis enregistrez les modifications et quittez l'éditeur

5. Enfin, exécutez la commande ci-dessous pour désactiver et réactiver UFW. La commande redémarre le service UFW afin que les modifications puissent prendre effet.

Une fois la commande terminée, votre pare-feu peut désormais écrire des ensembles de règles de pare-feu IPv4 et IPv6.

sudo ufw disable && sudo ufw enable

Configuration des stratégies par défaut pour les règles de pare-feu

Si vous débutez avec UFW, il est recommandé de configurer une stratégie par défaut pour vos règles. Les politiques par défaut sont appliquées à une chaîne qui n'a pas encore de règles spécifiques définies.

Configurez UFW pour refuser toutes les connexions entrantes et autoriser toutes les connexions sortantes. En conséquence, toute personne essayant d'atteindre votre machine depuis le monde extérieur est refusée, tandis que vous pouvez toujours vous connecter librement à n'importe quel site Web ou serveur.

Exécutez le ufw commande ci-dessous pour deny tous incoming connexions par default .

sudo ufw default deny incoming

Exécutez maintenant la commande suivante pour allow tous outgoing connexions par default .

sudo ufw default allow outgoing

Autoriser les connexions SSH sur le pare-feu UFW

Vous venez de configurer des politiques par défaut sur votre pare-feu UFW pour refuser tout le trafic entrant, et la règle "autoriser tout-refuser tout" est un bon paramètre pour un utilisateur régulier. Mais que se passe-t-il si vous utilisez un serveur ? Vous devrez autoriser un trafic spécifique entrant et sortant. Autoriser la connexion SSH sur votre pare-feu UFW fera l'affaire pour autoriser un trafic spécifique entrant et sortant.

Vous allez configurer un serveur SSH qui autorise les connexions SSH entrantes sur le port 22. Mais pourquoi le port 22 et pas n'importe quel autre port ? Sur les systèmes de type Unix, le démon SSH écoute sur le port 22 par défaut, c'est donc une bonne pratique d'utiliser le port SSH par défaut pour vous faciliter la vie.

1. Exécutez les commandes ci-dessous pour installer le serveur OpenSSH (install openssh-server ) sur votre système et démarrez un serveur OpenSSH (start ssh ).

sudo apt install openssh-server -y
sudo systemctl start ssh

2. Exécutez maintenant la commande ci-dessous pour autoriser les connexions SSH entrantes. Sans spécifier le port 22 sera suffisant car UFW sait quel port est pour SSH.

sudo ufw allow ssh

Le fichier /etc/services contient une liste de tous les services disponibles sur votre système. Ouvrez le fichier sur votre éditeur de texte, faites défiler jusqu'à ssh et voir le numéro de port (22 ) fait partie de la description du service, comme indiqué ci-dessous.

Mais peut-être préférez-vous préciser le numéro de port (22 ) pour permettre SSH. Si c'est le cas, exécutez plutôt la commande suivante.

sudo ufw allow 22

3. Exécutez maintenant la commande ci-dessous pour activer UFW.

sudo ufw enable

Tapez O dans l'invite de confirmation, comme illustré ci-dessous, puis appuyez sur Entrée pour continuer à exécuter la commande. UFW va maintenant commencer à filtrer les paquets sur votre système.

4. Enfin, exécutez l'une des commandes ci-dessous pour vérifier l'état de votre pare-feu UFW.

## Displays more detailed information, such as the interface and 
## the packet's current progress
sudo ufw status verbose
## Shows each rule with a number and the corresponding allow or deny status 
## The numbered mode is useful when you are trying to delete a rule set here and there
sudo ufw status numbered

Si vous exécutez la commande avec le verbose option, vous verrez une sortie similaire à celle ci-dessous :

  • Statut :actif – Indique que le pare-feu est en cours d'exécution.
  • Journalisation :activée (faible) – Indique que UFW enregistre tous les paquets en cours de traitement par le pare-feu.
  • Par défaut :refuser (entrant), autoriser (sortant), désactivé (routé) – Indique que la politique par défaut consiste à refuser toutes les connexions entrantes et à autoriser toutes les connexions sortantes.
  • Nouveaux profils :ignorer – Indique que le pare-feu utilise actuellement l'ensemble de règles par défaut.

Si vous exécutez la commande avec le numbered à la place, vous verrez la sortie ci-dessous. Vous pouvez voir une liste de règles numérotées et leur AUTORISE correspondant ou REFUSER statut.

Autoriser les connexions HTTP et HTTPS

À ce stade, vous n'avez autorisé que les connexions SSH sur votre pare-feu UFW, mais cela limite les capacités de votre serveur. Autorisez d'autres types de connexions, telles que HTTP ou HTTPS, et ajoutez d'autres règles au pare-feu UFW.

Exécutez l'une des commandes suivantes pour autoriser les connexions HTTP entrantes.

## HTTP connection uses port 80 (not secure)
sudo ufw allow 80
sudo ufw allow http

Maintenant, exécutez l'une des commandes ci-dessous pour autoriser les connexions HTTPS entrantes.

sudo ufw allow https
## HTTP connection uses port 443 (secure)
sudo ufw allow 443

Autoriser les connexions à partir d'une plage de ports et d'une adresse IP spécifiques

Certaines applications utilisent plusieurs ports pour fournir leurs services. Et peut-être avez-vous une gamme de ports à ouvrir ou vous devez autoriser la connexion à partir d'une adresse IP spécifique. Dans ce cas, ajoutez d'autres règles de pare-feu UFW.

Exécutez les commandes ci-dessous pour autoriser les connexions entrantes sur les ports 5001 à 5009. Vous devez toujours spécifier le protocole (tcp ou udp ) après la plage de ports à laquelle les règles s'appliquent car tous les ports ne sont pas utilisés par les deux protocoles.

Par exemple, les ports TCP couramment utilisés incluent 80 (HTTP) et 443 (HTTPS). Mais les ports UDP courants incluent 53 (DNS) et 67/68 (DHCP).

sudo ufw allow 5001:5010/tcp
sudo ufw allow 5001:5010/udp

Exécutez plutôt la commande ci-dessous si vous préférez autoriser les connexions SSH à partir d'une adresse IP spécifique. La commande autorise les connexions SSH (port 22 ) uniquement depuis le 192.168.1.2 Adresse IP.

sudo ufw allow from 192.168.1.2 to any port 22

Autoriser le trafic à partir d'une interface réseau spécifique

UFW vous permet également d'autoriser le trafic sur une interface réseau spécifique uniquement, par exemple eth0 est la première interface Ethernet et wlan0 est la première interface Wi-Fi.

Exécutez l'une des commandes ci-dessous pour autoriser les connexions HTTP uniquement sur le eth0 et wlan0 interfaces.

## Allow HTTP connection only on the eth0 interface
sudo ufw allow in on eth0 to any port 80
## Allow HTTP connection only on the wlan0 interface
sudo ufw allow in on wlan0 to any port 80

Suppression des règles de pare-feu UFW

Peut-être que certaines règles de pare-feu UFW ne servent plus à rien. Dans ce cas, vous souhaiterez peut-être supprimer certaines des règles d'UFW. Mais avant, vous devez connaître soit le numéro, soit le nom de la règle à supprimer.

1. Exécutez la commande ci-dessous pour obtenir une liste numérotée des règles ajoutées à UFW.

sudo ufw status numbered

Notez le numéro ou le nom de la règle dans la sortie, comme celui ci-dessous.

2. Ensuite, exécutez la commande ci-dessous pour delete numéro de règle 4 , qui est le 5001:5010/tcp plage de ports.

sudo ufw delete 4

3. Exécutez la commande ci-dessous pour delete une règle par son nom réel avec le allow statut. Dans cet exemple, vous supprimeriez le http règle en exécutant la commande suivante.

sudo ufw delete allow http

4. Exécutez maintenant la commande suivante pour delete une règle en spécifiant un numéro de port (443 ) avec le allow statut.

sudo ufw delete allow 443

5. Enfin, réexécutez la commande suivante comme vous l'avez fait à l'étape 1 pour répertorier toutes les règles.

sudo ufw status numbered

Comme indiqué ci-dessous, les règles pour le 5001:5010/tcp plage de ports, le http , et le 443 port ont maintenant disparu.

Réinitialiser le pare-feu UFW

Il peut arriver que vous deviez réinitialiser UFW à ses valeurs par défaut, par exemple après avoir configuré un grand nombre de règles. Une mise à jour peut modifier votre configuration, vous obligeant à reconfigurer UFW et éventuellement à recommencer à zéro.

Exécutez le ufw reset commande ci-dessous pour réinitialiser toutes vos règles de pare-feu à leurs paramètres par défaut. Cette commande désactive UFW et supprime toutes vos règles de pare-feu actuelles.

sudo ufw reset

Tapez "Y" et appuyez sur Entrée pour continuer à réinitialiser votre pare-feu UFW.

Une fois la réinitialisation terminée, vous aurez une nouvelle installation d'UFW entièrement désactivée, et même vos politiques par défaut auront disparu.

Exécutez maintenant la commande ci-dessous pour réactiver UFW et commencer à configurer vos règles de pare-feu à partir de zéro.

sudo ufw enable

Si vous décidez de ne plus utiliser UFW, il n'est pas nécessaire de le réactiver. Ou exécutez la commande ci-dessous pour vous assurer que UFW est désactivé.

sudo ufw disable

Conclusion

Tout au long de ce didacticiel, vous vous êtes rendu compte que la configuration d'un pare-feu n'est pas trop intimidante lors de l'utilisation d'UFW. Vous devriez maintenant avoir une bonne compréhension de la configuration et de la mise en œuvre de vos propres règles avec UFW sur Ubuntu.

Maintenant, pourquoi ne pas tirer parti de ces nouvelles connaissances en apprenant davantage sur UFW et Docker Security sur une machine Linux ?


Linux
  1. Comment Linux est arrivé sur le mainframe

  2. Linux - Comment définir l'affinité du processeur d'un processus sous Linux ?

  3. Comment configurer un pare-feu avec UFW sur Ubuntu 16.04

  4. Comment définir le nom d'un thread dans les pthreads Linux ?

  5. Comment définir l'interface réseau préférée sous Linux

Comment configurer un pare-feu avec GUFW sous Linux

Comment configurer le pare-feu avec UFW sur Ubuntu Linux

Comment configurer un pare-feu avec UFW sur Debian 11

Comment configurer un killswitch Linux pour les VPN

Comment configurer le cluster RabbitMQ sur Ubuntu/Debian Linux

Comment configurer un pare-feu sur votre serveur Linux