Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ufw [Le 03/10/2013, 10:03]
89.82.128.130 [Uncomplicated Firewall]
ufw [Le 01/01/2023, 03:12] (Version actuelle)
Benjamin Loison Uniformisation de la mise en page
Ligne 1: Ligne 1:
-{{tag>Lucid  precise quantal raring ​console pare-feu réseau sécurité}}+{{tag>Xenial ​console pare-feu réseau sécurité}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== Uncomplicated Firewall ====== ====== Uncomplicated Firewall ======
  
-//Le pare-feu tout simplement//​+//Le pare-feu tout simplement.//
  
 UFW est un nouvel outil de configuration simplifié en [[:​console|ligne de commande]] de [[wpfr>​Netfilter]],​ qui donne une alternative à l'​outil [[:​iptables]]. UFW devrait à terme permettre une configuration automatique du pare-feu lors de l'​installation de programmes en ayant besoin. ​ UFW est un nouvel outil de configuration simplifié en [[:​console|ligne de commande]] de [[wpfr>​Netfilter]],​ qui donne une alternative à l'​outil [[:​iptables]]. UFW devrait à terme permettre une configuration automatique du pare-feu lors de l'​installation de programmes en ayant besoin. ​
  
-<note tip>Il existe ​des interfaces graphiques ​pour UFW :  +<note tip>Si vous désirez activer et configurer votre pare-feu sur un ordinateur profitant d'un environnement de bureau, sachez qu'​il ​existe ​une interface graphique ​pour UFW : [[:Gufw]]
-  * [[Gufw]] (s'​intègre bien dans [X/L]Ubuntu)  + 
-  ​* [[http://kde-apps.org/​content/​show.php?​content=137789|UFW KControl Module]] (s'​intègre bien dans Kubuntu).</​note>​+Il existe également une interface spécialement adaptée pour KDE (Kubuntu) : ​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>ufw-kde]]**.</​note>​ 
  
 ===== Installation ===== ===== Installation =====
  
-Uncomplicated Firewall est pré-installé sous Ubuntu, mais si besoin vous devez simplement [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] [[apt>ufw|ufw]].\\+**Uncomplicated Firewall** est pré-installé sous Ubuntu, mais en cas de besoinvous devrez ​simplement [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ​**[[apt>​ufw]]**.\\
  
  
 ===== Utilisation ===== ===== Utilisation =====
-<​note>​ + 
-L'​ordre de déclaration des règles est très important, le système utilisant une politique « premier arrivé, premier servi ». Prenez donc soin d'​ajouter vos règles spécifiques avant les règles générales lorsqu'​elles concernent des éléments communs.</​note>​+<​note>​L'​ordre de déclaration des règles est très important, le système utilisant une politique « premier arrivé, premier servi ». Prenez donc soin d'​ajouter vos règles spécifiques avant les règles générales lorsqu'​elles concernent des éléments communs.</​note>​ 
 + 
 +==== Activer / Désactiver UFW ====
  
 L'​outil UFW n'est pas activé par défaut, il vous faut donc avoir les [[:​sudo|droits administrateur]] en [[:​console|ligne de commande]]. ​ L'​outil UFW n'est pas activé par défaut, il vous faut donc avoir les [[:​sudo|droits administrateur]] en [[:​console|ligne de commande]]. ​
  
-Activer UFW :+Vérifier le statut actuel : 
 + 
 +  sudo ufw status 
 + 
 +État : actif ou inactif 
 + 
 +Activer UFW : (c'est à dire appliquer les règles définies)
  
   sudo ufw enable   sudo ufw enable
  
-Désactiver UFW : +Désactiver UFW : (c'est à dire ne plus appliquer les règles définies)
  
   sudo ufw disable   sudo ufw disable
  
 +==== Afficher l'​état actuel des règles ====
  
-<note tip>La version ​de Uncomplicated Firewall disponible par défaut avec [[:Lucid]] permet de paramétrer aussi bien les règles par défaut entrantes que sortantes. </​note>​+Une unique commande qui vous permettra ​de jeter un œil sur la totalité des instructions que vous avez indiquées à UFW :
  
-Autoriser le trafic entrant suivant les règles par défaut : +  sudo ufw status verbose
  
-  sudo ufw default allow+Cette commande devrait vous afficher quelque chose comme ça :
  
-Refuser le trafic entrant suivant les règles par défaut ​+<​code>​ 
 +État actif 
 +Journalisation : on (low) 
 +Default: deny (incoming), allow (outgoing), disabled (routed) 
 +Nouveaux profils : skip
  
-  sudo ufw default deny+Vers                       ​Action ​     De 
 +----                       ​------ ​     -- 
 +80                         DENY IN     ​Anywhere 
 +443                        ALLOW IN    Anywhere 
 +22                         ALLOW IN    Anywhere 
 +192.168.0.2 995            ALLOW IN    Anywhere 
 +8082/​tcp ​                  DENY IN     ​10.0.0.0/​8 
 +25/​tcp ​                    ALLOW IN    192.168.0.0/​24 
 +80 (v6)                    DENY IN     ​Anywhere (v6) 
 +443 (v6)                   ALLOW IN    Anywhere (v6) 
 +22 (v6)                    ALLOW IN    Anywhere (v6)
  
 +23/​tcp ​                    DENY OUT    Anywhere
 +23/tcp (v6)                DENY OUT    Anywhere (v6)
 +</​code>​
  
-  * Si vous êtes sous [[:Lucid| Lucid Lynx 10.04]] ​(ou supérieur)+L'​argument ''​verbose''​ est optionnel, cependant il est vivement recommandé car il permet d'​afficher la direction du trafic dans les règles ​(IN : entrant, OUT : sortant)
  
 +=== Description du contenu ===
  
-Autoriser le trafic entrant suivant les règles par défaut ​+  Journalisation ​on (low)
  
-  sudo ufw default allow incoming+Indique que la journalisation est activée, vous pouvez retrouver toutes les interactions du pare-feu dans le fichier **/var/log/ufw.log** . Vous pouvez activer ou désactiver cette journalisation,​ voir [[#​Activer/​désactiver la journalisation|ici]].
  
-Refuser le trafic entrant suivant les règles par défaut ​+  Defaultdeny (incoming), allow (outgoing), disabled (routed)
  
-  sudo ufw default deny incoming+Concerne les règles par défaut de UFW, voir la rubrique [[#​gestion_des_regles_par_defaut|gestion des règles par défaut]] pour son paramétrage.
  
-Autoriser le trafic sortant suivant les règles par défaut : +<​code>​Vers ​                      ​Action ​     De 
 +----                       ​------ ​     -- 
 +80                         DENY IN     ​Anywhere 
 +443                        ALLOW IN    Anywhere 
 +[...] 
 +23/tcp (v6)                DENY OUT    Anywhere (v6)</​code>​ 
 + 
 +Liste toutes les règles que vous avez indiquées au pare-feu. (V6) correspond aux règles adaptées pour l'​IPv6,​ celles qui n'ont pas cette précision sont adaptées pour l'​IPv4. Pour l’édition de ces règles, voir la rubrique concernant [[#​Ajouter/​supprimer des règles|l’édition des règles]]. 
 + 
 +=== Numéro de règle === 
 + 
 +Vous pouvez afficher les règles numérotées. 
 +  sudo ufw status numbered 
 + 
 +==== Gestion des règles par défaut ==== 
 + 
 +Lorsque UFW est activé, par défaut le trafic entrant est refusé et le trafic sortant est autorisé. C'est en général le réglage à privilégier,​ cependant vous pouvez tout de même modifier ces règles. 
 + 
 +Autoriser le trafic entrant suivant les règles par défaut : 
 + 
 +  sudo ufw default allow 
 + 
 +Refuser le trafic entrant suivant les règles par défaut : 
 + 
 +  sudo ufw default deny 
 + 
 +Autoriser le trafic sortant suivant les règles par défaut :
  
   sudo ufw default allow outgoing   sudo ufw default allow outgoing
  
-Refuser le trafic sortant suivant les règles par défaut : +Refuser le trafic sortant suivant les règles par défaut :
  
   sudo ufw default deny outgoing   sudo ufw default deny outgoing
  
 +==== Les commandes de base ====
 +
 +=== Activer/​désactiver la journalisation ===
 +
 +Activer la journalisation :
 +
 +  sudo ufw logging on
 +
 +Désactiver la journalisation :
 +
 +  sudo ufw logging off
 +
 +=== Ajouter/​supprimer des règles ===
 +
 +Autoriser une connexion entrante :
 +
 +  sudo ufw allow [règle]
 +
 +Refuser une connexion entrante :
 +
 +  sudo ufw deny [règle]
 +  ​
 +Refuser une IP entrante :
 +<note warning>​Si vous voulez bloquer une IP sur tous vos services, il faut le faire "​avant"​ les autorisations existantes. D'où le "​insert 1" qui met ce "​deny"​ avant tous les "​allow"​. Dans le cas d'une série d'IP à bloquer vous pouvez utiliser à chaque entrée le "​insert 1", pas besoin de spécifier dans le cas présent une autre place</​note>​
 +  sudo ufw insert 1 deny from [ip]
 +  ​
 +Refuser une connexion entrante, uniquement en TCP :
 +
 +  sudo ufw deny [port]/tcp
 +
 +Refuser une connexion sortante :
 +
 +  sudo ufw deny out [règle]
 +
 +Supprimer une règle :
 +
 +  sudo ufw delete allow [règle]
 +  sudo ufw delete deny [règle]
 +
 +Supprimer simplement une règle d'​après son [[#​numéro_de_regle|numéro]] :
 +
 +  sudo ufw delete [numéro]
 +
 +  *[port] est à remplacer par le numéro du port désiré.
 +  *[règle] est à remplacer par le numéro du port ou le nom du [[#​Utilisation des services|service]] désiré.
 +  *[numéro] est à remplacer par le numéro de la règle désiré.
 +
 +==== Règles simples ====
 +
 +=== La syntaxe des règles ===
 +
 +Voici quelques exemples pour comprendre la syntaxe des règles de configuration.
 +
 +  * Ouverture du port 53 en TCP et UDP :<​code>​sudo ufw allow 53</​code>​
 +  * Ouverture du port 25 en TCP uniquement :<​code>​sudo ufw allow 25/​tcp</​code>​
 +
 +=== Utilisation des services ===
 +
 +UFW regarde dans sa liste de services connus pour appliquer les règles standards associées à ces services (apache2, smtp, imaps, etc..). Ces règles sont automatiquement converties en ports.
 +
 +Pour avoir la liste des services :
 +<​code>​less /​etc/​services</​code>​
 +1° exemple : Autoriser le service SMTP :
 +<​code>​sudo ufw allow smtp</​code>​
 +
 +2° exemple : Autoriser le port de Gnome-Dictionary (2628/tcp) :
 +<​code>​sudo ufw allow out 2628/​tcp</​code>​
 +
 +3° exemple : Autoriser le protocole pop3 sécurisé
 +(réception du courrier de Gmail et autres messageries utilisant ce protocole sécurisé) :
 +<​code>​sudo ufw allow out pop3s</​code>​
 +
 +==== Utilisation avancée ====
 +
 +=== Règles complexes ===
 +
 +L'​écriture de règles plus complexes est également possible :
 +
 +  * Refuser le protocole (//proto//) TCP à (//to//) tout le monde (//any//) sur le port (//port//) 80 : <​code>​sudo ufw deny proto tcp to any port 80</​code>​
 +  * Refuser à (//to//) l'​adresse 192.168.0.1 de recevoir sur le port (//port//) 25 les données provenant (//from//) du [[wpfr>​Sous-réseau#​Réseaux_privés|réseau de classe A]] et utilisant le protocole (//proto//) TCP : <​code>​sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25</​code>​
 +  * Refuser les données utilisant le protocole (//proto//) UDP provenant (//from//) de 1.2.3.4 ​ sur le port (//port//) 514 : <​code>​sudo ufw deny proto udp from 1.2.3.4 to any port 514</​code>​
 +  * Refuser à l'​adresse 192.168.0.5 de recevoir toutes données provenant du serveur web de la machine hébergeant le pare-feu : <​code>​sudo ufw deny out from 192.168.0.5 to any port 80</​code>​
 +
 +=== Insérer une règle ===
 +
 +Vous pouvez insérer une règle à une position précise en utilisant le [[#​numéro_de_regle|numéro]]
 +<​code>​sudo ufw insert NUM RULE</​code>​
 +  * Insérer en numéro 2 une règle refusant le trafic entrant utilisant le protocole (//proto//) UDP (//to//) en direction de (//any//) toute les adresses en écoute sur votre machine sur le port (//port//) 514 en provenance (//from//) de 1.2.3.4
 +<​code>​sudo ufw insert 2 deny proto udp to any port 514 from 1.2.3.4</​code>​
 +
 + ​===Réinitialiser UFW===
 +En cas d'​erreur de vos règles vous pouvez réinitialiser le pare feu comme au début de l'​installation en ouvrant un terminal puis vous écrivez:
 +<​code>​sudo ufw reset </​code>​
 +Vous pouvez aussi forcer sans demander d'​autorisation :
 +<​code>​sudo ufw reset --force</​code>​
 +  ​
 +===== Configuration =====
 +
 +==== IPv6 ====
 +
 +UFW prend en charge les adresses IPv6.
 +Le support d'IPv6 est désormais activé par défaut, si ce n'est pas le cas,
 +il suffit de [[:​tutoriel:​comment_editer_un_fichier|modifier le fichier]] **/​etc/​default/​ufw** et d'y mettre ceci : 
 +
 +<file bash /​etc/​default/​ufw>​IPV6=yes</​file>​
 +
 +Il ne reste plus qu'à relancer UFW :
 +
 +  sudo ufw reload
 +
 +<​note>​
 +Si le support d'IPv6 n'​était pas activé, il vous faudra sûrement alors supprimer puis recréer vos règles.
 +</​note>​
 +
 +==== Ne pas autoriser le ping ====
 +
 +Par défaut UFW autorise les requêtes de ping (ICMP Echo Requests).
 +Il faut [[:​tutoriel:​comment_editer_un_fichier|éditer]] ''/​etc/​ufw/​before.rules''​ et commenter en ajoutant un "​**#​**"​ à la ligne suivante : 
 +<​code>#​ -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT</​code>​
 +
 +
 +===== Problèmes connus =====
 +==== Si vous obtenez **"​ERROR:​ / is world writable ====
 +
 + en voulant activer Uncomplicated Firewall, ces commandes devraient régler le problème :
 +
 +  sudo chown root:root /
 +  sudo chmod 0755 /
 +====  Si vous n'avez plus de place disque ====
 + Il faut penser qu'il y a un problème de refus de connexion tracé dans  **/​var/​log**. Si non résolvable,​ l'une de ces commandes pourra masquer le problème:
 +
 +  sudo  ufw logging off
 +  sudo  ufw logging low
 +===== Voir aussi =====
 +
 +  * (en) [[https://​wiki.ubuntu.com/​UncomplicatedFirewall|UncomplicatedFirewall]] sur le wiki ubuntu anglophone
 +  * ( fr ) [[http://​www.leshirondellesdunet.com/​pages/​pare-feu.php]]
 +  * (en) [[http://​kde-apps.org/​content/​show.php?​content=137789|une interface graphique pour configurer ufw sous kde dans le panneaux de configuration]]
 +----
  
-<​note>​Si vous obtenez **"​ERROR: ​is world writable!"​** en voulant activer Uncomplicated Firewallces commandes ​+//​Contributeurs : [[:​utilisateurs:​yoboy|YoBoY]][[:​utilisateurs:​axel55|Axelos]].//​
  • ufw.1380787396.txt.gz
  • Dernière modification: Le 03/10/2013, 10:03
  • par 89.82.128.130