Recherche de site Web

Comment installer et configurer UFW – Un pare-feu simple dans Debian/Ubuntu


Puisque les ordinateurs sont connectés les uns aux autres, les services se développent rapidement. E-mail, Réseaux sociaux, Boutique en ligne, Chat jusqu'à la Conférence Web sont des services qui utilisé par l'utilisateur. Mais d’un autre côté, cette connectivité ressemble à un couteau double face. Il est également possible d'envoyer de mauvais messages à ces ordinateurs, comme des virus, des malwares et des applications de chevaux de Troie en font partie.

Internet, en tant que plus grand réseau informatique, n’est pas toujours rempli de bonnes personnes. Afin de garantir la sécurité de nos ordinateurs/serveurs, nous devons les protéger.

L'un des composants indispensables sur votre ordinateur/serveurs est le Pare-feu. Tirée de Wikipedia, une définition est :

En informatique, un pare-feu est un système de sécurité réseau logiciel ou matériel qui contrôle le trafic réseau entrant et sortant en analysant les paquets de données et en déterminant s'ils doivent être autorisés ou non, en fonction de l'ensemble de règles appliquées.

Iptables est l'un des pare-feu largement utilisés par les serveurs. Il s'agit d'un programme utilisé pour gérer le trafic entrant et sortant sur le serveur en fonction d'un ensemble de règles. Généralement, seule une connexion fiable est autorisée à accéder au serveur. Mais IPTables fonctionne en mode console et c'est compliqué. Ceux qui connaissent les règles et les commandes iptables peuvent lire l'article suivant qui décrit comment utiliser le pare-feu iptables.

  1. Guide des IPTables de base (pare-feu Linux)

Installation du pare-feu UFW dans Debian/Ubuntu

Pour réduire la complexité de la configuration des IPTables, il existe de nombreuses façades. Si vous utilisez Ubuntu Linux, vous trouverez ufw comme outil de pare-feu par défaut. Commençons par explorer le pare-feu ufw.

Qu'est-ce que ufw

L'ufw (Uncomplicated Firewall) est une interface pour le pare-feu iptables le plus largement utilisé et il est très pratique pour les pare-feu basés sur l'hôte. ufw fournit un cadre pour gérer netfilter, ainsi qu'une interface de ligne de commande pour contrôler le pare-feu. Il fournit une interface conviviale et facile à utiliser pour les débutants Linux qui ne sont pas très familiers avec les concepts de pare-feu.

Tandis que, d'un autre côté, les mêmes commandes compliquées aident les administrateurs à définir des règles compliquées à l'aide de l'interface de ligne de commande. L'ufw est un amont pour d'autres distributions telles que Debian, Ubuntu et Linux Mint.

Utilisation de base

Tout d’abord, vérifiez si ufw est installé à l’aide de la commande suivante.

sudo dpkg --get-selections | grep ufw

ufw 		install

S'il n'est pas installé, vous pouvez l'installer à l'aide de la commande apt comme indiqué ci-dessous.

sudo apt-get install ufw

Avant de l'utiliser, vous devez vérifier si ufw est en cours d'exécution ou non. Utilisez la commande suivante pour le vérifier.

sudo ufw status

Si vous avez trouvé Statut : inactif, cela signifie qu'il n'est pas actif ou désactivé.

NOUVEAU ! Un ebook indispensable pour tout administrateur Linux !

Téléchargez un eBook gratuit de 696 pages

Activation/Désactivation d'ufw

Pour l'activer, il vous suffit de taper la commande suivante sur le terminal.

sudo ufw enable

Firewall is active and enabled on system startup

Pour le désactiver, tapez simplement.

sudo ufw disable

Répertoriez les règles actuelles de l'UFW

Une fois le pare-feu activé, vous pouvez y ajouter vos règles. Si vous voulez voir quelles sont les règles par défaut, vous pouvez taper.

sudo ufw status verbose
Exemple de sortie
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

Comment ajouter des règles ufw

Comme vous le voyez, par défaut, toute connexion entrante est refusée. Si vous souhaitez télécommander votre machine, vous devez autoriser le port approprié. Par exemple, vous souhaitez autoriser la connexion ssh. Voici la commande pour l’autoriser.

Permettre l'accès
sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Si vous vérifiez à nouveau l'état, vous verrez une sortie comme celle-ci.

sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Si vous avez beaucoup de règles et que vous souhaitez attribuer des numéros à chaque règle à la volée, utilisez le paramètre numéroté.

sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

La première règle stipule que les connexions entrantes au port 22 depuis N'importe où, à la fois par paquets tcp ou udp, sont autorisées. Que faire si vous souhaitez autoriser uniquement les paquets tcp ? Ensuite vous pouvez ajouter le paramètre tcp après le numéro de port. Voici un exemple avec un exemple de sortie.

sudo ufw allow ssh/tcp

To 		Action 			From
------ 		----------- 		------
22/tcp 		ALLOW 			Anywhere
22/tcp 		ALLOW 			Anywhere (v6)
Refuser l'accès

Les mêmes astuces sont appliquées à la règle Deny. Disons que vous souhaitez refuser la règle FTP. Il vous suffit donc de taper.

sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Ajout d'un port spécifique

