Différences
Ci-dessous, les différences entre deux révisions de la page.
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:39] 85.2.132.100 [Les commandes de base] |
ufw [Le 02/07/2015, 16:28] 195.212.29.181 [Uncomplicated Firewall] grammar nazisme |
||
---|---|---|---|
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 9: | Ligne 9: | ||
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|ufw-kde]]. Pour les versions antérieures, voir éventuellement [[https://projects.kde.org/projects/playground/sysadmin/ufw-kde|ici]].</note> | ||
Ligne 19: | Ligne 20: | ||
===== 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]]. | ||
+ | |||
+ | Vérifier le statut actuel : | ||
+ | |||
+ | sudo ufw status | ||
+ | |||
+ | État : actif ou inactif | ||
Activer UFW : | Activer UFW : | ||
Ligne 32: | Ligne 41: | ||
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é à 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é, 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 : | + | Default: deny (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é 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égier, cependant 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 convertis 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 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 | ||
- | 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é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 : | ||
- | 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 pour 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 | ||
+ | |||
+ | Cet conf 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 ===== |
- | ==== Ajouter les règles pour le protocole MSN ==== | + | Si vous obtenez **"ERROR: / is world writable!"** en voulant activer Uncomplicated Firewall, ces commandes devraient régler le problème : |
- | <code> | + | sudo chown root:root / |
- | #!/bin/sh | + | sudo chmod 755 / |
- | + | ||
- | echo "Le programme va configurer les règles pour MSN Audio/Vidéo/Transfert de fichier." | + | |
- | + | ||
- | 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> | + | |
===== 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]].// |