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:40] 85.2.132.100 [Les commandes de base] |
ufw [Le 13/10/2014, 13:47] axel55 importation brouillon |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Lucid natty oneiric precise quantal console pare-feu réseau sécurité}} | + | {{tag>Précise 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érieurs, 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'IPv5. 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 connexion entrante, uniquement en TCP : | ||
- | Supprimer : | + | 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 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]] : | ||
- | <code>sudo ufw delete NUM</code> | ||
+ | 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é. | ||
- | ==== 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 170: | ||
=== 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 182: | ||
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 193: | ||
* 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éré 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 225: | ||
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 | ||
- | <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://leshirondellesdunet.com/pages/parefeu.php|un tutoriel pour apprendre à configurer ufw]] |
- | * (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]].// |