Android

Comment configurer un pare-feu avec ufw sur ubuntu 18.04

Linux ubuntu ajouté un pare feu (Firewall) pour contrôlé les connexions entrantes et sortantes

Linux ubuntu ajouté un pare feu (Firewall) pour contrôlé les connexions entrantes et sortantes

Table des matières:

Anonim

Un pare-feu correctement configuré est l'un des aspects les plus importants de la sécurité globale du système. Par défaut, Ubuntu est fourni avec un outil de configuration de pare-feu appelé UFW (Uncomplicated Firewall). UFW est un frontal convivial pour la gestion des règles de pare-feu iptables et son objectif principal est de faciliter la gestion d'iptables ou, comme son nom l'indique, simple.

Conditions préalables

Avant de commencer ce didacticiel, assurez-vous que vous êtes connecté à votre serveur avec un compte d'utilisateur avec les privilèges sudo ou avec l'utilisateur root. La meilleure pratique consiste à exécuter des commandes d'administration en tant qu'utilisateur sudo au lieu de root. Si vous n'avez pas d'utilisateur sudo sur votre système Ubuntu, vous pouvez en créer un en suivant ces instructions.

Installer UFW

Le pare-feu simple doit être installé par défaut dans Ubuntu 18.04, mais s'il n'est pas installé sur votre système, vous pouvez installer le package en tapant:

sudo apt install ufw

Vérifier l'état UFW

Une fois l'installation terminée, vous pouvez vérifier l'état d'UFW avec la commande suivante:

sudo ufw status verbose

UFW est désactivé par défaut. Si vous n'avez jamais activé UFW auparavant, la sortie ressemblera à ceci:

Status: inactive

Si UFW est activé, la sortie ressemblera à ce qui suit:

Stratégies par défaut UFW

Par défaut, UFW bloquera toutes les connexions entrantes et autorisera toutes les connexions sortantes. Cela signifie que toute personne essayant d'accéder à votre serveur ne pourra se connecter que si vous ouvrez spécifiquement le port, tandis que toutes les applications et tous les services exécutés sur votre serveur pourront accéder au monde extérieur.

Les politiques par défaut sont définies dans le fichier /etc/default/ufw et peuvent être modifiées à l'aide du sudo ufw default commander.

Les politiques de pare-feu sont le fondement de la création de règles plus détaillées et définies par l'utilisateur. Dans la plupart des cas, les politiques par défaut UFW initiales sont un bon point de départ.

Profils d'application

Lors de l'installation d'un package avec la commande apt il ajoutera un profil d'application au répertoire /etc/ufw/applications.d . Le profil décrit le service et contient les paramètres UFW.

Vous pouvez répertorier tous les profils d'application disponibles sur votre serveur en tapant:

sudo ufw app list

Selon les packages installés sur votre système, la sortie ressemblera à ce qui suit:

Available applications: Dovecot IMAP Dovecot POP3 Dovecot Secure IMAP Dovecot Secure POP3 Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix Postfix SMTPS Postfix Submission

Pour trouver plus d'informations sur un profil spécifique et les règles incluses, utilisez la commande suivante:

sudo ufw app info 'Nginx Full'

Profile: Nginx Full Title: Web Server (Nginx, HTTP + HTTPS) Description: Small, but very powerful and efficient web server Ports: 80, 443/tcp

Comme vous pouvez le voir sur la sortie ci-dessus, le profil 'Nginx Full' ouvre les ports 80 et 443 .

Autoriser les connexions SSH

Avant d'activer le pare-feu UFW, nous devons ajouter une règle qui autorisera les connexions SSH entrantes. Si vous vous connectez à votre serveur à partir d'un emplacement distant, ce qui est presque toujours le cas et que vous activez le pare-feu UFW avant d'autoriser explicitement les connexions SSH entrantes, vous ne pourrez plus vous connecter à votre serveur Ubuntu.

Pour configurer votre pare-feu UFW pour autoriser les connexions SSH entrantes, tapez la commande suivante:

sudo ufw allow ssh

Rules updated Rules updated (v6)

Si vous avez changé le port SSH en un port personnalisé au lieu du port 22, vous devrez ouvrir ce port.

Par exemple, si votre démon ssh écoute sur le port 4422 , vous pouvez utiliser la commande suivante pour autoriser les connexions sur ce port:

sudo ufw allow 4422/tcp

Activer UFW

Maintenant que votre pare-feu UFW est configuré pour autoriser les connexions SSH entrantes, nous pouvons l'activer en tapant:

sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Vous serez averti que l'activation du pare-feu peut perturber les connexions ssh existantes, tapez simplement y et appuyez sur Enter .

Autoriser les connexions sur d'autres ports

Selon les applications qui s'exécutent sur votre serveur et vos besoins spécifiques, vous devrez également autoriser l'accès entrant à certains autres ports.

Ci-dessous, nous vous montrerons quelques exemples sur la façon d'autoriser les connexions entrantes vers certains des services les plus courants:

Port ouvert 80 - HTTP

