GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer le pare-feu UFW sur Ubuntu 20.04

L'une des clés de voûte de tout système d'exploitation est un pare-feu correctement configuré pour une sécurité complète du système. UFW (Uncomplicated Firewall) est installé par défaut sur les systèmes d'exploitation Ubuntu ; cependant, il n'est pas activé. L'un des grands avantages d'UFW est sa simplicité, sa ligne de commande conviviale et facile à utiliser, ce qui le rend idéal pour les débutants sous Linux jusqu'aux utilisateurs expérimentés les plus avancés.

Dans le didacticiel suivant, vous apprendrez à installer et à configurer le pare-feu UFW sur Ubuntu 20.04 LTS Focal Fossa Desktop ou Server à l'aide du terminal de commande.

Prérequis

  • OS recommandé : Ubuntu 20.04
  • Compte utilisateur : Un compte utilisateur avec sudo ou accès root.

Mettre à jour le système d'exploitation

Mettez à jour votre Ubuntu système d'exploitation pour s'assurer que tous les packages existants sont à jour :

sudo apt update && sudo apt upgrade -y

Le tutoriel utilisera la commande sudo et en supposant que vous avez le statut sudo .

Pour vérifier le statut sudo sur votre compte :

sudo whoami

Exemple de sortie montrant l'état de sudo :

[joshua@ubuntu ~]$ sudo whoami
root

Pour configurer un compte sudo existant ou nouveau, visitez notre tutoriel sur Comment ajouter un utilisateur aux Sudoers sur Ubuntu .

Pour utiliser le compte racine , utilisez la commande suivante avec le mot de passe root pour vous connecter.

su

Comment activer, installer ou supprimer UFW

La première étape de la configuration d'un pare-feu UFW consistera à activer le pare-feu.

sudo ufw enable

Exemple de résultat :

Firewall is active and enabled on system startup

Par défaut, tout le trafic entrant est automatiquement bloqué et tout trafic sortant est autorisé une fois le pare-feu activé. Cela protégera instantanément votre système en empêchant quiconque de se connecter à distance à votre système.

Si UFW a été supprimé précédemment et que vous souhaitez réinstaller le pare-feu à l'aide de la commande suivante.

sudo apt install ufw -y

Ensuite, vérifiez l'état d'UFW pour vous assurer qu'il est actif et sans erreur.

sudo systemctl status ufw

Exemple de résultat :

À l'avenir, si vous devez désactiver UFW pendant une période temporaire, utilisez la commande suivante.

sudo ufw disable

Pour supprimer complètement UFW de votre système Ubuntu.

sudo apt autoremove ufw --purge

Ne supprimez pas UFW sauf si vous disposez d'une option solide ou si vous savez comment utiliser IPTables, en particulier lors de l'exécution d'un environnement de serveur connecté au public. Ce sera désastreux.

Comment vérifier l'état UFW

Une fois UFW activé, affichez l'état des règles de pare-feu et ce qui est actif, utilisez ce qui suit.

sudo ufw status verbose

Exemple de résultat :

L'exemple ci-dessus utilisait l'indicateur verbeux, et une option alternative consiste à répertorier les règles dans l'ordre des numéros, ce qui est beaucoup plus gérable ultérieurement lors de la suppression de règles.

sudo ufw status numbered

Exemple de résultat :

Vous avez maintenant [ 1], [ 2] nombre d'étiquettes sur vos règles UFW pour l'identification comme le résultat ci-dessus l'a.

Comment définir les politiques par défaut UFW

La politique par défaut du pare-feu UFW consiste à refuser toutes les connexions entrantes et à autoriser uniquement les connexions sortantes vers le système. Généralement, le moyen par défaut le plus sécurisé, personne ne peut accéder à votre serveur, sauf si vous autorisez les adresses/plages IP, les programmes, les ports ou des combinaisons de tous. Votre système, par défaut, peut accéder à l'extérieur, ce que vous ne devez pas modifier, sauf si vous avez des exigences de sécurité spécifiques.

Pour référence, les stratégies de pare-feu UFW par défaut se trouvent à l'emplacement /etc/default/ufw .

Pour ajuster les règles en tapant la commande suivante :

