와일드카드 개체를 사용하면 트래픽이 올바른 정책 과 일치하지 않습니다.
4516
Created On 10/16/23 05:29 AM - Last Modified 01/07/25 02:05 AM
Symptom
트래픽이 와일드카드 개체에 대한 예상된 규칙 따르지 않습니다.
아래 구성 고려해 보면:
| 객체 이름 | 주소 | 의미 | 예상 일치 항목의 예 |
|---|---|---|---|
| 와일드카드-10.128.0.1-0.127.0.0 | 10.128.0.1/0.127.0.0 | 10.128-255.0.1과 일치 |
10.128.0.1 |
| 와일드카드-10.128.0.1-0.127.255.0 | 10.128.0.1/0.127.255.0 | 10.128-255.0-255.1 일치 |
10.128.0.1 |
| 와일드카드-10.128.0.1-0.15.255.0 | 10.128.0.1/0.15.255.0 | 10.128-143.0-255.1 일치 |
10.128.0.1 |
| 규칙 기반 | 소스 객체 |
|---|---|
| 규칙 A | 와일드카드-10.128.0.1-0.127.0.0 |
| 규칙 B | 와일드카드-10.128.0.1-0.127.255.0 |
| 규칙 C | 와일드카드-10.128.0.1-0.15.255.0 |
10.128.0.1에서 발생한 트래픽은 3개의 와일드카드 개체와 일치하지만 규칙 C에 의해 처리됩니다.
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
- 팔로 알토 방화벽
- 지원되는 PAN-OS
- 와일드카드 객체
Cause
- 와일드카드 객체가 겹치는 경우, 주소는 가장 긴 접두사 와일드카드 마스크와 일치합니다(추가 정보 참조).
- 이 예에서,
- IP 주소 는 10.128.0.1입니다.
- 일치된 리프는 10.128.0.1/12입니다(/12는 /9보다 깁니다).
- 그런 다음 IP 주소 규칙 C에서 사용되는 wildcard-10.128.0.1-0.15.255.0 과 일치합니다.
Resolution
- 의도한 결과를 얻으려면 규칙을 올바른 순서로 바꿔야 합니다.
- 위의 예에 대한 계산을 아래에서 확인하세요.
- 위의 예에서 와일드카드 개체를 검토하여 접두사 길이 일치가 무효화되도록 합니다(1단계).
IP 주소 는 10.128.0.1입니다.
10.128.0.1이 리프 10.128.0.1/12와 일치하므로 다른 와일드카드 객체를 편집하여 /12 접두사를 생성해야 합니다.
wildcard-10.128.0.1-0.127.0.0 - 10.128.0.1/0.127.0.0 객체는 아래와 같이 wildcard로 분해되어야 합니다.
- 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
| 객체 이름 | 주소 |
|---|---|
| wildcard-10.128.0.1-0.127.0.0 | 10.128.0.1/0.127.0.0 |
| 와일드카드-10.128.0.1-0.127.255.0 | 10.128.0.1/0.127.255.0 |
| 와일드카드-10.128.0.1-0.15.255.0 | 10.128.0.1/0.15.255.0 |
| 새-10.128.0.1-0.15.0.0 | 10.128.0.1/0.15.255.0 |
| 새로운-10.144.0.1-0.15.0.0 | 10.144.0.1/0.15.255.0 |
| 새-10.160.0.1-0.15.0.0 | 10.160.0.1/0.15.255.0 |
| 새-10.176.0.1-0.15.0.0 | 10.176.0.1/0.15.255.0 |
| 새로운-10.192.0.1-0.15.0.0 | 10.192.0.1/0.15.255.0 |
| 새-10.208.0.1-0.15.0.0 | 10.208.0.1/0.15.255.0 |
| 새로운-10.224.0.1-0.15.0.0 | 10.224.0.1/0.15.255.0 |
| 새로운-10.240.0.1-0.15.0.0 | 10.240.0.1/0.15.255.0 |
| 규칙 기반 | 소스 객체 |
|---|---|
| 규칙 A |
와일드카드-10.128.0.1-0.127.0.0 |
| 규칙 B | 와일드카드-10.128.0.1-0.127.255.0 |
| 규칙 C | 와일드카드-10.128.0.1-0.15.255.0 |
변경 후 규칙 예상대로 일치합니다.
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
와일드카드 객체는 트리 데이터 구조에 저장됩니다.
트리의 각 잎은 매칭 와일드카드 객체와 연결된 접두사입니다.
와일드카드-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)은 /9(첫 번째 비트 가 1이 되기 전에 0으로 가는 9비트)를 제공합니다.
잎은 10.128.0.1/9가 됩니다.
와일드카드-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)은 /9를 제공합니다(첫 번째 비트 가 1이 되기 전에 9비트가 0이 됨)
잎은 10.128.0.1/9가 됩니다.
와일드카드-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)은 /9(첫 번째 비트 가 1이 되기 전에 0으로 가는 9비트)를 제공합니다.
잎은 10.128.0.1/12가 됩니다.
| 잎 | 연관된 와일드카드 객체 |
|---|---|
| 10.128.0.1/9 | 와일드카드-10.128.0.1-0.127.0.0 와일드카드-10.128.0.1-0.127.255.0 |
| 10.128.0.1/12 | 와일드카드-10.128.0.1-0.15.255.0 |
와일드카드 객체 일치는 2단계로 이루어집니다.
- 접두사 길이 일치
이 단계에서는 시스템이 주어진 주소에 대해 데이터 구조에서 가장 긴 접두사 일치 항목을 검색하여 와일드카드 객체 목록을 가져옵니다. - 연관된 와일드카드 객체 일치
이 단계에서는 시스템이 주어진 주소에 대해 연관된 와일드카드 객체와 일치 여부를 확인합니다.
와일드카드 마스크가 겹칠 때 보안 정책 규칙 상향식 순서