260823-Le réglage du parefeu Postmaster
Portmaster — la découverte réseau et le NAS maison
Poste julie (DESKTOP-B7J2KGP), Windows 10. Installation de Safing Portmaster 2.2.1 le 22/08/2026 à 10:58, réglage le 23/08/2026.
Portmaster est un pare-feu applicatif qui s'insère au niveau WFP via son pilote portmaster-kext.sys. Il double le pare-feu Windows et c'est lui qui tranche : inutile d'aller chercher du côté de Defender.
safing)
Service
PortmasterCore, démarrage automatique
Binaires
C:\Program Files\Portmaster
Données et journaux
C:\ProgramData\Portmaster
API locale
http://127.0.0.1:817
1. Le symptôme, et ce qui n'était pas en cause
Plus aucune découverte réseau sur le poste : le NAS Synology maison (192.168.1.17, \\NASMAISON) n'apparaissait plus dans le volet Réseau de l'Explorateur.
Le premier réflexe — soupçonner le réseau ou le NAS — était faux. Tout répondait :
192.168.1.26/24, passerelle et DNS 192.168.1.1
Ping 192.168.1.17
répond
MAC du NAS
00-11-32-9C-8E-C9 — OUI Synology
Ports TCP
445, 139, 22, 80 ouverts (5000/5001 fermés)
Résolution du nom
NASMAISON → NASMAISON.local = 192.168.1.17, par mDNS
Lecteur A: → \\NASMAISON\foxy
monté et lisible, 55 entrées
Leçon : l'accès n'a jamais été rompu, seule la découverte l'était. Distinguer les deux dès le départ fait gagner beaucoup de temps.
Détail annexe, non symptomatique : \\192.168.1.17\foxy échoue alors que \\NASMAISON\foxy fonctionne. L'identifiant Windows est enregistré sous la cible NASMAISON (utilisateur juxjux), pas sous l'adresse IP — comportement normal de cmdkey.
2. Le diagnostic
La preuve est dans le journal de Portmaster, C:\ProgramData\Portmaster\logs\2026-08-22_10-57-46.log :
2026-08-23 07:12:50 filter: connection AUTORITE NT\SERVICE LOCAL:
C:\Windows\System32\svchost.exe:12184 <- 192.168.1.17
dropped: inbound connections blocked
svchost.exe PID 12184 héberge le service SSDPSRV (Découverte SSDP) — identifié par Get-CimInstance Win32_Service -Filter "ProcessId=12184".
Cadence des rejets : 05:56, 06:11, 06:26, 06:42, 06:57, 07:12 — toutes les ~15 minutes, soit exactement le rythme des annonces SSDP périodiques du NAS.
Répartition des 1 802 blocages du même motif :
92.184.113.225
441
syncthing.exe
192.168.1.26 (le poste lui-même)
421
—
192.168.1.1 (Livebox)
330
—
192.168.1.17 (NAS)
249
SSDPSRV
192.168.1.19
153
—
IPv6 globales 2a01:cb1c:…
~80
syncthing.exe, SSDPSRV
À noter : le trafic sortant passait bien (287 requêtes SSDP acceptées vers 239.255.255.250:1900). Le poste interrogeait, mais les annonces du NAS, qui arrivent en entrant non sollicité, étaient jetées.
3. La cause
Le réglage filter/blockInbound — « Force Block Incoming Connections » — activé par défaut à l'installation.
Sa propre description est sans ambiguïté : « Is stronger than Rules ». Aucune règle entrante ne peut le contourner, ce qui explique qu'aucun réglage fin ne suffisait tant qu'il restait coché.
État des réglages liés au moment du diagnostic :
filter/blockInbound
True (défaut)
la cause
filter/defaultAction
permit (défaut)
action si aucune règle ne correspond
filter/serviceEndpoints
[]
Incoming Rules, vides
filter/blockLAN
False (défaut)
non impliqué
4. La configuration retenue
Incoming Rules, dans cet ordre impératif :
Localhost
2
Allow
LAN
3
Block
*
puis décocher Force Block Incoming Connections.
Localhost, LAN et Internet sont des mots-clés de portée reconnus par Portmaster, au même titre qu'une adresse ou un CIDR. Les utiliser vaut mieux que d'écrire 192.168.1.0/24 : la portée suit le réseau, la règle ne devient jamais caduque.
Variante resserrée
Si l'on veut n'ouvrir que le strict nécessaire à la découverte, plutôt que tout le LAN — cela laisse notamment les partages administratifs C$, D$, E$ et le RPC fermés y compris depuis le réseau local :
Localhost
boucle locale
Allow
LAN UDP/1900
SSDP — les annonces du NAS
Allow
LAN UDP/3702
WS-Discovery
Allow
LAN TCP/5357
WSDAPI, l'échange qui construit l'icône
Block
*
tout le reste
Pour Syncthing en direct sur le LAN, ajouter avant le Block : LAN TCP/22000, LAN UDP/22000, LAN UDP/21027.
5. Les pièges — à ne pas redécouvrir
1. Incoming Rules est invisible en mode Simple.
filter/serviceEndpoints est de niveau expert (ExpertiseLevel 1), tandis que filter/endpoints (Outgoing Rules) est de niveau user — d'où l'impression trompeuse que seules les règles sortantes existent. Basculer l'interface sur Advanced Interface : sélecteur en haut à droite de la fenêtre, ou Settings → User Interface → UI Mode. Les réglages masqués restent actifs.
2. Ne jamais taper le + ou le - dans le champ de la règle.
Le menu Allow/Block fournit déjà le signe. Saisir + LAN produit + + LAN et déclenche :
Invalid Value: validation of filter/serviceEndpoints failed:
entry #1 did not match validation regex
La regex de validation est :
^(\+|\-) (! +)?[A-z0-9\.:\-*/]+( [A-z0-9*]+(/[A-z0-9]+(\-[A-z0-9]+)?)?)?( +#.*)?
Le + n'appartient pas à la classe de caractères qui suit le signe. La syntaxe + LAN / - * est celle du fichier de configuration, pas de l'interface graphique.
3. Block * sans Allow Localhost au-dessus casse la boucle locale.
Constaté en direct :
07:43:31 firefox.exe <- 127.0.0.1 dropped: denied by rule: matches *
07:43:18 syncthing.exe <- 127.0.0.1 changed from accepted to dropped
07:43:18 steam.exe <- 127.0.0.1 changed from accepted to dropped
07:43:18 dasHost.exe <- ::1 changed from accepted to dropped
L'interface Syncthing sur 127.0.0.1:8384 est tombée en timeout. Portmaster ré-évalue les connexions déjà établies et les coupe à chaud. Sur une machine de travail, une grande part du trafic légitime passe par la boucle locale.
Piège dans le piège : l'API de Portmaster s'auto-exempte et continue de répondre — elle ne sert donc pas de témoin pour détecter la panne.
4. L'ordre des règles fait tout. Évaluation de haut en bas, la première correspondance l'emporte. Block * doit être la dernière ligne. Les flèches à gauche de chaque ligne permettent de réordonner.
5. filter/defaultAction vaut permit. Une liste de règles sans Block * final n'est pas restrictive : tout ce qui ne correspond à aucune règle est autorisé. Décocher Force Block Incoming sans poser ce garde-fou ouvre la machine — point critique compte tenu de l'IPv6 (section 6).
6. L'API locale ment par omission. GET http://127.0.0.1:817/api/v1/config/options répond à n'importe quel processus, mais ne renvoie que les définitions et les valeurs par défaut : le champ Value reste vide même pour un réglage effectivement modifié, ce qui fait croire à tort que rien n'a été enregistré. Les endpoints qui exposent l'état réel (/api/v1/sync/settings/export) répondent :
403 The requesting process is not authorized to access the Portmaster API.
Vérifier par le journal, jamais par l'API.
7. Le profil réseau Windows n'a pas eu à être modifié. Il est resté sur Public et la découverte fonctionne. L'hypothèse initiale — passer en Privé et redémarrer FDResPub et upnphost — s'est révélée inutile. Ne pas y consacrer de temps.
6. IPv6 — le point de sécurité
Ce poste possède des adresses IPv6 globales routables : 2a01:cb1c:833b:d00:4958:51b1:629a:a6b4 et 2a01:cb1c:833b:d00:28cb:cac8:3621:d7d0 (préfixe Orange, obtenu par Router Advertisement).
En IPv6 il n'y a pas de NAT. La Livebox ne fait pas écran comme en IPv4 : Portmaster est la seule barrière. Ce que le poste expose au réseau :
ADMIN$, C$, D$, E$, IPC$
135 + 49664-49675
RPC (lsass, wininit, spoolsv, services)
5357
WSDAPI
22000
Syncthing
27036
Steam
La portée LAN ne couvre pas ces adresses globales — elles sont classées Global, pas LAN. Le Block * les refuse donc, ce qui est le comportement voulu.
Conséquence assumée : les liens Syncthing directs en IPv6 restent bloqués. Sans impact aujourd'hui, la synchronisation passant par le hub VPS (syncthing-vps, tcp-client vers 51.77.141.54:22000). Pour les rétablir, ajouter 2a01:cb1c:833b:d00::/64 au-dessus du Block * — en sachant que ce préfixe peut changer au redémarrage de la Livebox et rendre la règle caduque sans le moindre signal.
7. Vérification
État constaté après réglage :
127.0.0.1 / ::1
accepté — scope matches Localhost
LAN (192.168.1.x, fe80::)
accepté — scope matches LAN, 8 acceptations NAS, zéro rejet
IPv6 globales 2a01:cb1c:…
rejeté — denied by rule: matches *
127.0.0.1:8384 : HTTP 200
A: → \\NASMAISON\foxy : accessible, 55 entrées
fdPHost, SSDPSRV, FDResPub, upnphost : les quatre Running
Commande de contrôle, à relancer si le NAS redisparaît :
grep "192.168.1.17" /c/ProgramData/Portmaster/logs/*.log | tail -20
Attendu :
svchost.exe:12184 <- 192.168.1.17 accepted: allowed by rule: scope matches LAN
dasHost.exe:3608 to nasmaison. (192.168.1.17) accepted
dasHost.exe est le Device Association Host : le voir dialoguer avec nasmaison., c'est littéralement l'icône du NAS en train de se construire dans l'Explorateur.
Si l'on lit dropped: inbound connections blocked, c'est que Force Block Incoming Connections a été réactivé.
8. Chronologie
filter/blockInbound et les annonces SSDP
23/08 07:41
Allow LAN posé, Force Block Incoming décoché → NAS visible
23/08 07:43
Block * ajouté → boucle locale coupée, Syncthing GUI en timeout
23/08 07:45
Allow Localhost ajouté en tête → état final correct
23/08 07:46
Vérification des trois niveaux, conforme
9. Références
CLAUDE.md — section « Portmaster (pare-feu applicatif) sur julie », insérée le 23/08/2026
Journal Portmaster : C:\ProgramData\Portmaster\logs\
Aide intégrée à Portmaster : la syntaxe complète des règles (portées, domaines, pays, AS, listes de filtrage, protocoles et ports) est dans l'infobulle des champs Outgoing Rules et Incoming Rules