Date published: 2020-06-08
Synapsa Firewall Auditor - Palo Alto documentation
Chapters
- 1 Tag
- 1.1 Synapsa rules
- 1.2 Matching examples
- 1.3 Not matching
- 2 Source or Destination IP
- 2.1 Synapsa rules
- 2.2 Matching examples
- 2.3 Not matching
- 3 Source or Destination Zone
- 3.1 Synapsa rules
- 3.2 Matching examples
- 3.3 Not matching
- 4 Service
- 4.1 Synapsa rules
- 4.2 Matching examples
- 4.3 Not matching
- 5 Logging
- 5.1 Synapsa rules
- 5.2 Matching examples
- 5.3 Not matching
- 6 Security profile group / profiles
- 6.1 Synapsa rules
- 6.2 Matching examples
- 6.3 Not matching
- 7 Action
- 7.1 Synapsa rules
- 7.2 Matching examples
- 7.3 Not matching
- 8 Allowed EDL lists
- 9 Notes
1 Tag
1.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
tag.exact | skip-test | yes | Matching if exact and not other tag is attached to the rule |
tag.multi | test, skip | yes | Matching if ALL the tags are attached tot the rule |
tag.multi-any | test, skip | yes | Matching if ANY of the tags are attached to the rule |
tag.no | --- | yes | Matching if NO tag is attached to the rule |
anything | --- | --- | Matching always |
1.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
tag.exact | skip | |
tag.multi | test, skip | skip, test, prio1 |
tag.multi-any | redflag, test, external, skip | blue, test, external, skip, red |
tag.no | ||
anything | * | * |
1.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
tag.exact | audit | audit, prio1 |
tag.multi | ||
tag.multi-any | red, blue | |
tag.no | skip | skip, test, prio1 |
anything | --- | --- |
2 Source or Destination IP
The same conditions apply for Source and Destination IP.
2.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
exact.ip | 192.168.1.50 | yes | Looking for exact IP in the address field (*) |
exact.net | 192.168.1.0/24 | yes | Looking for exact Network in the address field (*) |
within.net | 192.168.1.0/24 | yes | Looking for any IP or subnet within the net (*) |
any-ip-address | --- | --- | Matching if SRC/DST is any IP address, any networks, but not "any" |
any | --- | --- | Matching if SRC/DST is keyword "any" |
anything | --- | --- | Matching always |
exact.region | SK | yes | Region MUST be exact SK |
within.region | SK, CZ, EU | yes | SK, CZ or EU, has to be within the values in the policy |
multi.region | SK, CZ, EU | yes | All three must be in regions |
2.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
exact.ip | 192.168.1.50 | 192.168.1.50, 10.12.50.2 |
exact.net | 192.168.1.0/24 | 192.168.1.0/24, 10.12.50.2 |
within.net | 192.168.1.20 | 192.168.1.64/26, 10.1.1.12 |
any-ip-address | 10.12.50.12, 172.16.20.20 | 10.12.50.0/27, 172.16.20.20 |
any | any | --- |
anything | * | * |
exact.region | SK | |
within.region | SK, CZ | SK, CN, RU, USA, UK |
multi.region | SK, RU, CN, CZ, EU | SK, RU, CN, CZ, EU, USA |
2.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
exact.ip | 192.168.1.20 | 10.10.2.30 |
exact.net | 192.168.1.2/24 | 10.10.2.30 |
within.net | 192.168.2.50 | 10.15.2.30 |
any-ip-address | any | --- |
any | 10.12.50.0/27, 172.16.2.20 | 10.0.0.0/8 |
anything | --- | --- |
exact.region | CZ | EU |
within.region | CN, RU | |
multi.region | SK, CZ, USA, RU | EU, CZ, USA, RU |
3 Source or Destination Zone
The same conditions apply for Source and Destination Zone.
3.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
zone | Untrust | yes | Matching if Zone contains ONE specific zone we are looking for |
multizone | Untrust, DMZ | yes | Matching if Zone contains ALL the zones we are looking for |
multizone-any | Servers, Untrust, DMZ | yes | Matching if Zone contains ANY of the specified zones (**) |
any-or-multizone-any | Servers, Untrust, DMZ | yes | Matching keyword "any" or ANY of the specified zones |
any-zones | --- | --- | Matching if any zones configured, not matching keyword "any" |
any | --- | --- | Only matching keyword "any" |
anything | --- | --- | Matching always |
3.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
zone | Untrust | --- |
multizone | Untrust, DMZ | --- |
multizone-any | Servers | Servers, DMZ, LAN, Untrust |
any-or-multizone-any | any | Servers, DMZ, LAN, Untrust |
any-zones | Trust, DMZ | Untrust, WAN, DMZ, Servers |
any | any | --- |
anything | * | * |
3.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
zone | DMZ, WAN | Untrust, DMZ |
multizone | Untrust, WAN, LAN | LAN, Untrust |
multizone-any | Internet | any |
any-or-multizone-any | Internet | Users |
any-zones | any | --- |
any | Untrust, WAN | Internet |
anything | --- | --- |
4 Service
4.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
tcp.port | 443 | yes | Matching exactly TCP / 443 (*) |
tcp.range | 500-600 | yes | Matching exactly TCP range 500-600 including (*) |
tcp.port-range_geq | 100 | yes | Matching when TCP port range is greater or equals 100 |
udp.port | 53 | yes | Matching exactly UDP port 53 (*) |
udp.range | 4500-6500 | yes | Matching UDP range 4500-6000 including (*) |
udp.port-range_geq | 100 | yes | Matching when UDP port range is greater or equals 100 |
port | 5060 | yes | Matching TCP or UDP port 5060 (*) |
port-range | 5000-6500 | yes | Matching TCP or UDP range 5000-6000 including (*) |
port-range_geq | 100 | yes | Matching when TCP or UDP port range is greater or equals 100 |
any-services | --- | --- | Matching any configured service, but not word "any" |
any | --- | --- | Only matching "any" |
app-default | --- | --- | Only matching "app-default" |
anything | --- | --- | Matching always |
4.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
tcp.port | tcp/443 | tcp/443, udp/500 |
tcp.range | tcp/500-600 | tcp/500-600, udp/500 |
tcp.port-range_geq | tcp/500-600 | udp/300-400 |
udp.port | udp/53 | tcp/500-600, udp/53 |
udp.range | udp/4500-6500 | udp/4500-6500, udp/53 |
udp.port-range_geq | udp/700-1000 | udp/20-120 |
port | tcp/5060, tcp/5070 | udp/5060, tcp/21 |
port-range | udp/5000-6500 | udp/5000-6500, tcp/700-960 |
port-range_geq | tcp/100-200 | udp/100-200 |
any-services | tcp/123, tcp/443, udp/100-200 | tcp/123, tcp/443 |
any | any | --- |
app-default | ||
anything | * | * |
4.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
tcp.port | tcp/400-500 | tcp/22,udp/500 |
tcp.range | tcp/501-600, udp/500 | tcp/501-600 |
tcp.port-range_geq | tcp/50-100 | udp/100-1500 |
udp.port | udp/500 | any |
udp.range | udp/4500-6499 | udp/4500-6499, tcp/21 |
udp.port-range_geq | tcp/20-120 | udp/40-90 |
port | tcp/21 | tcp/5070 |
port-range | udp/5002-5010 | udp/5001-6500 |
port-range_geq | tcp/400-450 | tcp/400-450 |
any-services | any | --- |
any | tcp/123, udp/100-200 | tcp/443 |
app-default | ||
anything | --- | --- |
5 Logging
5.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
Log-start.enabled | Yes | yes | Matching if rule has "log-start = yes" |
Log-start.enabled | No | yes | Matching if rule has "log-start = no" or no "log-start = yes" found |
Log-end.enabled | Yes | yes | Matching if rule has "log-end = yes" |
Log-end.enabled | No | yes | Matching if rule has "log-end = yes" |
Log forwarding | Disabled | --- | Matching if Log Forwarding is NOT enabled |
Log forwarding | Enabled | --- | Matching if Log Forwarding is enabled, no mather what profile |
Log forwarding.profile | To-Panorama | yes | Matching if logging profile is exactly the entered value |
5.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
Log-start.enabled | log-start=yes | |
Log-start.enabled | log-start=no | no log-start found |
Log-end.enabled | log-end=yes | |
Log-end.enabled | log-end=no | no log-end found |
Log forwarding | log-setting not found | |
Log forwarding | ||
Log forwarding.profile | log-setting=To-Panorama |
5.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
Log-start.enabled | log-start=no | no log-start found |
Log-start.enabled | log-start=yes | |
Log-end.enabled | log-end=no | |
Log-end.enabled | log-end=yes | |
Log forwarding | log-setting=To-Panorama | log-setting=Profile1 |
Log forwarding | ||
Log forwarding.profile | log-setting not found |
Not found means, that the xml item is not present for the specific security policy in the API response.
6 Security profile group / profiles
6.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
Profile.type | Group / Profiles | --- | Dropdown menu, need to select Group or Profiles |
group.exact | grp_strict | --- | Matching when profile.settings group member equals "grp.strict" |
group-any-of | grp_strict, grp_alert | --- | Matching when group is set to any of listed |
disabled | --- | --- | Matching when rule has no security profile or group assigned |
enabled | --- | --- | Matching when rule has ANY security profile or group assigned |
anything | --- | --- | Matching always |
profile.antivirus | value / none / any-of /anything | Value / yes Any-of / yes |
Value - match exact name of the profile. example: value = prof1 None - match when no profile enabled Any-of - match when profile has one of the user specified values Anything - always match |
profile.vulnerability | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
profile.anti-spyware | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
profile.url-filtering | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
profile.file-blocking | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
profile.data-filtering | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
profile.wildfire | value / none / anything / any-of | Value / yes Any-of / yes |
Same logic as above |
6.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
Profile.type | ||
group.exact | ||
group-any-of | grp_strict | grp_alert |
disabled | ||
enabled | ||
anything | ||
profile.antivirus | <virus loc="FW1"><member loc="FW1">prof1</member></virus> | |
profile.vulnerability | Same logic as above | |
profile.anti-spyware | Same logic as above | |
profile.url-filtering | Same logic as above | |
profile.file-blocking | Same logic as above | |
profile.data-filtering | Same logic as above | |
profile.wildfire | Same logic as above |
6.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
Profile.type | ||
group.exact | no profile-setting found | |
group-any-of | grp_low | |
disabled | ||
enabled | ||
anything | ||
profile.antivirus | <virus loc="FW1"><member loc="FW1">NP</member></virus> | No <virus> XML item in the API response |
profile.vulnerability | Same logic as above | Same logic as above |
profile.anti-spyware | Same logic as above | Same logic as above |
profile.url-filtering | Same logic as above | Same logic as above |
profile.file-blocking | Same logic as above | Same logic as above |
profile.data-filtering | Same logic as above | Same logic as above |
profile.wildfire | Same logic as above | Same logic as above |
All the profile names are not case sensitive.
Value is user input. "None" and "Anything" are pre-defined values
7 Action
7.1 Synapsa rules
Looking for | Value | Can negate | Description |
---|---|---|---|
allow | --- | --- | Matching Allow |
not-allow | --- | --- | Matching anything else except Allow, Deny, Drop, Reset Client, Reset server, Reset both client and server |
7.2 Matching examples
Looking for | Example 1 | Example 2 |
---|---|---|
allow | Allow | --- |
not-allow | Drop | Deny |
7.3 Not matching
Looking for | Example 1 | Example 2 |
---|---|---|
allow | Drop | Deny |
not-allow | Allow | --- |
8 Allowed EDL lists
Looking for | Value | Can negate | Description |
---|---|---|---|
EDL name | Name your Lists | --- | Enter External Dynamic Lists names, which will be added for IP Address matching. By default all EDLs are skipped. |
9 Notes
- All the keywords for security zone are case insensitive.
- Logical operator between conditions is AND, meaning all the conditions have to be True to make the whole auditor rule to be True.
- Matching values for every line is in bold.
(*) Condition will match, if one of the objects in the specified field is matching the criteria.
(**) You can specify a single value, if you want to only match, if zone contains your keyword exclusively.