Ufw
Apparence
Liens
Configuration
![]() |
Once a rule is matched the others will not be evaluated so you must put the specific rules first. |
# lister les règles
ufw status verbose
# lister les commandes qui ont permis d'ajouter des règles
ufw show added
# autoriser les connections tcp sur le port 53
ufw allow 53/tcp comment 'DNS tcp 53'
# autoriser une ip à accéder au port 22 en tcp quelle que soit la destination (any)
ufw allow from 192.168.0.1 to any port 22 proto tcp
# supprimer le règle qui autorise les connections tcp sur le port 53
ufw deny 53/tcp
# lister les régles avec leur numéro
ufw status numbered
# supprimer la règle numéro 2
ufw delete 2
# insérer une règle en position 1
ufw insert 1 allow 53/tcp
# interdire les connections udp sur le port 53
ufw deny 53/udp
# allow any protocol from inside 192.168.0.0/24 LAN
ufw allow from 192.168.0.0/24
# allow incoming rate limited SSH traffic from anywhere
ufw limit ssh
|
Applications
# lister les configurations pour les applications (/etc/ufw/applications.d/*)
ufw app list
# appliquer la configuration de l'application [appname]
ufw allow [appname] comment 'tcp xx'
# only for packages from 192.168.0.0/24
ufw allow from 192.168.0.0/24 [appname]
# only for packages to 192.168.0.0/24
ufw allow to 192.168.0.0/24 [appname]
# ne plus appliquer la configuration de l'application [appname]
ufw delete allow [appname]
# update ufw after having modified the [appname] config file
ufw app update [appname]
# display the info on the [appname] config file
ufw app info [appname]
|
Applications custom
/etc/ufw/applications.d/dnsmasq |
/etc/ufw/applications.d/openvpn |
/etc/ufw/applications.d/transmission |
/etc/ufw/applications.d/amule |
/etc/ufw/applications.d/minidlna |
Démarrage / status
![]() |
Ne pas oublier d'ouvrir le port SSH avant de démarrer UFW. |
# démarre/stoppe ufw et l'ajoute/le retire des programmes à lancer au démarrage
ufw enable
ufw disable
# démarre ufw
ufw reload
# redémarrer le firewall
sudo service ufw restart
sudo ufw reload
# lister les régles
ufw status verbose
|
Règles
/etc/ufw/before.rules |
-A ufw-before-input -p 2 -d 224.0.0.1 -j ACCEPT |
/etc/ufw/before6.rules |
# règle pour autoriser le multicast
-A ufw6-before-input -p icmpv6 --icmpv6-type 130 -s fe80::/10 -j ACCEPT
|
ufw deny from 0.0.0.0 |
Log
Multicast
/var/log/ufw.log |
[UFW BLOCK] IN=eth0 OUT= MAC=01:00:5e:00:00:01:e8:b7:48:bb:29:94:08:00
SRC=0.0.0.0
DST=224.0.0.1
LEN=32 TOS=0x00 PREC=0xC0 TTL=1 ID=0 DF PROTO=2
# depuis le serveur lui-même
SRC=0.0.0.0
# NDP (neighbor discovery protocol) uses 224.0.0.1 to send a packet in multicast
# 224.0.0.0/8 adresses multicast
DST=224.0.0.1
[UFW BLOCK] IN=eth0 OUT= MAC=33:33:00:00:00:01:00:30:18:54:28:2a:86:dd
SRC=fe80:0000:0000:0000:0230:18ff:fe54:282a
DST=ff02:0000:0000:0000:0000:0000:0000:0001
LEN=72 TC=0 HOPLIMIT=1 FLOWLBL=0 PROTO=ICMPv6 TYPE=130 CODE=0
# depuis le serveur lui-même (ipv6 du serveur)
SRC=fe80:0000:0000:0000:0230:18ff:fe54:282a
# NDP (neighbor discovery protocol) uses ff02::1 to send a packet in multicast
DST=ff02:0000:0000:0000:0000:0000:0000:0001
|
# ufw ne log plus s'il trouve une règle qui correspond
# il suffit donc d'autoriser ou d'interdire ces flux
sudo ufw deny from 0.0.0.0 to 224.0.0.1
sudo ufw deny from fe80::0230:18ff:fe54:282a to ff02::1
|
Erreurs
UFW ne se lance pas au démarrage
Utiliser cron
En l'absence de solution, cron peut lancer UFW après un reboot.
crontab |
@reboot root ufw enable
|
Modifier le service UFW
/lib/systemd/system/ufw.service |
#Before=network.target
After=network-pre.target # doesn't work
After=netfilter-persistent.service # doesn't work
|
[UFW BLOCK] SRC=192.168.0.254 DST=224.0.0.1
# [UFW BLOCK] IN=eth0 OUT= MAC=XX:...:XX SRC=192.168.0.254 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x80 TTL=1 ID=0 DF PROTO=2
# autoriser
sudo ufw allow in on eth0 from 192.168.0.254 to 224.0.0.1 comment 'Multicast'
# interdire
sudo ufw deny from 192.168.0.254 to 224.0.0.1
|