Security Policy — Palo Alto

Comprendre, lire et dépanner les règles de sécurité

1 — Les 5 critères
2 — Lire les règles
3 — Simulateur
4 — Dépannage

🎯 Les 5 critères d'une règle Security Policy

Clique sur chaque critère pour en savoir plus

Source Zone
D'où vient le trafic ?
trust, untrust, dmz
La zone source est déterminée par l'interface d'entrée du paquet.
Exemple : un user sur le LAN arrive par ethernet1/2 attachée à la zone trust.

⚠️ Si tu ne sais pas quelle zone utiliser → Network > Interfaces pour voir quelle zone est attachée à chaque interface.
Source IP
Qui envoie le trafic ?
192.168.1.0/24, any
Tu peux spécifier une IP, un sous-réseau, ou un Address Object (objet nommé).
Bonne pratique : utiliser des Address Objects plutôt que des IPs brutes pour faciliter la maintenance.

any = toutes les IPs sources sans restriction.
Destination Zone
Où va le trafic ?
untrust, dmz
La zone destination est déterminée par le Forwarding Lookup (étape 1 du Slowpath).
C'est la zone de l'interface de sortie vers la destination.

⚠️ Rappel : pour un DNAT, la zone destination dans la règle doit correspondre à l'IP publique (avant NAT).
Destination IP
Vers quelle IP ?
203.0.113.1, any
Même logique que la Source IP — IP, sous-réseau ou Address Object.

⚠️ Règle d'or : toujours utiliser l'IP avant NAT.
→ Pour un serveur nAtté : mettre l'IP publique, pas l'IP privée interne.
Application
Quel service/app ?
web-browsing, ssl, dns
C'est la grande force de Palo Alto : l'App-ID.
Au lieu de dire "autorise tcp/80", tu dis "autorise web-browsing".

Palo Alto identifie l'application réelle même si elle change de port.

💡 Pour débuter : tu peux utiliser any mais c'est une mauvaise pratique en production — on verra App-ID en détail dans le bloc 3.
Action
Autoriser ou bloquer ?
allow, deny, drop
Allow : le trafic est autorisé et transmis.
Deny : le trafic est bloqué et un TCP Reset est envoyé à l'expéditeur.
Drop : le trafic est bloqué silencieusement, sans notification.

💡 Pour le dépannage : deny est plus visible dans les logs qu'un drop.

📋 Exemple de table de règles

Palo Alto lit les règles de haut en bas et s'arrête à la première qui matche — clique sur une règle pour voir ce qu'elle fait.

# Nom Src Zone Src IP Dst Zone Dst IP App Action
1 Block-malware trust any untrust blacklist any deny
2 Allow-web trust any untrust any web-browsing, ssl allow
3 Allow-DNS trust any dmz 10.0.0.53 dns allow
4 Deny-all any any any any any deny
⚠️ Règle implicite : Palo Alto ajoute automatiquement une règle deny all en bas de liste — tout ce qui ne matche aucune règle est bloqué silencieusement.

🧪 Simulateur — Quel trafic est autorisé ?

Simule un flux et vois quelle règle matche (basé sur la table d'exemple)

🔧 Dépanner un user bloqué — Méthode

Un user ne peut pas accéder à un service ? Voici la méthode pas à pas.
ÉTAPE 1 — Regarder les logs
Monitor > Logs > Traffic
Filtre : addr.src in 192.168.1.10

Cherche la colonne Action : allow ou deny ?
Cherche la colonne Rule : quelle règle a matché ?
ÉTAPE 2 — Si deny → identifier pourquoi
→ Règle Deny-all a matché ? Aucune règle allow n'existe pour ce flux.
→ Une règle deny explicite a matché ? Le trafic est volontairement bloqué.
Pas de log du tout ? Le problème est en amont (route manquante, zone incorrecte).
ÉTAPE 3 — Tester en CLI
test security-policy-match source 192.168.1.10 destination 8.8.8.8 protocol 6 destination-port 443 Cette commande te dit exactement quelle règle Palo Alto va appliquer pour ce flux — sans envoyer de vrai trafic.
ÉTAPE 4 — Vérifier les zones
Si les zones dans les logs ne correspondent pas à ce que tu attends :
Network > Interfaces → vérifie quelle zone est attachée à chaque interface.

Erreur classique : règle écrite trust → untrust mais le trafic arrive sur une interface en zone dmz.
❌ Erreur classique #1
Écrire la règle avec l'IP privée du serveur au lieu de l'IP publique (voir leçon NAT).
❌ Erreur classique #2
Mauvaise zone dans la règle — toujours vérifier quelle zone est attachée à l'interface d'entrée/sortie.
⚠️ Piège App-ID
Une règle allow tcp/443 peut bloquer une app si App-ID identifie une application non autorisée sur ce port.
✅ Bonne pratique
Toujours activer le logging sur les règles deny pour voir ce qui est bloqué dans Monitor > Logs > Traffic.