Aller au contenu


[Tuto] Configurer le pare-feu ufw avec ou sans Gufw et pour les Nuls


  • Vous ne pouvez pas répondre à ce sujet
15 replies to this topic

#1 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 08:20

Configurer le pare-feu ufw avec ou sans Gufw et pour les Nuls
 
 
 fire-wall.png

(Illustration: Iconfinder)

 
Attention: je ne suis spécialiste ni des réseaux ni de la sécurité informatique, et au contraire assez novice et hermétique en la matière. Ce tutoriel "pour les Nuls" gagnera donc à avoir de contributives critiques et conseils en tous genres. Merci !




Le pare-feu ufw (Uncomplcated FireWall) est un pare-feu pour Linux, qui fonctionne en tâche de fond, et que l'on utilise via le terminal (en lignes de commande). Il peut être complété par une interface graphique bien pratique, pour ne pas dire bienvenue: Gufw.
 
Remarque: Je ne crois pas me tromper en écrivant que ufw fonctionne bien sur tout Linux, et que Gufw fonctionne sur Ubuntu initialement, Debian et dérivées ensuite, Arch et dérivées enfin - ça commence à faire pas mal de monde.
 
 
A priori, ufw est installé par défaut avec Linux, mais il est désactivé. Nous verrons comment l'activer et le configurer, mais auparavant et facultativement, installons Gufw si notre distribution le permet (presque toutes).
 
 
Enfin, un grand merci à Severian pour son aide précieuse.
 



 
 
Sommaire:
 
Installation de Gufw (facultatif)
Fonctionnement de base avec ou sans G
Principes de base pour définir nos règles
Jeu de règles en entrée
Jeu "minimal" de règles en sortie
Jeu "maximal" de règles en sortie

 

Bonus: un tutoriel vidéo sur ufw qui prendra bien la suite de celui-ci, et qui vous présentera en particulier deux nouvelles commandes très pratiques: numered et applist: http://www.grafikart...rveur-linux/ufw
 



 
Sources et liens utiles:
 
https://en.wikipedia...icated_Firewall
https://help.ubuntu.com/community/UFW
http://doc.ubuntu-fr.org/ufw
http://doc.ubuntu-fr.org/gufw
http://www.installer...-linux-mint-17/
http://forum.ubuntu-...php?pid=3513119
https://wiki.archlin...icated_Firewall

https://wiki.ubuntu....curity/Firewall

 https://forum.ubuntu....php?id=1468551


Testeurs en ligne:
 
testent les entrées uniquement ? ou testent en fait les box ?
leaktest pour les sorties ?


http://www.pcflank.com/index.htm
http://www.zebulon.f...st-securite.php
https://www.grc.com/x/ne.dll?bh0bkyd2



#2 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 11:29

Installation de Gufw (facultatif)
 
Selon votre distribution, référez-vous à l'une des 2 lignes de commandes suivantes:
 
:arrow: Pour Debian et ses distributions dérivées - y compris Ubuntu et ses dérivées:

sudo apt - get install gufw


:arrow: Pour Arch et ses distributions dérivées:

sudo pacman -Syy -noconfirm --needed ufw


Pour une méthode utilisant un gestionnaire de paquets, reportez-vous à la procédure pour LMDE décrite par Darksky sur cette page, c'est transposable sans problème aux autres distributions.
Remarque pour les (anciens)-Windowsien: Gufw n'offre pas de visualisation sous forme d'icône dans la barre des tâches, comme le font traditionnellement les firewalls sous Windows. Elle a pourtant existé mais créait une faille de sécurité. Désormais il n'y en a plus.

Remarque importante: Gufw ne permet pas, à ce jour, d'exporter ou d'importer des règles en un fichier du type XML ou autre, et avouons-le: c'est bien dommage. Tout cela est pourtant enregistré quelque part, et en cherchant bien, nous devrions pouvoir trouver cela dans le fichier user.rules situé dans le dossier /lib/ufw ... ;)
 
 
 


 
Pour lancer Gufw, il y a bien entendu plusieurs solutions, qui dépendront autant vos us et coutumes sous Linux ainsi que de votre distribution.
 
