Comment installer et configurer UFW - Un FireWall simple dans Debian/Ubuntu
Étant donné que les ordinateurs sont connectés les uns aux autres, les services se développent rapidement. Le courrier électronique, les médias sociaux, la boutique en ligne, le chat jusqu’à la conférence Web sont des services utilisés 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 les virus, les logiciels malveillants, les applications de cheval de Troie sont l’un d’entre eux.
Internet, en tant que plus grand réseau informatique, n’est pas toujours rempli de bonnes personnes. Afin de nous assurer que nos ordinateurs/serveurs sont en sécurité, nous devons les protéger.
L’un des composants indispensables sur votre ordinateur/serveurs est le pare-feu. D’après Wikipédia, 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 à passer ou non, en fonction de l’ensemble de règles appliquées.
Iptables est l’un des pare-feu les plus 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. En règle générale, seule une connexion de confiance est autorisée à entrer dans le serveur. Mais IPTables fonctionne en mode console et c’est compliqué. Ceux qui sont familiers avec les règles et les commandes iptables, ils peuvent lire l’article suivant qui décrit comment utiliser le pare-feu iptables.
- Guide de base d’IPTables (pare-feu Linux)
Installation du pare-feu UFW dans Debian/Ubuntu
Pour réduire la complexité de la configuration d’IPTables, il y a beaucoup de fronted. Si vous utilisez Ubuntu Linux, vous trouverez ufw comme outil de pare-feu par défaut. Commençons à explorer le pare-feu ufw.
Qu’est-ce que l’ufw
L’ufw (Uncomplicated Firewall) est une interface pour le pare-feu iptables le plus largement utilisé et il est bien confortable pour les pare-feu basés sur l’hôte. UFW fournit un cadre pour la gestion de 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 de Linux qui ne sont pas très familiers avec les concepts de pare-feu.
Alors que, d’un autre côté, les mêmes commandes compliquées aident les administrateurs, il définit 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 ufw
Tout d’abord, vérifiez si ufw est installé à l’aide de la commande suivante.
$ sudo dpkg --get-selections | grep ufw
ufw installS’il n’est pas installé, vous pouvez l’installer à l’aide de la commande apt comme indiqué ci-dessous.
$ sudo apt-get install ufwAvant 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 statusSi vous avez trouvé Status : inactive, cela signifie qu’il n’est pas actif ou désactivé.
NOUVEAU ! Un ebook indispensable pour tout administrateur Linux !Télécharger gratuitement l’eBook de 696 pages
Activation/désactivation de 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 startupPour le désactiver, il suffit de taper.
$ sudo ufw disableRépertorier les règles UFW actuelles
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 verboseExemple 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, chaque connexion entrante est refusée. Si vous souhaitez téléporter votre machine, vous devez autoriser le port approprié. Par exemple, vous souhaitez autoriser la connexion ssh. Voici la commande pour l’autoriser.
Autoriser 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 mettre des numéros sur 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 dit que la connexion entrante au port 22 depuis n’importe où, les paquets tcp ou udp sont autorisés. Que se passe-t-il si vous souhaitez autoriser uniquement le paquet 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 de refus. Supposons que vous souhaitiez refuser la règle ftp. Vous n’avez donc qu’à 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 suit 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 est également possible d’ajouter port-range dans la règle. Si nous voulons ouvrir le port de 2290 à 2300 avec le protocole tcp, 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)Alors 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 'tcp' ou 'udp' explicitement, sinon vous obtiendrez un message d’erreur similaire à celui ci-dessous.
ERROR: Must specify ‘tcp’ or ‘udp’ with multiple portsAjout 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.104Vous 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/24Comme vous pouvez le voir, le paramètre from ne limitera que la source de connexion. Alors 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 'To'. Voyons l’exemple pour autoriser l’accès au port 22 (ssh).
$ sudo ufw allow to any port 22La commande ci-dessus permettra l’accès de n’importe où et de 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 du port 22. Ensuite, la commande sera comme ci-dessous.
$ sudo ufw allow from 192.168.0.104 proto tcp to any port 22La syntaxe de création d’une règle de refus est similaire à celle d’une règle d’autorisation. Il vous suffit de changer le paramètre de allow à deny.
Suppression de règles
À un moment donné, vous devrez peut-être supprimer votre règle existante. Encore une fois avec ufw, il est facile de supprimer des règles. À partir de 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. Donc le 21/tcp qui signifie port ftp sera supprimé.
$ sudo ufw delete allow ftpMéthode 2
Mais lorsque vous avez essayé de supprimer la première règle dans l’exemple ci-dessus en utilisant la commande below.
$ sudo ufw delete allow ssh
Or
sudo ufw delete allow 22/tcpIl se peut que vous trouviez 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 la règle pour indiquer quelle règle nous voulons 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 à l’utilisateur la confirmation avant de supprimer la règle, tandis que la méthode 1 ne l’est pas.
Comment réinitialiser les règles
Dans certaines situations, vous voudrez 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)? ySi 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és avancées
Comme je l’ai dit plus haut, le pare-feu ufw peut faire tout ce qu’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 iptables-restore appropriés. Pour affiner ufw et/ou placer des commandes iptables supplémentaires non autorisées via la commande ufw, il suffit d’éditer plusieurs fichiers texte.
- /etc/default/ufw : configuration principale pour les politiques par défaut, la prise en charge d’IPv6 et les modules du noyau.
- /etc/ufw/before[6].rules : les règles dans ces fichiers sont calculées avant toute règle ajoutée via la commande ufw.
- /etc/ufw/after[6].rules : les règles dans ces fichiers sont calculées après toutes les règles ajoutées via la commande ufw.
- /etc/ufw/sysctl.conf : paramètres du réseau du noyau.
- /etc/ufw/ufw.conf : définit si ufw est activé ou non au démarrage et définit le LOGLEVEL.
Conclusion
UFW en tant que front-end d’iptables rend certainement une interface facile à utiliser. L’utilisateur n’a pas besoin de se souvenir de la syntaxe compliquée d’iptables. UFW utilise également 'plain english' comme paramètre.
Autoriser, refuser, réinitialiser sont l’un d’entre eux. Je crois qu’il y a beaucoup plus d’iptables front-end là-bas. Mais ufw est certainement l’une des meilleures alternatives pour les utilisateurs qui souhaitent configurer leur pare-feu rapidement, facilement et bien sûr en toute sécurité. Veuillez visiter la page du manuel ufw en tapant man ufw pour plus de détails.

