Outils pour utilisateurs

Outils du site


netadmin:linux:ufw:exemples:ufw_ipset

Ceci est une ancienne révision du document !


Ajouter une règle basée sur ipset au firewall UFW

La présentation détaillée des ipsets est proposée dans le wiki  bloquer des adresses IP indésirables.

On cherche ici à créer une règle autorisant le trafic en sortie sur un port particulier (8000) vers un groupe d'adresses IP seulement.

# Création d'une groupe contenant au maximum 256 adresses
sudo ipset create canon_mfc hash:ip maxelem 256
 
# ajout de quelques adresses dans le groupe
sudo ipset add canon_mfc 192.168.0.10
sudo ipset add canon_mfc 192.168.0.20
sudo ipset add canon_mfc 192.168.0.33

Test de la règle

Dans un premier temps on utilise le cli iptables, les changements seront ainsi réversibles en cas d'erreur en rechargeant simplement le pare-feu ufw

# journaliser le trafic sortant autorisé
iptables -A ufw-after-output -m set --match-set canon_mfc dst -p tcp --dport 8000 -j ufw-logging-allow
 
# autorise en sortie
iptables -A ufw-after-output -m set --match-set canon_mfc dst -p tcp --dport 8000 -j ACCEPT

Vérifier la présence de la nouvelle règle dans la chaîne:

iptables -L ufw-after-output
...
ufw-logging-allow  tcp  --  anywhere             anywhere             match-set canon_mfc dst tcp dpt:8000
ACCEPT     tcp  --  anywhere             anywhere             match-set canon_mfc dst tcp dpt:8000

Contacter l’hôte sur le port 8000 et vérifier les traces dans les journaux système:

journalctl -k --since "1 minutes ago"
-- Logs begin at Wed 2021-06-16 14:39:52 CEST, end at Tue 2021-10-19 18:06:04 CEST. --
oct. 19 18:05:32 node-7c87 kernel: [UFW ALLOW] IN= OUT=enp0s31f6 SRC=192.168.0.1 DST=192.168.0.10 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=48686 DF PROTO=TCP SPT=38250 DPT=8000 WINDOW=64240 RES=0x00 SYN URGP=0
...
Si l'ipset est modifié après création de la règles les nouvelles IPs ajoutées ne seront pas autorisées contrairement à ce que peut afficher les journaul système. Il faut recharger la règles pour que l'ipset modifié soit utilisé par netfilter.
# modification du groupe
ipset add canon_mfc 192.168.0.218
 
# Le contact du nouvel hote échoue, les traces du journal système ne sont pas cohérents
journalctl -k --since "1 minutes ago"
-- Logs begin at Wed 2021-06-16 14:39:52 CEST, end at Tue 2021-10-19 18:15:34 CEST. --
oct. 19 18:15:26 node-7c87 kernel: [UFW ALLOW] IN= OUT=enp0s31f6 SRC=192.9.200.14 DST=192.9.200.218 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=291 DF PROTO=TCP SPT=60840 DPT=8000 WINDOW=64240 RES=0x00 SYN URGP=0
A retenir: TOUJOURS recharger les règles après modification d'un ipset.

Rendre la règle permanente

netadmin/linux/ufw/exemples/ufw_ipset.1634660625.txt.gz · Dernière modification : 2021/10/19 16:23 de yoann