{{tag>netadmin linux firewall firewalld ipset}} ====== firewalld : Configuration des ensembles IP (IP Sets) ====== :TODO: Un **ipset** est un groupe nommé d'adresses IP (hôtes ou réseaux) ou d'adresses MAC. firewalld pourra utiliser ces ensembles comme sources sur les zones (avec le préfixe ''ipset:'') ou dans les règles enrichies (rich rules) ===== Créer un ipset ===== La création d'un ipset exige la présence de l'argument ''%%--permanent%%''. Pour qu'il puisse être disponible dans l'environnement d'exécution (runtime environment), il faut recharger le service après la commande de création. # Par défaut l'ensemble contient des adresses IPv4 firewall-cmd --permanent --new-ipset=blacklisted-hosts --type=hash:ip # Creation d'un ipset avec des adresses ipv6 firewall-cmd --permanent --option=family=inet6 --new-ipset=blacklisted-hosts-v6 --type=hash:ip # MAJ de l'environnement d'exécution firewall-cmd --reload La création de l'ensemble ou la modification de ses propriétés nécessitent l'argument ''%%--permanent%%''. En revanche la mise à jour du contenu de l'ensemble pourra être faite dans l'environnement d'exécution. Lors de la création il est possible de spécifier quelques options comme vu précédemment via l'argument ''%%--option%%''. Les options disponibles sont : * ''family:'' la valeur peut être ''inet'' ou ''inet6'' ; * ''timeout:'' suivie d'une valeur entière, TTL en secondes d'un élément de la liste; * ''hashsize:'' valeur entière ; * ''maxelem:'' valeur entière, nombre d'éléments max de l'ensemble. # Création d'un ipset dont les éléments sont temporaires firewall-cmd --permanent --option=timeout=240 --option=maxelem=64 --new-ipset=temporary-blacklist --type=hash:ip firewall-cmd --permanent --ipset=temporary-blacklist --set-description="Rejette tout trafic des membres de la liste pendant 4 minutes." firewall-cmd --permanent --zone=block --add-source=ipset:temporary-blacklist # Lister les ensembles existants firewall-cmd --get-ipsets # Détails de l'ensemble "blacklisted-hosts" firewall-cmd --info-ipset=blacklisted-hosts #Ajouter un élément à l'ensemble firewall-cmd --ipset=blacklisted-hosts --add-entry=192.168.123.10 # Affecter l'ensemble comme source de la zone block pour rejeter tout trafic firewall-cmd --zone=drop --add-source=ipset:blacklisted-hosts ===== Références ===== * https://firewalld.org/documentation/ipset/ * https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/security_guide/sec-setting_and_controlling_ip_sets_using_firewalld * https://datacadamia.com/os/linux/firewalld/ipset