Uncomplicated Firewall (ufw) : le pare-feu pour Ubuntu
Un pare-feu c'est bien, un pare-feu actif c'est mieux
Vous savez peut-être que le noyau Linux embarque un pare-feu par défaut.
Toutefois celui-ci doit être configuré correctement pour être efficace [1]. C'est là qu'intervient Uncomplicated Firewall (ufw), une interface simple de configuration en mode texte du pare-feu [2].
Ufw est disponible depuis Ubuntu 8.04 Hardy Heron mais il n'est pas activé par défaut. En effet, si vous bloquez toutes les connexions sans distinction, vos logiciels habituels (Transmission pour le partage de fichiers de pair à pair, VLC ou Totem pour regarder la FreeTV, etc.) ne fonctionneront plus. Il faut donc créer des exceptions au blocage généralisé des connexions et c'est là qu'intervient ufw.
Ufw se pilote depuis le Terminal.
Pour l'activer, saisissez :
$ sudo ufw enable
Et pour le désactiver :
$ sudo ufw disable
Pour refuser le trafic entrant suivant les règles par défaut, saisissez :
$ sudo ufw default deny
Et pour autoriser le trafic entrant suivant les règles par défaut :
$ sudo ufw default allow
Pour afficher l'état actuel des règles, saisissez :
$ sudo ufw status
Quelques exemples :
Trois lignes pour activer le pare-feu, refuser les connexions entrantes et activer la journalisation :
$ sudo ufw enable
$ sudo ufw default deny
$ sudo ufw logging on
Ensuite il faut autoriser l'accès par vos applications au cas par cas :
Autoriser le trafic généré par Transmission (ouverture du port 51413 en TCP) :
$ sudo ufw allow 51413/tcp
Et pour révoquer ladite autorisation :
$ sudo ufw delete allow 51413/tcp
Autoriser le trafic généré pour la FreeTV (autoriser le traffic provenant de l'adresse IP 212.27.38.253 en UDP) :
$ sudo ufw allow proto udp from 212.27.38.253
Et pour révoquer ladite autorisation :
$ sudo ufw delete allow proto udp from 212.27.38.253
Après avoir activé le pare-feu et autorisé Transmission et la FreeTV vous devriez obtenir ce résultat :
Et avec une interface graphique c'est pas possible ?
J'aurais très bien pu vous parler de Gufw, une interface graphique à ufw. Mais celle-ci n'est pas intuitive du tout en l'état et nécessite finalement autant d'apprentissage qu'ufw, alors autant utiliser directement ce dernier.
En effet, normalement l'avantage d'une interface graphique sur la ligne de commande c'est la découvrabilité : vous devez pouvoir utiliser le logiciel par vous même en actionnant les bonnes commandes, sans avoir besoin d'un tutoriel.
Or avec Gufw, une fois les connexions entrantes bloquées vous le serez tout autant, car rien ne vous permet de savoir comment créer des autorisations spécifiques.
Certes Gufw a la bonne idée de proposer des réglages pré-établis (permettant par exemple d'autoriser les principaux clients P2P comme Transmission) mais, par définition, ils ne pourront couvrir tous les besoins des utilisateurs (sauf à créer un système d'extension et à générer une communauté à la Firefox, c'est tout le mal qu'on lui souhaite).
En dehors des réglages pré-établis vous serez donc bien à la peine avec votre interface graphique.
Déjà l'interface n'est pas un modèle du genre : vous serez obligé de lire les infobulles pour savoir à quoi correspondent les champs à renseigner car rien n'est indiqué (une hérésie).
A noter aussi que vous ne pouvez pas non plus modifier une règle existante, seulement la supprimer et en recréer une. Voilà un autre avantage des interfaces graphiques qui n'est pas exploité.
A supposer que ces défauts soient corrigés (le projet est jeune, laissons lui le temps de bonifier), Gufw restera le genre d'application pour laquelle une interface graphique ne sert à rien car l'utilisateur devra toujours allez chercher sur le Web les commandes absconses à entrer dans le logiciel pour autoriser telle ou telle connexion (chaque cas étant particulier comme vous avez pu le voir ci-avant pour Transmission et VLC).
_____
[1] Pour savoir si votre machine est sécurisée ou si vous avez besoin des services d'ufw, vous pouvez lancer un test en ligne qui va scanner les ports TCP les plus couramment utilisés, par exemple celui-ci.
[2] Why ufw does not need a GUI (Ubuntu Tutorials)
Vous savez peut-être que le noyau Linux embarque un pare-feu par défaut.
Toutefois celui-ci doit être configuré correctement pour être efficace [1]. C'est là qu'intervient Uncomplicated Firewall (ufw), une interface simple de configuration en mode texte du pare-feu [2].
Ufw est disponible depuis Ubuntu 8.04 Hardy Heron mais il n'est pas activé par défaut. En effet, si vous bloquez toutes les connexions sans distinction, vos logiciels habituels (Transmission pour le partage de fichiers de pair à pair, VLC ou Totem pour regarder la FreeTV, etc.) ne fonctionneront plus. Il faut donc créer des exceptions au blocage généralisé des connexions et c'est là qu'intervient ufw.
Ufw se pilote depuis le Terminal.
Pour l'activer, saisissez :
$ sudo ufw enable
Et pour le désactiver :
$ sudo ufw disable
Pour refuser le trafic entrant suivant les règles par défaut, saisissez :
$ sudo ufw default deny
Et pour autoriser le trafic entrant suivant les règles par défaut :
$ sudo ufw default allow
Pour afficher l'état actuel des règles, saisissez :
$ sudo ufw status
Quelques exemples :
Trois lignes pour activer le pare-feu, refuser les connexions entrantes et activer la journalisation :
$ sudo ufw enable
$ sudo ufw default deny
$ sudo ufw logging on
Ensuite il faut autoriser l'accès par vos applications au cas par cas :
Autoriser le trafic généré par Transmission (ouverture du port 51413 en TCP) :
$ sudo ufw allow 51413/tcp
Et pour révoquer ladite autorisation :
$ sudo ufw delete allow 51413/tcp
Autoriser le trafic généré pour la FreeTV (autoriser le traffic provenant de l'adresse IP 212.27.38.253 en UDP) :
$ sudo ufw allow proto udp from 212.27.38.253
Et pour révoquer ladite autorisation :
$ sudo ufw delete allow proto udp from 212.27.38.253
Après avoir activé le pare-feu et autorisé Transmission et la FreeTV vous devriez obtenir ce résultat :
Et avec une interface graphique c'est pas possible ?
J'aurais très bien pu vous parler de Gufw, une interface graphique à ufw. Mais celle-ci n'est pas intuitive du tout en l'état et nécessite finalement autant d'apprentissage qu'ufw, alors autant utiliser directement ce dernier.
En effet, normalement l'avantage d'une interface graphique sur la ligne de commande c'est la découvrabilité : vous devez pouvoir utiliser le logiciel par vous même en actionnant les bonnes commandes, sans avoir besoin d'un tutoriel.
Or avec Gufw, une fois les connexions entrantes bloquées vous le serez tout autant, car rien ne vous permet de savoir comment créer des autorisations spécifiques.
Certes Gufw a la bonne idée de proposer des réglages pré-établis (permettant par exemple d'autoriser les principaux clients P2P comme Transmission) mais, par définition, ils ne pourront couvrir tous les besoins des utilisateurs (sauf à créer un système d'extension et à générer une communauté à la Firefox, c'est tout le mal qu'on lui souhaite).
En dehors des réglages pré-établis vous serez donc bien à la peine avec votre interface graphique.
Déjà l'interface n'est pas un modèle du genre : vous serez obligé de lire les infobulles pour savoir à quoi correspondent les champs à renseigner car rien n'est indiqué (une hérésie).
A noter aussi que vous ne pouvez pas non plus modifier une règle existante, seulement la supprimer et en recréer une. Voilà un autre avantage des interfaces graphiques qui n'est pas exploité.
A supposer que ces défauts soient corrigés (le projet est jeune, laissons lui le temps de bonifier), Gufw restera le genre d'application pour laquelle une interface graphique ne sert à rien car l'utilisateur devra toujours allez chercher sur le Web les commandes absconses à entrer dans le logiciel pour autoriser telle ou telle connexion (chaque cas étant particulier comme vous avez pu le voir ci-avant pour Transmission et VLC).
_____
[1] Pour savoir si votre machine est sécurisée ou si vous avez besoin des services d'ufw, vous pouvez lancer un test en ligne qui va scanner les ports TCP les plus couramment utilisés, par exemple celui-ci.
[2] Why ufw does not need a GUI (Ubuntu Tutorials)