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
Prochaine révision Les deux révisions suivantes
ufw [Le 09/05/2013, 14:33]
85.2.132.100 [Autoriser le ping]
ufw [Le 20/01/2018, 06:26]
ar barzh paour [Activer / Désactiver UFW]
Ligne 1: Ligne 1:
-{{tag>Lucid natty oneiric precise quantal ​console pare-feu réseau sécurité}}+{{tag>Precise Trusty ​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 une interface graphique pour UFW : [[Gufw]].</​note> ​ +<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]]. 
-<note tip>Il exite aussi une interface ​graphique kde pour UFW [[http://kde-apps.org/content/show.php?​content=137789|ici]].</​note>​+ 
 +Il existe également ​une interface ​spécialement adapté ​pour KDE (Kubuntu) depuis Trusty (14.04) : [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​ufw-kde]]**. Pour les versions antérieures,​ voir éventuellement [[https://projects.kde.org/projects/playground/​sysadmin/​ufw-kde|ici]].</​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>​
  
-  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,​ celle 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 sortant 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 Uncomplicated Firewall, 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 verbose+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>​ +
-L'​argument ''​verbose''​ est optionnel. Cependant, à partir d'​Ubuntu 10.04 il est vivement recommandé car il va permettre d'​afficher la direction du trafic dans les règles.+
  
-=== Numéro ​de règle ​=== +==== Les commandes ​de base ====
-Vous pouvez afficher les règles numérotées. +
-  sudo ufw status numbered+
  
-==== Les commandes de base ====+=== Activer/​désactiver la journalisation ​===
  
 Activer la journalisation :  Activer la journalisation : 
Ligne 112: 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 une règle : 
  
-Supprimer : +  sudo ufw delete allow "ou deny" [règle]
  
-  sudo ufw delete allow [règle]+Supprimer simplement une règle ​d'​après son [[#​numéro_de_regle|numéro]:
  
-Supprimer simplement une règle d'​après son [[#​numéro_de_regle|numéro]+  sudo ufw delete ​[numéro]
-<​code>​sudo ufw delete NUM</​code>​+
  
 +  *[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é.
  
-==== La syntaxe des règles ​====+==== Règles simples ​====
  
-=== 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 139: Ligne 174:
 === 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 : 
 <​code>​less /​etc/​services</​code>​ <​code>​less /​etc/​services</​code>​
Ligne 150: Ligne 186:
 3° exemple : Autoriser le protocole pop3 sécurisé 3° exemple : Autoriser le protocole pop3 sécurisé
 (réception du courrier de Gmail et autres messageries utilisant ce protocole sécurisé) : (réception du courrier de Gmail et autres messageries utilisant ce protocole sécurisé) :
-<​code>​sudo ufw allow out pop3s/tcp</​code>​ +<​code>​sudo ufw allow out pop3s</​code>​
  
 +==== Utilisation avancée ====
  
 === Règles complexes === === Règles complexes ===
Ligne 161: Ligne 197:
   * 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 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 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 ===
  
-==== 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]] Vous pouvez insérer une règle à une position précise en utilisant le [[#​numéro_de_regle|numéro]]
-  ​sudo ufw insert NUM RULE +<​code>​sudo ufw insert NUM RULE</​code>​ 
-  * Insérer en numéro 2 une règle refusant le traffic ​entrant utilisant le protocole (//proto//) UDP (//to//) en direction de (//any//) toute les adresses en écoutes ​sur votre machine sur le port (//port//) 514 en provenance (//from//) de 1.2.3.4 +  * 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 
-  sudo ufw insert 2 deny proto udp to any port 514 from 1.2.3.4 +<​code>​sudo ufw insert 2 deny proto udp to any port 514 from 1.2.3.4</​code
- +  
- +
- +
- +
- +
- +
-<note warning>​Dans le cas où vous devez bloquer une ip spécifique (ex: sudo ufw deny from <​ip_a_bloquer>​) sur un service que vous avez ouvert, +
- +
-il vous faudra [[:​tutoriel:​comment_modifier_un_fichier|éditer le fichier]] **/etc/​ufw/​before.rules** et y ajouter une section "Block IP" après la section "Drop INVALID packets"​ +
- +
-<file># drop INVALID packets (logs these in loglevel medium and higher) +
--A ufw-before-input -m state --state INVALID -j ufw-logging-deny +
--A ufw-before-input -m state --state INVALID -j DROP +
- +
-# Block IP +
--A ufw-before-input -s <​ip_a_bloquer>​ -j DROP +
-</​file>​ +
-</​note>​+
 ===== 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 : 
  
-Pour cela 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>​
  
-<​file>​IPV6=yes</​file>​+Il ne reste plus qu'à relancer UFW : 
  
-Il ne reste plus qu'à désactiver et activer de nouveau UFW : +  sudo ufw reload
  
-<​code>​ 
-sudo ufw disable 
-sudo ufw enable 
-</​code>​ 
 <​note>​ <​note>​
-Il vous faudra sûrement alors supprimer puis recréer vos règles.+Si le support d'IPv6 n'​était pas activé, il vous faudra sûrement alors supprimer puis recréer vos règles.
 </​note>​ </​note>​
 +
 ==== Ne pas autoriser le ping ==== ==== Ne pas autoriser le ping ====
  
Ligne 209: Ligne 229:
 Il faut [[:​tutoriel:​comment_editer_un_fichier|éditer]] ''/​etc/​ufw/​before.rules''​ et commenter en ajoutant un "​**#​**"​ à la ligne suivante :  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>​ <​code>#​ -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT</​code>​
-  
-==== Autoriser le ping ==== 
  
-Sous [[:​Lucid|Lucid Lynx]], si vous avez configuré UFW à refuser par défaut les connexions sortantes, vous constaterez que vous ne pouvez plus effectuer de ping.  +==== Bloquer HADOPI ====
-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 +Bloquer toutes les IP de la HADOPI :
-  -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT +
-  -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT +
-  -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**"​+    sudo ufw deny from 90.80.155.240/​28 
-Bien entendu, si vous désirez désactiver certains types de ping, il vous suffit de rajouter un "​**#​**"​ devant ​la ligne du type indésirable. ​+    sudo ufw deny from 80.12.48.0/​24 
 +    sudo ufw deny from 5.23.42.12/​30 
 +    sudo ufw deny from 195.5.217.72/​29 
 +    sudo ufw deny from 81.80.36.231 
 +    sudo ufw deny from 81.80.36.232 
 +    sudo ufw deny from 81.80.36.233 
 +    sudo ufw deny from 81.80.36.234 
 +    sudo ufw deny from 194.79.189.240/​29 
 +     
 +    Cette configuration ​de blocage ne sert strictement à rien puisque que ce n'est pas la HADOPI qui récupère les IP !!!
  
-<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 755  
- +====  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érifiez la configuration du routeur."​ +
-echo "Les réglages sont issus du site support http://​support.microsoft.com/​kb/​324214/​en-us"​ +
-</​code>​+
  
 +  sudo  ufw logging off
 +  sudo  ufw logging low
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * (en) [[https://​wiki.ubuntu.com/​UncomplicatedFirewall|UncomplicatedFirewall]] sur le wiki ubuntu anglophone   * (en) [[https://​wiki.ubuntu.com/​UncomplicatedFirewall|UncomplicatedFirewall]] sur le wiki ubuntu anglophone
-  * ( fr ) [[http://​leshirondellesdunet.com/​pages/​parefeu.php]] ​un tutoriel pour apprendre à configurer ufw +  * ( 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+  * (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.txt
  • Dernière modification: Le 01/01/2023, 03:12
  • par Benjamin Loison