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 26/05/2010, 23:00]
83.206.52.114
ufw [Le 01/01/2023, 03:12] (Version actuelle)
Benjamin Loison Uniformisation de la mise en page
Ligne 1: Ligne 1:
-{{tag>Hardy console ​sécurité ​pare-feu réseau}}+{{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.//
  
-[[Hardy|Ubuntu 8.04 LTS Hardy Heron]] introduit ​un nouvel outil de configuration simplifié en [[:​console|ligne de commande]] de NetFilter en complément de l'​outil ​déjà disponible ​[[:IPTables]] et 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. ​
  
-À noter qu'une interface graphique ​sous Gnome est en développement ​: [[Gufw]].+<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]]. 
 + 
 +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é,​ mais si besoin vous devez simplement [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] [[apt://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 =====
  
-L'outil UFW n'est pas activé par défautil vous faut donc avoir les [[:​sudo|droits administrateur]] en [[:​console|ligne de commande]].+<​note>​L'ordre de déclaration des règles ​est très importantle 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 UFW :+==== 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]].  
 + 
 +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 d'ufw disponible par défaut avec Lucid Lynx permet ​de paramètrer aussi bien les règles par défaut entrantes comme 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 Lynx**+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>​
  
-  sudo ufw default allow outgoing+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]].
  
-Refuser le trafic entrant suivant les règles par défaut :+=== Numéro de règle ===
  
-  ​sudo ufw default deny outgoing+Vous pouvez afficher les règles numérotées. 
 +  ​sudo ufw status numbered
  
 +==== Gestion des règles par défaut ====
  
-<​note>​Si vous obtenez **"​ERROR:​ / is world writable!"​** ​en voulant activer ufw, ces commandes devraient régler le problème :+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égiercependant vous pouvez tout de même modifier ​ces règles.
  
-  sudo chown root:root / +Autoriser le trafic entrant suivant les règles par défaut ​:
-  sudo chmod 755 / +
-</​note>​+
  
-==== Afficher l'​état actuel des règles ====+  sudo ufw default allow
  
-  sudo ufw status+Refuser le trafic entrant suivant les règles par défaut :
  
-Cette commande devrait vous afficher quelque chose comme ça :+  sudo ufw default deny
  
-<​code>​ +Autoriser le trafic sortant suivant les règles par défaut :
-Firewall loaded+
  
-To                      Action ​ From +  ​sudo ufw default allow outgoing
---                      ------ ​ ---- +
-apache2 ​                ​DENY ​   Anywhere ​       Apache Webserver ​     +
-openssh-server ​         ALLOW   ​Anywhere ​       SSH Logins ​           +
-192.168.0.2 pop3s       ​ALLOW ​  ​Anywhere ​                             +
-named                   ​DENY ​   Anywhere ​       WARNING: New service  +
-tcp:​8082 ​               DENY    10.0.0.0/​8 ​                           +
-tcp:​25 ​                 ALLOW   ​192.168.0.0/​24 ​                       +
-ntp                     ​ALLOW* ​ Anywhere ​                             +
-imaps                   ​ALLOW** Anywhere ​                             +
-tcp:​23 ​                 ALLOW** Anywhere ​                             +
-jabberd2 ​               ALLOW** Anywhere ​                            +
  
 +Refuser le trafic sortant suivant les règles par défaut :
  
-* rule for removed package '​ntpd'​ +  sudo ufw default deny outgoing
-** services not running +
-</​code>​+
  
 ==== Les commandes de base ==== ==== Les commandes de base ====
 +
 +=== Activer/​désactiver la journalisation ===
  
 Activer la journalisation : Activer la journalisation :
Ligne 105: Ligne 129:
   sudo ufw logging off   sudo ufw logging off
  
-Autoriser :+=== Ajouter/​supprimer des règles === 
 + 
 +Autoriser ​une connexion entrante ​:
  
   sudo ufw allow [règle]   sudo ufw allow [règle]
  
-Refuser :+Refuser ​une connexion entrante ​:
  
   sudo ufw deny [règle]   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 :+Supprimer ​une règle ​:
  
   sudo ufw delete allow [règle]   sudo ufw delete allow [règle]
 +  sudo ufw delete deny [règle]
  
-<note warning>​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>​+Supprimer simplement ​une règle ​d'après son [[#​numéro_de_regle|numéro]] :
  
-==== La syntaxe des règles ====+  sudo ufw delete [numéro]
  
-=== Règles simples ===+  *[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. Voici quelques exemples pour comprendre la syntaxe des règles de configuration.
Ligne 130: Ligne 175:
 === Utilisation des services === === 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..).\\+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 : Pour avoir la liste des services :
-  ​less /​etc/​services +<​code>​less /​etc/​services</​code>​ 
-Ex :autoriser ​le service SMTP :+1° exemple ​Autoriser ​le service SMTP :
 <​code>​sudo ufw allow smtp</​code>​ <​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 === === Règles complexes ===
Ligne 140: Ligne 195:
 L'​écriture de règles plus complexes est également possible : 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 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 à (//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 provenant (//from//) de 1.2.3.4 ​utilisant le protocole (//proto//) UDP sur le port (//port//) 514 :<​code>​sudo ufw deny proto udp from 1.2.3.4 to any port 514</​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 ===== ===== Configuration =====
  
 ==== IPv6 ==== ==== IPv6 ====
  
-UFW prend en charge les adresses IPv6 (certains utilisateurs apprécieront)mais nécessite une configuration complémentaire pour activer ​ce support.+UFW prend en charge les adresses IPv6
 +Le support d'IPv6 est désormais activé par défautsi 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>​
  
-Pour cela il suffit de [[:​tutoriel:​comment_editer_un_fichier|modifier le fichier]] **/​etc/​default/​ufw** et d'y mettre ceci :+Il ne reste plus qu'à relancer UFW :
  
-<​file>​IPV6=yes</​file>​+  sudo ufw reload
  
-Il ne reste plus qu'à désactiver et activer de nouveau UFW : +<note
- +Si le support d'IPv6 n'​était pas activé, il vous faudra sûrement alors supprimer puis recréer vos règles. 
-<code+</note>
-sudo ufw disable +
-sudo ufw enable +
-</code>+
  
 ==== Ne pas autoriser le ping ==== ==== 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 : 
-  # -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT 
-  
-==== Autoriser le ping ==== 
-Sous Lucid lynx, si vous avez configuré ufw à refuser par défaut les connexions sortantes, vous constaterez que vous ne pouvez plus effectuer de ping. 
-Pour y remédier il vous suffit d'​[[:​tutoriel:​comment_editer_un_fichier|éditer]] **/​etc/​ufw/​before.rules** et de dupliquer : 
  
-  # ok icmp codes input +Par défaut UFW autorise les requêtes de ping (ICMP Echo Requests). 
-  ​-A ​ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT +Il faut [[:​tutoriel:​comment_editer_un_fichier|éditer]] ''/​etc/​ufw/before.rules''​ et commenter en ajoutant un "​**#​**"​ à la ligne suivante :  
-  -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT +<​code># ​-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT</​code>​
-  -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT +
-  -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT +
-  ​-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT+
  
-puis de remplacer "​**input**"​ par "​**output**"​. 
-Bien entendu, si vous désirez désactiver certains type de ping, il vous suffit de rajouter un "#"​ devant la ligne du type indésirable. 
-  
  
-<note tip>​Script pour configurer UFW pour un fonctionnement optimal de MSN</note>+===== Problèmes connus ===== 
 +==== Si vous obtenez **"​ERROR: ​is world writable ====
  
-==== Ajouter les règles pour le protocole MSN ====+ en voulant activer Uncomplicated Firewall, ces commandes devraient régler ​le problème :
  
-<​code>​ +  ​sudo chown root:​root ​
-#!/bin/sh +  sudo chmod 0755 
- +====  Si vous n'avez plus de place disque ​==== 
-echo "Le programme va configurer les règles pour MSN Audio/​Vidéo/​Transfert de fichier."​ + 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 allow 6901 +
- +
-sudo ufw allow 6801/udp +
- +
-for i in `seq 2001 2120`; do +
-  sudo ufw allow $i/udp +
-done +
- +
-for i in `seq 6891 6900`; do +
-  sudo ufw allow $i/tcp +
-done +
- +
-echo "Tous les ports ont bien été configurés pour MSN."​ +
-echo "​Vérifier la configuration du routeur."​ +
-echo "Les réglages sont issus du site support http://​support.microsoft.com/​kb/​324214/​en-us"​ +
-</​code>​ +
- +
-===== Liens =====+
  
-  ​* Source : [[https://​wiki.ubuntu.com/​UbuntuFirewall|https://​wiki.ubuntu.com/​UbuntuFirewall]] (en)+  ​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]]
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​yoboy|YoBoY]].//​+//​Contributeurs : [[:​utilisateurs:​yoboy|YoBoY]], [[:​utilisateurs:​axel55|Axelos]].//
  • ufw.1274907621.txt.gz
  • Dernière modification: Le 18/04/2011, 14:57
  • (modification externe)