Parfois, nous avons un port personnalisé qui ne respecte aucune norme. Disons que nous changeons le port ssh sur notre machine de 22 à 2290. Ensuite, pour autoriser le port 2290, nous pouvons l'ajouter comme ceci.

sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Il vous est également possible d'ajouter port-range dans la règle. Si nous voulons ouvrir le port de 2290 à 2300 avec le protocole tcp, alors la commande sera comme ceci.

sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

tandis que si vous souhaitez utiliser udp, utilisez simplement la commande suivante.

sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

N'oubliez pas que vous devez mettre explicitement « tcp » ou « udp », sinon vous obtiendrez un message d'erreur similaire à celui ci-dessous.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Ajout d'une adresse IP spécifique

Auparavant, nous avons ajouté des règles basées sur le service ou le port. Ufw vous permet également d'ajouter des règles basées sur l'adresse IP. Voici l’exemple de commande.

sudo ufw allow from 192.168.0.104

Vous pouvez également utiliser un masque de sous-réseau pour élargir la plage.

sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Comme vous pouvez le voir, le paramètre from ne limitera que la source de connexion. Tandis que la destination – qui est représentée par la colonne À – est N'importe où. Vous pouvez également gérer la destination à l'aide du paramètre « À ». Voyons l'exemple pour autoriser l'accès au port 22 (ssh).

sudo ufw allow to any port 22

La commande ci-dessus permettra l'accès de n'importe où et depuis n'importe quel protocole au port 22.

Combinaison de paramètres

Pour des règles plus spécifiques, vous pouvez également combiner l'adresse IP, le protocole et le port. Disons que nous voulons créer une règle qui limite la connexion uniquement à partir de l'IP 192.168.0.104, uniquement du protocole tcp et au port 22. Ensuite, la commande sera comme ci-dessous.

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

La syntaxe pour créer une règle de refus est similaire à celle d'une règle d'autorisation. Il vous suffit de modifier le paramètre de allow à deny.

Suppression de règles

Parfois, vous devrez peut-être supprimer votre règle existante. Encore une fois avec ufw il est facile de supprimer des règles. Dans l'exemple ci-dessus, vous avez une règle ci-dessous et vous souhaitez la supprimer.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Il existe deux méthodes pour supprimer des règles.

Méthode 1

La commande ci-dessous supprimera les règles qui correspondent au service ftp. Ainsi, le 21/tcp qui signifie le port ftp sera supprimé.

sudo ufw delete allow ftp
Méthode 2

Mais lorsque vous avez essayé de supprimer la première règle de l'exemple ci-dessus à l'aide de la commande ci-dessous.

sudo ufw delete allow ssh

Or 

sudo ufw delete allow 22/tcp

Vous pouvez trouver un message d'erreur tel que.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Ensuite, vous pouvez faire cette astuce. Comme nous l'avons mentionné ci-dessus, vous pouvez afficher le numéro de règle pour indiquer la règle que nous souhaitons supprimer. Laissez-nous vous le montrer.

sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Ensuite, vous pouvez supprimer la première règle en utilisant. Appuyez sur « y » pour supprimer définitivement la règle.

sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

À partir de ces méthodes, vous verrez la différence. La méthode 2 demandera une confirmation à l'utilisateur avant de supprimer la règle, contrairement à la méthode 1.

Comment réinitialiser les règles

Dans certaines situations, vous souhaiterez peut-être supprimer/réinitialiser toutes les règles. Vous pouvez le faire en tapant.

sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

Si vous appuyez sur « y », alors ufw sauvegardera toutes les règles existantes avant de réinitialiser votre ufw. La réinitialisation des règles désactivera également votre pare-feu. Vous devez le réactiver si vous souhaitez l'utiliser.

Fonctionnalité avancée

Comme je l'ai dit ci-dessus, le pare-feu ufw peut faire tout ce que iptables peut faire. Ceci est accompli en utilisant divers ensembles de fichiers de règles, qui ne sont rien de plus que des fichiers texte appropriés à iptables-restore. Affiner ufw et/ou placer des commandes iptables supplémentaires non autorisées via la commande ufw consiste à éditer plusieurs fichiers texte.

  1. /etc/default/ufw : la configuration principale pour les politiques par défaut, la prise en charge d'IPv6 et les modules du noyau.
  2. /etc/ufw/before[6].rules : les règles de ces fichiers sont calculées avant toute règle ajoutée via la commande ufw.
  3. /etc/ufw/after[6].rules : les règles de ces fichiers sont calculées après toute règle ajoutée via la commande ufw.
  4. /etc/ufw/sysctl.conf : paramètres réseau du noyau.
  5. /etc/ufw/ufw.conf : définit si ufw est activé ou non au démarrage et définit le LOGLEVEL.

Conclusion

UFW en tant qu'interface frontale pour iptables constitue sûrement une interface simple pour l'utilisateur. L'utilisateur n'a pas besoin de se souvenir de la syntaxe iptables compliquée. UFW utilise également « anglais simple » comme paramètre.

Autoriser, refuser, réinitialiser en font partie. Je pense qu'il existe beaucoup plus de front-end iptables. Mais ufw est certainement l'une des meilleures alternatives pour les utilisateurs qui souhaitent configurer leur pare-feu de manière rapide, facile et bien sûr sécurisée. Veuillez visiter la page de manuel ufw en tapant man ufw pour plus de détails.