Les connexions HTTP peuvent être autorisées avec la commande suivante:

sudo ufw allow

au lieu de http, vous pouvez utiliser le numéro de port, 80:

sudo ufw allow 80/tcp

ou vous pouvez utiliser le profil d'application, dans ce cas, 'Nginx

sudo ufw allow 'Nginx

Port ouvert 443 - HTTPS

Les connexions HTTP peuvent être autorisées avec la commande suivante:

sudo ufw allow

Pour obtenir le même profil au lieu du profil https , vous pouvez utiliser le numéro de port, 443 :

sudo ufw allow 443/tcp

ou vous pouvez utiliser le profil d'application, 'Nginx

sudo ufw allow 'Nginx

Port ouvert 8080

sudo ufw allow 8080/tcp

Autoriser les plages de ports

Au lieu de permettre l'accès à des ports uniques, UFW nous permet d'autoriser l'accès aux plages de ports. Lorsque vous autorisez des plages de ports avec UFW, vous devez spécifier le protocole, tcp ou udp . Par exemple, si vous souhaitez autoriser les ports de 7100 à 7200 sur tcp et udp exécutez la commande suivante:

sudo ufw allow 7100:7200/tcp sudo ufw allow 7100:7200/udp

Autoriser des adresses IP spécifiques

Pour autoriser l'accès sur tous les ports à partir de votre ordinateur domestique avec une adresse IP de 64.63.62.61, spécifiez from suivi de l'adresse IP que vous souhaitez mettre sur liste blanche:

sudo ufw allow from 64.63.62.61

Autoriser des adresses IP spécifiques sur un port spécifique

Pour autoriser l'accès sur un port spécifique, disons le port 22 à partir de votre machine de travail avec une adresse IP de 64.63.62.61, utilisez to any port suivi du numéro de port:

sudo ufw allow from 64.63.62.61 to any port 22

Autoriser les sous-réseaux

La commande permettant d'autoriser la connexion à un sous-réseau d'adresses IP est la même que lorsque vous utilisez une seule adresse IP, la seule différence est que vous devez spécifier le masque de réseau. Par exemple, si vous souhaitez autoriser l'accès à des adresses IP allant de 192.168.1.1 à 192.168.1.254 au port 3360 (MySQL), vous pouvez utiliser cette commande:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Autoriser les connexions à une interface réseau spécifique

Pour autoriser l'accès sur un port spécifique, disons le port 3360 uniquement à l'interface réseau spécifique eth2 , vous devez alors spécifier allow in on et le nom de l'interface réseau:

sudo ufw allow in on eth2 to any port 3306

Refuser les connexions

La stratégie par défaut pour toutes les connexions entrantes est définie pour deny et si vous ne l'avez pas modifiée, UFW bloquera toutes les connexions entrantes à moins que vous n'ouvriez spécifiquement la connexion.

Supposons que vous ayez ouvert les ports 80 et 443 et que votre serveur soit attaqué par le réseau 23.24.25.0/24 . Pour refuser toutes les connexions à partir du 23.24.25.0/24 vous pouvez utiliser la commande suivante:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 80 sudo ufw deny from 23.24.25.0/24 to any port 443

L'écriture de règles de refus est identique à l'écriture de règles d'autorisation, il vous suffit de remplacer allow par deny .

Supprimer les règles UFW

Il existe deux façons différentes de supprimer des règles UFW, par numéro de règle et en spécifiant la règle réelle.

La suppression de règles UFW par numéro de règle est plus facile, surtout si vous débutez avec UFW. Pour supprimer une règle par un numéro de règle, vous devez d'abord trouver le numéro de la règle que vous souhaitez supprimer, vous pouvez le faire avec la commande suivante:

sudo ufw status numbered

Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 8080/tcp ALLOW IN Anywhere

Pour supprimer la règle numéro 3, la règle qui autorise les connexions au port 8080, utilisez la commande suivante:

sudo ufw delete 3

La deuxième méthode consiste à supprimer une règle en spécifiant la règle réelle, par exemple si vous avez ajouté une règle pour ouvrir le port 8069 vous pouvez la supprimer avec:

sudo ufw delete allow 8069

Désactiver UFW

Si, pour une raison quelconque, vous souhaitez arrêter UFW et désactiver toutes les règles que vous pouvez utiliser:

sudo ufw disable

Plus tard, si vous souhaitez réactiver UTF et activer toutes les règles, tapez simplement:

sudo ufw enable

Réinitialiser UFW

La réinitialisation d'UFW désactivera UFW et supprimera toutes les règles actives. Cela est utile si vous souhaitez annuler toutes vos modifications et recommencer à zéro.

Pour réinitialiser UFW, tapez simplement la commande suivante:

sudo ufw reset

Conclusion

Vous avez appris à installer et à configurer le pare-feu UFW sur votre serveur Ubuntu 18.04. Assurez-vous d'autoriser toutes les connexions entrantes qui sont nécessaires au bon fonctionnement de votre système, tout en limitant toutes les connexions inutiles.

pare-feu ufw iptables ubuntu security