A la console, il suffit de taper sudo gufw, on ne peut guère faire plus simple. On peut même taper gufw, mais il faut de toute façon s'authentifier juste après.
 
 
Avec un certain nombre de distributions, vous devriez accéder à une icône du pare-feu dans votre "Menu d'administration" (ainsi que dans votre "Centre de contrôle").
 
 

gufw.png


 
Si ce n'est pas le cas, il est possible de faire apparaître cette icône en suivant cette astuce:
 
 

nano /usr/share/applications/gufw.desktop

et commentez (en insérant # devant) la ligne "OnlyShowIn=Unity;"



#3 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 11:35

Fonctionnement de base avec ou sans Gufw.
 
 
Récapitulons:

Le pare-feu ufw est installé par défaut sur votre système, et il est désactivé. Par ailleurs, vous avez peut-être aussi installé Gufw comme indiqué à la section précédente. Enfin, aucune règle n'est définie pour le pare-feu pour l'instant, donc même activé, il serait inutile
 
 

Cela nous trace la route à suivre:

:arrow: Activation/désactivation du pare-feu avec ou sans Gufw.

:arrow: Ajouter une règle avec ou sans Gufw.

:arrow: Supprimer une règle avec ou sans Gufw.

:arrow: Recharger les règles avec ou sans Gufw.

:arrow: Lister les règles et rapports d'écoute avec ou sans Gufw.

:arrow: Obtenir de l'aide avec ou sans Gufw.
 




Activation/désactivation du pare-feu avec ou sans Gufw
 
:arrow: J'active ufw via le terminal: sudo ufw enable

:arrow: Je désactive ufw via le terminal: sudo ufw disable

:arrow: Je vérifie le statut "actif/inactif" de ufw via le terminal: sudo ufw status


De façon équivalente, j'active et désactive ufw avec Gufw:
 




Capture-Pare-feu.png

 

 

Remarque: quand on ouvre gufw pour la première fois dans une session, celui-ci apparaît systématiquement "verrouillé" et grisé, comme inactif. Cela prête souvent à confusion, alors ne vous méprenez pas et soyez rassurés: c'est gufw qui est comme inactif, mais d'une part ufw, lui, est bien actif, heureusement !, mais de plus, dés que vous aurez déverrouillé gufw, il affichera vos configurations et règles.

 




Ajouter une règle avec ou sans Gufw
 
:arrow: J'autorise les connexions sortantes via le terminal: sudo ufw default allow outgoing
 
:arrow: J'interdis les connexions entrantes via le terminal: sudo ufw default deny incoming
 

On reconnaît facilement ce à quoi ça correspond dans Gufw:
 

Capture-Pare-feu-1.png




:arrow: Je ferme le port 22 via le terminal: sudo ufw deny 22
 
:arrow: J'autorise le protocole TCP en sortie sur le port 21 via le terminal: sudo ufw allow out 21/tcp
 
 
La syntaxe est assez riche pour cibler plusieurs ports (séparés par des virgules), des rangées de ports (deux extrémités séparées par un ":"), etc.
 
Nous retrouvons nos petits facilement dans Gufw ... on clique sur "Édition", puis "Ajouter une règle" ...
 




Capture-Pare-feu : ajouter une règle.png

 




Supprimer une règle avec ou sans Gufw

:arrow: Je supprime une règle crée en intercalant "delete":  sudo ufw delete deny 22  va supprimer la règle sudo ufw deny 22

Nous retrouvons nos petits facilement dans Gufw ... on clique sur "Édition", puis "Supprimer une règle" ...





Recharger les règles avec ou sans Gufw

Quand on a ajouté ou supprimé une ou plusieurs règles, ceci n'est pas immédiatement pris en compte. Pour forcer le pare-feu à utiliser le nouveau jeu de règle, il faut le lui demander.


:arrow: Je recharge le nouveau jeu de règles: sudo ufw reload


Nous retrouvons nos petits facilement dans Gufw ... on clique sur "Édition", puis "Reload Rules" ...
 



Lister les règles et rapports d'écoute avec ou sans Gufw

Il est toujours plus agréable de pouvoir visualiser les jeux de règles que nous utilisons et l'état de la surveillance


:arrow: Je vérifie les jeux de règles de ufw via le terminal: sudo ufw status verbose

Remarque: l'ajout de verbose après sudo ufw status permet d'avoir tous les détails des jeux de règles, y compris quand le statut de ufw est inactif.

 
De son côté, Gufw montre en temps réel le jeu de règles que vous utilisez. Pour pouvez également afficher les rapports d'écoute, en cliquant sur "Édition" puis "Préférences" :
 

Capture-Pare-feu : préférences.png

 

 
Remarque: gufw fait du super boulot: les règles inutiles restent en grisé au lieu de prendre une belle couleur verte ou rouge (interdiction ou autorisation) dans la liste des règles.
 
Autre remarque: pour afficher les connexions en cours, il faut passer par le terminal et utiliser la commande
netstat.
Tapez netstst -nt pour avoir un aperçu rapide, mais cette commande permet d'aller beaucoup plus loin en jouant avec ses attributs.
 




Obtenir de l'aide avec ou sans Gufw


Dernière remarque donc: l'aide ... man ufw dans le terminal, ou bien "Aide" dans Gufw ... ainsi que les liens et sources de ce tuto. ;)



#4 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 11:41

Par défaut, aucune règle autre que permettre entrées et sorties sans regarder: donc il FAUT ajouter vos règles sans quoi ce pare-feu sera inutile.

Je répète :


Il FAUT ajouter vos règles sans quoi ce pare-feu sera inutile.




Comme pour tout pare-feu, il s'agit donc de définir deux jeux de règles:

:arrow: un premier jeu pour les entrées (connexions entrantes, internet qui veut communiquer avec votre machine)

:arrow: Un second jeu pour les sorties (connexions sortantes, votre machine qui veut communiquer avec internet)


Le principe général de construction des règles est très simple:


:arrow: Entrées (connexions entrantes): on interdit tout par défaut, puis on autorise en ajoutant des règles

:arrow: Sorties (connexions sortantes): on a deux approches:
 

:barrow: Jeu "minimal": on autorise tout et on interdit ponctuellement en ajoutant des règles

:barrow: Jeu "maximal": on interdit tout par défaut, puis on autorise ponctuellement en ajoutant des règles


Pour les sorties, les deux approches pourraient correspondre à des exigences et/ou compétences différentes en matière de sécurité.
Par soucis évident de simplicité, dans la suite, les règles seront données par la ligne de commande qui fonctionne chez tout le monde, mais on pourra préférer utiliser Gufw pour faire la même chose.



#5 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 14:11

Les règles pour les entrées:
 
 
On vient de voir le principe général:  on interdit tout par défaut, puis on autorise en ajoutant des règles.
 
Rappelons tout de même qu'auparavant, il faut bien activer le pare-feu: sudo ufw enable
 
Ceci fait, on interdit les connexions entrantes par défaut: sudo ufw default deny incoming
 
Quand on procède avec gufw, on obtient un bouclier vert sur sa partie haute:


Capture.png


 
Pour ceux qui auront besoin d'ouvrir certains ports pour des utilisations particulières de l'extérieur (VNC, SSH, ...), il faudra définir les règles correspondantes.

 

Je vous donne un exemple pour BOINC: sudo ufw allow in 31416/tcp

(auquel il faudrait ajouter sudo ufw allow out 31416/tcp si les sorties sont interdites par défaut - voir la dernière partie de ce tutoriel.)

Voir aussi la partie de ce tuto: Fonctionnement de base avec ou sans Gufw ainsi que wikipedia.org - Liste de ports logiciels




Il nous faut désormais nous occuper des connexions sortantes, et je vous rappelle que deux approches sont possibles, abordées dans les deux parties suivantes.



#6 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 14:36

Jeu "minimal" pour les sorties
 
 
Le principe, c'est d'autoriser par défaut les connexions sortantes, et de consolider ensuite cette règle permissive par un jeu de règles d'interdiction.
 
On autorise les connexions sortantes par défaut: sudo ufw default allow outgoing

Quand on procède avec gufw, on obtient un bouclier rouge (donc = danger) sur sa partie basse:
 
 
post-2-0-47397000-1437903545.png


Il s'agit donc désormais d'ajouter un jeu de règles de consolidation:
 
sudo ufw deny out 1:19
 
sudo ufw deny out 22:52
 
sudo ufw deny out 54:79
 
sudo ufw deny out 124:442
 
sudo ufw deny out 81:122/udp
 
sudo ufw deny out 444:65535

Enfin, on charge bien le jeu: sudo ufw reload
 


Remarque: ce jeu "minimal" de règles permet tout de même de passer les tests indiqués dans les sources de ce tutoriel.

Autre remarque: gufw  vous indique plus précisément l'effet de chaque règle "générale".
Par exemple, la règle : sudo ufw deny out 1:19 donne les 4 règles plus spécifiques suivantes dans le listing de vos règles:
1:19/tcp DENY OUT Anywhere
1:19/udp DENY OUT Anywhere

1:19/tcp DENY OUT Anywhere (v6)
1:19/udp DENY OUT Anywhere (v6)

 
 



 
 
C'est le moment: on peut s'entraîner à faire la même chose "en négatif": on part au contraire d'une interdiction générale de sortie et on autorise certaines connexions sortantes par des règles. C'est exactement l'approche considérée au paragraphe suivant: le jeu "maximal" de règles.
A titre d'exercice, on peut voir qu'ici, on peut remplacer notre jeu minimal par:
 
sudo ufw default deny outgoing
 
sudo ufw allow out 20,21
 
sudo ufw allow out 53
 
sudo ufw allow out 80

 

sudo ufw allow out 81:122/tcp

 

sudo ufw allow out 123
 
sudo ufw allow out 443
 


Finalement, c'est même plus clair, et on peut facilement voir à quoi chaque règle correspond. Mais pour éviter la redondance, penchons-nous à présent sur le jeu "maximal" de règles.



#7 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 17 juillet 2015 - 14:53

Jeu "maximal" pour les sorties
 
 
Le principe, c'est d'interdire par défaut les connexions sortantes, et ensuite seulement assouplir cette règle rédhibitoire par un jeu de règles de permission.
 
On interdit les connexions sortantes par défaut: sudo ufw default deny outgoing

Quand on procède avec gufw, on obtient un bouclier vert sur sa partie basse:
 
Capture-1.png

Il s'agit donc désormais d'ajouter un jeu de règles de permission, et nous allons cette fois un peu plus expliciter ce que l'on fait.
 

 



 
D'abord, l'essentiel et obligatoire:

 

Navigation:

pages http:
sudo ufw allow out 80/tcp

pages https:
sudo ufw allow out 443/tcp

DNS:
sudo ufw allow out 53/udp
 
 


 

Ensuite, les réglages propres à chacun selon l'usage du système:

 

 

FTP:

sudo ufw allow out 20,21/tcp

 

SFTP:

sudo ufw allow out 22/tcp
 

 

Messageries instantanées:

MSN
sudo ufw allow out 1863/tcp

Google Talk
sudo ufw allow out 5222/tcp
 
 

Clients mail:

 

sudo ufw allow out smtp

 

accompagné de

 sudo ufw allow out 110  (ou  sudo ufw allow out pop3 )

et / ou de
 sudo ufw allow out 143  (ou sudo ufw allow out imap)  

 

 

 

Torrent:

 

Transmission:

sudo ufw allow out 51413

sudo ufw allow out 6969/tcp

 

KTorrent:
sudo ufw allow out 443/tcp
sudo ufw allow out 4444/udp

 

Pou quelques applications de torrent, p2p ou Skype, il peut être intéressant de'utiliser les règles prédéfinies de Gufw.

 

Capture-Pare-feu.png

 

 

 

BOINC:

sudo ufw allow 31416/tcp

Gestion de l'heure réseau:

sudo ufw allow out 123

 

 

 

 

 

Mais encore ...

 

Telnet (23), DHCP (67,68), le partage de fichiers et d'imprimantes (135,136,137,138,139,445), VNC (5900:6000), IRC (6667:7000), un LAN ...

 

 

On voit bien que cette approche "maximale" convient bien à ceux qui un peu l'habitude, et qui pensent à ajouter ou supprimer une règle quand ils installent ou suppriment une application en nécessitant une.

 

 


 

C'est à vous de jouer désormais, en suivant ce tutoriel dans un premier temps, en l'adaptant à vos besoins stricts ensuite, et en le dépassant enfin: car il faut bien le reconnaître, ubf propose bien plus de finesse que ne le montre ce tutoriel.

 

Si le cœur vous en dit... :chinois:
 
 



#8 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 26 juillet 2015 - 22:04

Vous pouvez sur ce sujet apporter vos précisions, ou en demander !



#9 Severian

Severian

    Plus riant que sévère

  • Eminence Verte
  • PipPipPipPipPipPipPip
  • 747 Messages :
  • Gender:Male

Posté 27 juillet 2015 - 08:07

une astuce pour avoir gufw dans le menu avec debian

nano /usr/share/applications/gufw.desktop

et commentez (#) la ligne "OnlyShowIn=Unity;"


ob3-de10.pngbanner98x30.png


#10 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 27 juillet 2015 - 08:51

Merci !

 

Je suis sous gnome, et unity n'est pas installé sur mon système (Mate): du coup, je n'ai pas cette ligne à commenter puisqu'elle n’apparaît pas.

 

Mais un système avec unity, par exemple un ubuntu "classique" n'est-il pas aussi concerné par ton astuce ou seule Debian a dé-commenté cette ligne par défaut ?

 

Merci aussi à ceux qui vérifieront. ;)

 

 

 

Je vais intégrer tout ça au tutoriel.



#11 Severian

Severian

    Plus riant que sévère

  • Eminence Verte
  • PipPipPipPipPipPipPip
  • 747 Messages :
  • Gender:Male

Posté 27 juillet 2015 - 10:22

Si votre système utilise Unity, il est possible que cette icône n'apparaisse pas dans votre menu d'administration. Pour y remédier, on peut suivre cette astuce:

en root

nano /usr/share/applications/gufw.desktop
et commentez (en insérant # devant) la ligne "OnlyShowIn=Unity;"


en fait c'est l'inverse, gufw n'apparait dans le menu que si unity / gnome est utilisé.
avec les autre bureau (mate, xfce, ...) gufw n'apparait pas dans les menus, il faut commenter la ligne pour qu'il apparaisse

je n'ai pas été clair dans ma première explication, désolé :)

ob3-de10.pngbanner98x30.png


#12 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 27 juillet 2015 - 12:23

Merci de tes précisions, que j'ai répercutées dans le tuto en restant évasif. :transpi:



#13 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 15 janvier 2016 - 07:42

Hello,

 

 

je viens d'ajouter en sommaire le tuto vidéo qui vient de sortir sur Grafikart, qui est vraiment idéal pour prendre la suite du notre, et présente deux commandes très pratiques: numered et applist.

 

 

http://www.grafikart...rveur-linux/ufw



#14 vigen

vigen

    Hardcore Papa

  • Tonton Flingueur
  • PipPipPipPipPipPipPipPipPip
  • 6 545 Messages :
  • Gender:Male
  • Location:Normandie

Posté 15 janvier 2016 - 18:31

Oui....Sinon il faut etre "prémium", pour avoir la vidéo ^^

 

Bien entendu, Flashgot est notre ami !!! :transpi:



#15 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 797 Messages :
  • Gender:Male

Posté 15 janvier 2016 - 18:36

Oui....Sinon il faut etre "prémium", pour avoir la vidéo ^^

 

Bien entendu, Flashgot est notre ami !!! :transpi:

 

 

Non non, pour la visionner, autant de fois que tu veux, c'est en accès libre. C'est si tu veux la télécharger que tu devrais être premium. Mais comme tu sais, ça se contourne. Il me semble que l'auteur n'est pas du tout dans une logique d'obligation ou de rentabilisation.



#16 Darksky

Darksky

    Martien

  • Eminence Verte
  • PipPipPipPipPipPipPipPip
  • 1 212 Messages :
  • Gender:Male
  • Location:Belgique

Posté 15 janvier 2016 - 18:36

J'ai pas de soucis pour la vidéo de mon côté.

 

Merci Noisette, c'est bien foutu comme vidéo :)

J'y ai vu plus clair en tout cas depuis que tu as posté ton article.


"Ils ne savaient pas que c'était impossible, alors ils l'ont fait."

Mark Twain




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)