Règles Pare-feu OPNsense

Ce rôle gère les règles de pare-feu sur plusieurs interfaces réseau sur OPNsense via l'API REST.

Vue d’ensemble

Ce rôle gère les règles de pare-feu sur plusieurs interfaces réseau sur OPNsense via l’API REST. Il supporte la configuration pour les VLANs (VLAN10-22), WAN, LAN et les interfaces WireGuard. Le rôle fournit une gestion complète du cycle de vie : création de nouvelles règles, mise à jour des règles existantes lorsque la configuration change, et suppression des règles orphelines qui existent sur le pare-feu mais ne sont plus définies dans les fichiers de variables.

Ce que fait ce rôle

  1. Itère sur les interfaces :

    • vlan10, vlan12, vlan14, vlan16, vlan18, vlan20, vlan22
    • wg0, lan, wan
  2. Pour chaque interface avec des règles définies :

    • Récupère les catégories existantes via /api/firewall/category/searchItem et construit un mapping nom → UUID
    • Récupère les règles existantes via /api/firewall/filter/search_rule
    • Construit un mapping sequence → UUID pour l’idempotence
    • Crée les nouvelles règles (séquence inexistante) via /api/firewall/filter/addRule
    • Met à jour les règles existantes (séquence existante mais champs différents) via /api/firewall/filter/setRule
    • Supprime les règles orphelines (séquence présente sur le pare-feu mais absente des vars) via /api/firewall/filter/delRule
    • Applique la configuration via /api/firewall/filter/apply
  3. Affiche un résumé : liste les interfaces configurées

Variables du rôle

VariableDescription
vault_opnsense_bjoffrey_user_api_keyClé API OPNsense (depuis le vault)
vault_opnsense_bjoffrey_user_api_secretSecret API OPNsense (depuis le vault)
opnsense_firewall_rulesDictionnaire de règles par interface
opnsense_firewall_vlan10_rulesRègles VLAN10 (gestion)
opnsense_firewall_vlan12_rulesRègles VLAN12 (serveurs)
opnsense_firewall_vlan14_rulesRègles VLAN14 (postes de travail)
opnsense_firewall_vlan16_rulesRègles VLAN16 (WiFi de confiance)
opnsense_firewall_vlan18_rulesRègles VLAN18 (WiFi invité)
opnsense_firewall_vlan20_rulesRègles VLAN20 (WiFi CCTV)
opnsense_firewall_vlan22_rulesRègles VLAN22 (Ethernet invité)
opnsense_firewall_wg0_rulesRègles VPN WireGuard
opnsense_firewall_lan_rulesRègles interface LAN
opnsense_firewall_wan_rulesRègles interface WAN
opnsense_firewall_validate_certsValider les certificats SSL

Champs de définition de la règle :

ChampDescription
sequenceNuméro unique par interface (clé d’idempotence)
actionpass, block ou reject
interfaceNom de l’interface
descriptionDescription de la règle
protocoltcp, udp, icmp, etc.
source_netAdresse source (any, nom d’alias ou CIDR)
destination_netAdresse de destination
destination_portPort de destination
log"1" pour journaliser les paquets correspondants
categoriesNom de la catégorie (voir le rôle opnsense_firewall_categories)

Notes

  • Supprimer une règle des vars la supprime du pare-feu lors de la prochaine exécution
  • Les numéros de séquence doivent être uniques par interface mais peuvent être réutilisés entre interfaces
  • Définissez d’abord les catégories pare-feu avec le rôle opnsense_firewall_categories
  • Définissez d’abord les alias avec le rôle opnsense_aliases s’ils sont référencés dans les règles