Pour refuser toutes les connexions entrantes :

sudo ufw default deny incoming

Pour autoriser toutes les connexions sortantes :

sudo ufw default allow outgoing

Ceci est déjà défini comme règles par défaut lorsqu'il est activé, mais vous pouvez utiliser le même principe pour les modifier en fonction de vos besoins.

Par exemple, toutes les communications entrantes sont bloquées par défaut, mais vous souhaitez que toutes les communications sortantes soient bloquées et n'autorisez que les connexions sortantes approuvées, puis utilisez la commande suivante.

Pour bloquer toutes les connexions sortantes :

sudo ufw default deny outgoing

C'est une mesure extrême; le blocage des connexions entrantes est généralement suffisant pour le serveur et le bureau moyens, mais des environnements spécifiques peuvent bénéficier de la précaution de sécurité supplémentaire. L'inconvénient est que vous devez gérer toutes les connexions sortantes, ce qui peut prendre du temps et définir continuellement de nouvelles règles.

Comment afficher les profils d'application UFW

Pour afficher tous les profils d'application, vous pouvez le faire en tapant ce qui suit.

sudo ufw app list

Exemple de résultat :

Ce qui précède n'est qu'un exemple, et tout le monde aura des listes différentes car personne n'aura les mêmes applications installées.

Une fonctionnalité pratique des profils d'applications consiste à en savoir plus sur le service répertorié dans la liste des applications UFW.

Pour ce faire, tapez la commande suivante pour trouver plus d'informations sur un profil existant.

sudo ufw app info CUPS

Exemple de résultat :

Comme ci-dessus, l'impression de la description générale de l'application et du port qu'elle utilise. Il s'agit d'une fonctionnalité pratique lorsque vous recherchez des ports ouverts et que vous ne savez pas à quelles applications ils se rapportent et ce que fait l'application.

Comment activer IPv6 sur UFW

Si votre système Ubuntu est configuré avec IPv6, vous devez vous assurer que UFW est configuré avec la prise en charge IPv6 et IPv4. Par défaut, cela devrait être automatiquement activé ; il convient toutefois de le vérifier et, le cas échéant, de le modifier. Vous pouvez le faire dans ce qui suit.

Ouvrez le fichier de pare-feu UFW par défaut.

sudo nano /etc/default/ufw

Réglez la ligne suivante sur oui si elle n'est pas définie.

IPV6=yes

CTRL+O pour enregistrer les nouvelles modifications apportées au fichier, puis appuyez sur CTRL+X pour quitter le fichier.

Redémarrez maintenant le service de pare-feu UFW pour activer les modifications.

sudo systemctl restart ufw

Comment autoriser les connexions UFW SSH

Par défaut, UFW n'autorise pas les connexions SSH. Si vous aviez déjà activé le pare-feu à distance, vous auriez remarqué que vous étiez bloqué.

Pour résoudre ce problème, vous devez définir la configuration SSH suivante avant d'activer le pare-feu UFW, en particulier si vous êtes connecté à un serveur distant.

Tout d'abord, activez le profil d'application SSH.

sudo ufw allow ssh

Si vous avez configuré un port d'écoute personnalisé pour les connexions SSH autre que le port par défaut 22, par exemple, le port 3541, vous ouvrirez le port sur le pare-feu UFW en tapant ce qui suit.

sudo ufw allow 3541/tcp

Si vous souhaitez bloquer toutes les connexions SSH ou modifier le port et bloquer les anciennes.

