Bei der Verwendung von Wildcard-Objekten entspricht der Datenverkehr nicht der richtigen Richtlinie.
Symptom
Der Datenverkehr übernimmt nicht die erwartete Regel mit Platzhalterobjekt.
Gegeben sei die folgende Konfiguration :
| Objektname | Adresse | Bedeutung | Beispiel für erwartete Übereinstimmungen |
|---|---|---|---|
| wildcard-10.128.0.1-0.127.0.0 | 10.128.0.1/0.127.0.0 | Übereinstimmung 10.128-255.0.1 |
10.128.0.1 |
| wildcard-10.128.0.1-0.127.255.0 | 10.128.0.1/0.127.255.0 | Übereinstimmung 10.128-255.0-255.1 |
10.128.0.1 |
| wildcard-10.128.0.1-0.15.255.0 | 10.128.0.1/0.15.255.0 | Übereinstimmung 10.128-143.0-255.1 |
10.128.0.1 |
| Regelbasis | Quelle |
|---|---|
| Regel A | wildcard-10.128.0.1-0.127.0.0 |
| Regel B | wildcard-10.128.0.1-0.127.255.0 |
| Regel C | wildcard-10.128.0.1-0.15.255.0 |
Der Datenverkehr von 10.128.0.1 stimmt mit den 3 Platzhalterobjekten überein, wird jedoch nach Regel C verarbeitet.
admin@NGFW> test security-policy-match from Trust to Untrust source 10.128.0.1 destination 8.8.8.8 destination-port 80 protocol 6
"Rule C; index: 3" {
from any;
source none;
source-region none;
to any;
destination any;
destination-region none;
user any;
source-device any;
destination-device any;
category any;
application/service 0:any/any/any/app-default;
action allow;
icmp-unreachable: no
terminal yes;
}
|
Environment
- Palo Alto-Firewalls
- Unterstützte PAN-OS
- Platzhalterobjekt
Cause
- Bei überlappenden Wildcard-Objekten wird die Adresse mit der längsten Präfix-Wildcard-Maske abgeglichen (siehe Zusatzinformationen).
- In diesem Beispiel
- Für die IP-Adresse 10.128.0.1.
- Das übereinstimmende Blatt ist 10.128.0.1/12 (/12 ist länger als /9).
- Anschließend wird die IP-Adresse mit dem Platzhalter 10.128.0.1-0.15.255.0 abgeglichen, der in Regel C verwendet wird.
Resolution
- Verschieben Sie die Regeln in die richtige Reihenfolge, um die gewünschten Ergebnisse zu erzielen
- Die Berechnung für das obige Beispiel finden Sie weiter unten.
- Überprüfen Sie für das obige Beispiel die Platzhalterobjekte, sodass die Übereinstimmung der Präfixlänge neutralisiert wird (Schritt 1).
Für die IP-Adresse 10.128.0.1.
Da 10.128.0.1 mit dem Blatt 10.128.0.1/12 übereinstimmt, müssen die anderen Platzhalterobjekte bearbeitet werden, um /12-Präfixe zu erhalten.
Das Objekt wildcard-10.128.0.1-0.127.0.0 – 10.128.0.1/0.127.0.0 muss wie unten in den Platzhalter zerlegt werden.
- 10.128.0.1/0.15.0.0
- 10.144.0.1/0.15.0.0
- 10.160.0.1/0.15.0.0
- 10.176.0.1/0.15.0.0
- 10.192.0.1/0.15.0.0
- 10.208.0.1/0.15.0.0
- 10.224.0.1/0.15.0.0
- 10.240.0.1/0.15.0.0
| Objektname | Adresse |
|---|---|
| wildcard-10.128.0.1-0.127.0.0 | 10.128.0.1/0.127.0.0 |
| wildcard-10.128.0.1-0.127.255.0 | 10.128.0.1/0.127.255.0 |
| wildcard-10.128.0.1-0.15.255.0 | 10.128.0.1/0.15.255.0 |
| neu-10.128.0.1-0.15.0.0 | 10.128.0.1/0.15.255.0 |
| neu-10.144.0.1-0.15.0.0 | 10.144.0.1/0.15.255.0 |
| neu-10.160.0.1-0.15.0.0 | 10.160.0.1/0.15.255.0 |
| neu-10.176.0.1-0.15.0.0 | 10.176.0.1/0.15.255.0 |
| neu-10.192.0.1-0.15.0.0 | 10.192.0.1/0.15.255.0 |
| neu-10.208.0.1-0.15.0.0 | 10.208.0.1/0.15.255.0 |
| neu-10.224.0.1-0.15.0.0 | 10.224.0.1/0.15.255.0 |
| neu-10.240.0.1-0.15.0.0 | 10.240.0.1/0.15.255.0 |
| Regelbasis | Quelle |
|---|---|
| Regel A |
wildcard-10.128.0.1-0.127.0.0 |
| Regel B | wildcard-10.128.0.1-0.127.255.0 |
| Regel C | wildcard-10.128.0.1-0.15.255.0 |
Nach der Änderung wird die Regel wie erwartet erfüllt
admin@NGFW> test security-policy-match from Trust to Untrust source 10.128.0.1 destination 8.8.8.8 destination-port 80 protocol 6
"Rule A; index: 1" {
from any;
source none;
source-region none;
to any;
destination any;
destination-region none;
user any;
source-device any;
destination-device any;
category any;
application/service 0:any/any/any/app-default;
action allow;
icmp-unreachable: no
terminal yes;
}
|
Additional Information
Die Platzhalterobjekte werden in einer Baumdatenstruktur gespeichert.
Jedem Blatt des Baums ist ein Präfix zugeordnet, das den Übereinstimmung Platzhalterobjekten zugeordnet ist.
wildcard-10.128.0.1-0.127.0.0 - 10.128.0.1/0.127.0.0
0.127.0.0 ( 0000 0000.0 111 1111.0.0) ergibt /9 (9 Bits auf 0, bevor das erste Bit (Bit) auf 1 gesetzt wird)
Das Blatt wird sein: 10.128.0.1/9
wildcard-10.128.0.1-0.127.255.0 - 10.128.0.1/0.127.255.0
0.127.255.0 ( 0000 0000.0 111 1111.255.0) ergibt /9 (9 Bits auf 0, bevor das erste Bit (Bit) auf 1 gesetzt wird)
Das Blatt wird sein: 10.128.0.1/9
wildcard-10.128.0.1-0.15.255.0 - 10.128.0.1/0.15.255.0
0.15.0.0 ( 0000 0000.0000 1111.255.0) ergibt /9 (9 Bits auf 0, bevor das erste Bit (Bit) auf 1 gesetzt wird)
Das Blatt wird sein: 10.128.0.1/12
| Blatt | Zugehörige Platzhalterobjekte |
|---|---|
| 10.128.0.1/9 | wildcard-10.128.0.1-0.127.0.0 wildcard-10.128.0.1-0.127.255.0 |
| 10.128.0.1/12 | wildcard-10.128.0.1-0.15.255.0 |
Der Platzhalterobjektabgleich erfolgt in zwei Schritten:
- Übereinstimmung der Präfixlänge
In dieser Phase sucht das System für eine bestimmte Adresse nach der längsten Präfixübereinstimmung in der Datenstruktur, um die Liste der Platzhalterobjekte zu erhalten. - Zugehörige Platzhalterobjektübereinstimmung
In dieser Phase überprüft das System für eine bestimmte Adresse die Übereinstimmung mit den zugehörigen Platzhalterobjekten.
Top-Down-Reihenfolge der Sicherheitsrichtlinienregeln bei Überlappung von Platzhaltermasken