Méthode
Déterminer les ports réels avant d'écrire la règle. Jamais l'inverse.
Côté serveur — ce qui écoute
Les ports de service, à mettre en destination d'une règle « postes vers serveur ». Lancer PowerShell en administrateur, sinon les processus SYSTEM remontent sans nom.
Get-NetTCPConnection -State Listen |
Where-Object LocalAddress -notmatch '^(127\.|::1)' |
Select-Object LocalPort,
@{n='Proc';e={(Get-Process -Id $_.OwningProcess -EA SilentlyContinue).ProcessName}} |
Sort-Object LocalPort -UniqueMême chose en UDP :
Get-NetUDPEndpoint |
Where-Object LocalAddress -notmatch '^(127\.|::1)' |
Select-Object LocalPort,
@{n='Proc';e={(Get-Process -Id $_.OwningProcess -EA SilentlyContinue).ProcessName}} |
Sort-Object LocalPort -UniqueCôté serveur — ce qui est réellement utilisé
Get-NetTCPConnection -State Established |
Where-Object { $_.RemoteAddress -notmatch '^(127\.|::)' } |
Select-Object LocalPort, RemoteAddress, RemotePort,
@{n='Proc';e={(Get-Process -Id $_.OwningProcess -EA SilentlyContinue).ProcessName}} |
Sort-Object LocalPort | Format-Table -AutoSize| Ce qu'on voit | Ce que ça veut dire |
|---|---|
LocalPort bas + RemotePort éphémère | session entrante — LocalPort est le port de service |
LocalPort éphémère + RemotePort connu | session sortante — RemotePort est le port à ouvrir |
État SynSent au lieu d'Established | la connexion échoue — flux mort, pas flux à ouvrir |
Proc = System (PID 4) | SMB (445) |
Proc = svchost sur 135 | endpoint mapper RPC |
Pour un flux nocturne, une tâche planifiée qui échantillonne suffit :
1..120 | ForEach-Object {
Get-NetTCPConnection -RemotePort <port> -EA SilentlyContinue |
Select-Object @{n='t';e={Get-Date -f 'HH:mm:ss'}}, State, RemoteAddress,
@{n='Proc';e={(Get-Process -Id $_.OwningProcess -EA SilentlyContinue).ProcessName}} |
Export-Csv C:\temp\capture.csv -Append -NoTypeInformation
Start-Sleep 5
}Tester le flux une fois la règle posée
Depuis la machine source, vers le serveur et le port de la règle :
Test-NetConnection -ComputerName <serveur> -Port <port>
TcpTestSucceeded : True : la session TCP s'établit. False alors que le service écoute : chercher dans les logs du firewall la règle qui a répondu, puis une éventuelle alarme. Il n'existe pas d'équivalent fiable en UDP : seul le log du firewall tranche.
Source : Microsoft — Test-NetConnection
Côté firewall — lire les logs
Avant d'exporter, ajouter les colonnes destination et port destination en numérique. Sans elles, on ne sait pas quel hôte est visé, et le nom d'objet du port raconte n'importe quoi (§ 05).
Puis regrouper par port destination, jamais dérouler chronologiquement : un seul équipement bavard noie tout le reste. Un numéro inconnu se vérifie dans l'index des ports : nom officiel, groupes du socle qui le contiennent, faux amis.
| Signature | Interprétation |
|---|---|
| Intervalle régulier à la seconde près — 30 s, 40 s, 1 min | boucle de retry, ou heartbeat |
| Rafale nocturne + quelques tentatives en journée | tâche planifiée, réussie ou non |
| Rien n'écoute côté destination | le flux échoue — à supprimer, pas à ouvrir |
Un flux représentant 87 % du trafic peut être du bruit à éliminer, et deux lignes noyées dans mille peuvent être la télésurveillance. Attention aussi au plafond d'export, souvent 1000 lignes : si le compte est rond, l'image est tronquée.
Retirer une règle Any
- Journaliser d'abord, plusieurs semaines. Ce qui apparaît dans ses logs est exactement la liste de ce que les règles spécifiques ne couvrent pas.
- Créer les règles nommées correspondantes.
- Passer la règle en
off, pas la supprimer, et filtrer les logs du block all pendant 48 h. - Supprimer une fois la fenêtre passée sans incident.
Une journée d'observation ne couvre ni l'hebdomadaire ni le mensuel. Viser au minimum une semaine, idéalement une clôture de mois.
L'analyse des logs regroupe ce trafic par port destination et donne les groupes du socle qui le couvrent ; l'analyse d'un export vérifie ensuite la politique obtenue.
Basculer une règle en IPS
- Vérifier que le niveau de journalisation a survécu au changement de profil.
- Surveiller Monitoring → Alarmes dans les heures qui suivent.
- Une alarme bloquante → profil dupliqué, alarme en « passer », appliquée à cette règle seule.
- Ne pas basculer plusieurs règles à la fois : on ne saurait pas laquelle a cassé.
Les connexions déjà établies ne sont pas réévaluées. La casse peut n'apparaître qu'à la prochaine reconnexion.