Pour bloquer toutes les connexions SSH (Assurez-vous que l'accès local est possible) , utilisez la commande suivante.

sudo ufw deny ssh/tcp

Si vous modifiez le port SSH personnalisé, ouvrez un nouveau port et fermez l'existant ; l'exemple du didacticiel est le port 3541.

sudo ufw deny 3541/tcp 

Comment activer les ports UFW

Avec UFW, vous pouvez ouvrir des ports spécifiques dans le pare-feu pour autoriser les connexions spécifiées pour une application particulière. Vous pouvez définir des règles personnalisées pour l'application. Un excellent exemple de cette règle est la configuration d'un serveur Web qui écoute sur le port 80 (HTTP) et 443 (HTTPS) par défaut.

Autoriser le port HTTP 80

Autoriser par profil d'application :

sudo ufw allow 'Nginx HTTP'

Autoriser par nom de service :

sudo ufw allow http

Autoriser par numéro de port :

sudo ufw allow 80/tcp

Autoriser le port HTTPS 443

Autoriser par profil d'application :

sudo ufw allow 'Nginx HTTPS'

Autoriser par nom de service :

sudo ufw allow https

Autoriser par numéro de port :

sudo ufw allow 443/tcp

Notez que vous pouvez activer toutes les règles ensemble par défaut en utilisant la commande suivante.

sudo ufw allow 'Nginx Full'

UFW autorise les plages de ports

UFW peut autoriser l'accès aux plages de ports. Notez que lors de l'ouverture d'une plage de ports, vous devez identifier le protocole du port.

Autoriser la plage de ports avec TCP et UDP :

sudo ufw allow 6500:6800/tcp
sudo ufw allow 6500:6800/udp

Alternativement, vous pouvez autoriser plusieurs ports en un seul clic, mais autoriser la plage peut être plus accessible comme ci-dessus.

sudo ufw allow 6500, 6501, 6505, 6509/tcp
sudo ufw allow 6500, 6501, 6505, 6509/udp

Comment autoriser les connexions à distance sur UFW

UFW autorise une adresse IP spécifique

Par exemple, pour autoriser des adresses IP spécifiées, vous êtes sur un réseau interne et vous avez besoin que les systèmes communiquent ensemble, utilisez la commande suivante.

sudo ufw allow from 192.168.55.131

UFW autorise une adresse IP spécifique sur un port spécifique

Pour permettre à une IP de se connecter à votre système sur un port défini (exemple de port "3900") , tapez ce qui suit.

sudo ufw allow from 192.168.55.131 to any port 3900

Autoriser les connexions de sous-réseau à un port spécifié

Si vous avez besoin de toute une gamme de connexions d'un sous-réseau de plage IP à un port particulier, vous pouvez l'activer en créant la règle suivante.

sudo ufw allow from 192.168.1.0/24 to any port 3900

Cela permettra à toutes les adresses IP de 192.168.1.1 à 192.168.1.254 de se connecter au port 3900.

Autoriser une interface réseau spécifique

Par exemple, autorisez les connexions à une interface réseau particulière, "eth2" à un port 3900 spécifié. Vous pouvez y parvenir en créant la règle suivante.

sudo ufw allow in on eth2 to any port 3900

Comment refuser les connexions à distance sur UFW

Conformément à la politique de configuration par défaut d'UFW, une fois installé, toutes les connexions entrantes sont définies sur "Refuser". Cela rejette tout le trafic entrant, sauf si vous créez une règle pour autoriser les connexions.

Cependant, vous avez remarqué dans vos logs une adresse IP particulière qui continue de vous attaquer. Bloquez-le avec ce qui suit.

sudo ufw deny from 203.13.56.121

Un pirate utilise plusieurs adresses IP du même sous-réseau pour tenter de vous pirater. Créez ce qui suit pour bloquer.

sudo ufw deny from 203.13.56.121/24

Vous pouvez créer des règles spécifiques si vous souhaitez refuser l'accès à des ports particuliers. Tapez l'exemple suivant.

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

Comment supprimer les règles UFW

Vous avez créé et refusé des règles, mais vous devez les supprimer car vous n'en avez plus besoin. Cela peut être réalisé de deux manières différentes.

Tout d'abord, pour supprimer une règle UFW à l'aide du numéro de règle, vous devez répertorier les numéros de règle en saisissant ce qui suit.

sudo ufw status numbered

Exemple de résultat :

L'exemple supprimera la quatrième règle pour l'adresse IP 1.1.1.1 qui est mise en évidence ci-dessus.

Tapez ce qui suit dans votre terminal.

sudo ufw delete 1

Deuxièmement, vous pouvez supprimer une règle UFW en utilisant la règle elle-même.

sudo ufw delete allow 80/tcp

Lorsque les règles sont supprimées et réussies, vous obtiendrez la sortie suivante.

Rule deleted
Rule deleted (v6)

Comment accéder et afficher les journaux UFW

Par défaut, la journalisation UFW est définie sur faible. C'est très bien pour la plupart des systèmes de bureau. Cependant, les serveurs peuvent nécessiter un niveau de journalisation plus élevé.

Pour définir la journalisation UFW sur faible (par défaut) :

sudo ufw logging low

Pour définir la journalisation UFW sur moyenne :

sudo ufw logging medium

Pour définir la journalisation UFW sur élevée :

sudo ufw logging high

La dernière option consiste à désactiver complètement la journalisation, assurez-vous que cela vous convient et que vous n'aurez pas besoin de vérifier le journal.

sudo ufw logging off

Pour afficher les journaux UFW, ils sont conservés à l'emplacement par défaut de /var/log/ufw.log .

Un moyen simple et rapide d'afficher les journaux en direct consiste à utiliser la commande tail.

sudo ufw tail -f /var/log/ufw.log

Alternativement, vous pouvez imprimer un nombre défini de lignes récentes avec le -n .

sudo ufw tail /var/log/ufw.log -n 30

Cela imprimera les 30 dernières lignes du journal. Vous pouvez encore affiner avec GREP et d'autres commandes de tri.

Comment tester les règles UFW

Les systèmes hautement critiques, une bonne option lorsque vous jouez avec les paramètres du pare-feu, peuvent ajouter l'indicateur –dry-run . Cela permet de voir un exemple des changements qui se seraient produits mais pas de le traiter.

sudo ufw --dry-run enable

Pour désactiver l'indicateur –dry-run , utilisez la commande suivante.

sudo ufw --dry-run disable

Comment réinitialiser les règles UFW

Pour réinitialiser votre pare-feu à son état d'origine avec toutes les entrées bloquées et sortantes définies pour autoriser, tapez ce qui suit pour réinitialiser.

sudo ufw reset

Confirmez la réinitialisation, saisissez ce qui suit :

sudo ufw status

Le résultat devrait être :

Status: inactive 

Avec la réinitialisation du pare-feu UFW, vous devrez maintenant réactiver le pare-feu et démarrer l'ensemble du processus d'ajout de règles. La commande de réinitialisation doit être utilisée avec parcimonie si possible.

Comment trouver tous les ports ouverts (contrôle de sécurité)

La plupart des systèmes ne réalisent pas qu'ils peuvent avoir des ports ouverts. À l'ère où chaque adresse IP sur Internet est analysée quotidiennement, il est crucial de regarder ce qui se passe dans les coulisses.

La meilleure option est d'installer Nmap, puis, à l'aide de cette fameuse application, de lister les ports ouverts.

sudo apt install nmap

Ensuite, recherchez l'adresse IP interne du système.

hostname -I

Exemple de résultat :

192.168.50.45

Utilisez maintenant la commande Nmap suivante avec l'adresse IP du serveur.

sudo nmap 192.168.50.45

Exemple de résultat :

Comme ci-dessus, les ports 9090 et 80 sont ouverts. Avant de bloquer les ports, vérifiez d'abord ce qu'ils sont si vous n'êtes pas sûr.

À partir de là, vous pouvez créer des règles UFW personnalisées que vous avez apprises dans le didacticiel pour fermer ou restreindre les ports ouverts.


Ubuntu
  1. Comment installer et configurer Nginx sur Ubuntu 20.04

  2. Comment configurer le pare-feu UFW sur Ubuntu 18.04

  3. Comment installer et configurer Varnish sur Ubuntu 20.04 ?

  4. Comment configurer un pare-feu avec UFW sur Ubuntu 18.04

  5. Comment configurer le pare-feu UFW sur Ubuntu 18.04

Comment configurer le pare-feu UFW sur Debian 10

Comment configurer le pare-feu UFW sur Ubuntu 18.04 LTS

Comment configurer le pare-feu UFW sur Ubuntu 20.04 LTS

Comment installer et configurer Memcached sur Ubuntu

Comment configurer le pare-feu avec UFW sur Ubuntu Linux

Comment configurer le pare-feu UFW sur Ubuntu 20.04