# # This script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof. # # This script is released under the Tenable Subscription License and # may not be used from within scripts released under another license # without authorization from Tenable, Inc. # # See the following licenses for details: # # http://static.tenable.com/prod_docs/Nessus_6_SLA_and_Subscription_Agreement.pdf # # @PROFESSIONALFEED@ # $Revision: 1.0 $ # $Date: 2019/01/29 $ # # Description : This .audit is based on the CIS Palo Alto Firewall 8 Benchmark v1.0.0 # https://workbench.cisecurity.org/files/2104 # # #CIS Palo Alto Firewall 8 Benchmark L1 v1.0.0 # # CIS # Palo Alto Firewall 8 L1 # 1.0.0 # #palo_alto,cis,panos,pan #LEVEL,CSCv6 # # #FAILED_ATTEMPTS #3 #Authentication Profile Failed Attempts #Set a failed attempts value to prevent continuous pazzwd guessing. # # #LOCKOUT_TIME #15 #Authentication Profile Lockout Time #Set a lockout time value to prevent continuous pazzwd guessing. # # #SYN_ALERT_RATE #10000 #TCP SYN Cookies Alert Rate #When the flow exceeds the Alert rate threshold, an alarm is generated. # # #SYN_ACTIVATE_RATE #500000 #TCP SYN Cookies Activate Rate #When the flow exceeds the Activate rate threshold, individual SYN packets are dropped randomly to restrict the flow. # # #SYN_MAXIMAL_RATE #1000000 #TCP SYN Cookies Maximal Rate #When the flow exceeds the Maximal rate threshold, all packets are dropped. # # # type : AUDIT_XML description : "Check for Palo Alto version 8" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "^[\s]*8\..*" type : AUDIT_XML description : "1.1.1 Ensure 'Login Banner' is set" info : "Configure a login banner, ideally approved by the organizations legal team. This banner should, at minimum, prohibit unauthorized access, provide notice of logging or monitoring, and avoid using the word welcome or similar words of invitation. Rationale: Through a properly stated login banner, the risk of unintentional access to the device by unauthorized users is reduced. Should legal action take place against a person accessing the device without authorization, the login banner greatly diminishes a defendants claim of ignorance." solution : "Navigate to Device > Setup > Management > General Settings. Set Login Banner as appropriate. Default Value: Not configured" reference : "800-53|AC-8,800-171|3.1.9,ITSG-33|AC-8,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Login Banner not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Login Banner set to ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.1.2 Ensure 'Enable Log on High DP Load' is enabled" info : "Enable the option 'Enable Log on High DP Load' feature. When this option is selected, a system log entry is created when the devices packet processing load reaches 100% utilization. Rationale: When the devices packet processing load reaches 100%, a degradation in the availability of services accessed through the device can occur. Logging this event can help with troubleshooting system performance." solution : "Navigate to Device > Setup > Management > Logging and Reporting Settings > Log Export and Reporting. Set the Enable Log on High DP Load box to checked. Impact: Sustained attacks, especially volumetric DOS and DDOS attacks will often affect CPU utilization. This setting will generate an event that is easily monitored for and alerted on. While setting CPU utilization watermarks in a Network Management System is a standard practice, this setting does not depend on even having an NMS, it doesn't require anything other than standard logging to implement. Default Value: Not enabled" reference : "800-53|AU-12,800-171|3.3.1,800-171|3.3.2,CN-L3|7.1.3.3(a),CN-L3|7.1.3.3(b),CN-L3|7.1.3.3(c),CSF|DE.CM-1,CSF|DE.CM-3,CSF|DE.CM-7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.1,ITSG-33|AU-12,SWIFT-CSCv1|6.4,TBA-FIISB|45.1.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Enable Log on High DP Load is not enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Enable Log on High DP Load is enabled." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "Check for existence of permitted-ip" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "passed" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "failed" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "passed" type : AUDIT_XML description : "1.2.1 Ensure 'Permitted IP Addresses' is set to those necessary for device management" info : "Permit only the necessary IP addresses to be used to manage the device. Rationale: Management access to the device should be restricted to the IP addresses or subnets used by firewall administrators. Permitting management access from other IP addresses increases the risk of unauthorized access through pazzwd guessing, stolen credentials, or other means." solution : "Navigate to Device > Setup > Interfaces > Management. Set Permitted IP Addresses to only those necessary for device management. Default Value: Not enabled (all addresses that can reach the interface are permitted)" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Permitted IP - " xsl_stmt : "" regex : ".*" expect : "MANUAL_REVIEW" description : "1.2.1 Ensure 'Permitted IP Addresses' is set to those necessary for device management" info : "Permit only the necessary IP addresses to be used to manage the device. Rationale: Management access to the device should be restricted to the IP addresses or subnets used by firewall administrators. Permitting management access from other IP addresses increases the risk of unauthorized access through pazzwd guessing, stolen credentials, or other means." solution : "Navigate to Device > Setup > Interfaces > Management. Set Permitted IP Addresses to only those necessary for device management. Default Value: Not enabled (all addresses that can reach the interface are permitted)" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" type : AUDIT_XML description : "1.2.2 Ensure 'Permitted IP Addresses' is set for all management profiles where SSH, HTTPS, or SNMP is enabled - SSH" info : "For all management profiles, only the IP addresses required for device management should be specified. Rationale: If a Permitted IP Addresses list is either not specified or is too broad, an attacker may gain the ability to attempt management access from unintended locations, such as the Internet. The Ensure 'Security Policy' denying any/all traffic exists at the bottom of the security policies ruleset recommendation in this benchmark can provide additional protection by requiring a security policy specifically allowing device management access." solution : "Navigate to Network > Network Profiles > Interface Management. Set Permitted IP Addresses to only include those necessary for device management. Default Value: Not enabled" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass SSH - Permitted IP found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail SSH - Permitted IP not found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass - No SSH config found in Interface Management Profiles." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" not_expect : "Fail" type : AUDIT_XML description : "1.2.2 Ensure 'Permitted IP Addresses' is set for all management profiles where SSH, HTTPS, or SNMP is enabled - HTTPS" info : "For all management profiles, only the IP addresses required for device management should be specified. Rationale: If a Permitted IP Addresses list is either not specified or is too broad, an attacker may gain the ability to attempt management access from unintended locations, such as the Internet. The Ensure 'Security Policy' denying any/all traffic exists at the bottom of the security policies ruleset recommendation in this benchmark can provide additional protection by requiring a security policy specifically allowing device management access." solution : "Navigate to Network > Network Profiles > Interface Management. Set Permitted IP Addresses to only include those necessary for device management. Default Value: Not enabled" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass HTTPS - Permitted IP found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail HTTPS - Permitted IP not found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass - No HTTPS config found in Interface Management Profiles." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" not_expect : "Fail" type : AUDIT_XML description : "1.2.2 Ensure 'Permitted IP Addresses' is set for all management profiles where SSH, HTTPS, or SNMP is enabled - SNMP" info : "For all management profiles, only the IP addresses required for device management should be specified. Rationale: If a Permitted IP Addresses list is either not specified or is too broad, an attacker may gain the ability to attempt management access from unintended locations, such as the Internet. The Ensure 'Security Policy' denying any/all traffic exists at the bottom of the security policies ruleset recommendation in this benchmark can provide additional protection by requiring a security policy specifically allowing device management access." solution : "Navigate to Network > Network Profiles > Interface Management. Set Permitted IP Addresses to only include those necessary for device management. Default Value: Not enabled" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass SNMP - Permitted IP found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail SNMP - Permitted IP not found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass - No SNMP config found in Interface Management Profiles." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" not_expect : "Fail" type : AUDIT_XML description : "1.2.3 Ensure HTTP and Telnet options are disabled for the management interface" info : "HTTP and Telnet options should not be enabled for device management. Rationale: Management access over cleartext services such as HTTP or Telnet could result in a compromise of administrator credentials and other sensitive information related to device management. Theft of either administrative credentials or session data is easily accomplished with a \"Man in the Middle\" attack." solution : "Navigate to Device > Setup > Interfaces > Management. Set the HTTP and Telnet boxes to unchecked. Default Value: Not set. (HTTP and Telnet are disabled by default)" reference : "800-53|CM-7,CIP|007-6-R1,PCI-DSSv3.1|2.2.2,PCI-DSSv3.1|2.2.3,PCI-DSSv3.2|2.2.2,PCI-DSSv3.2|2.2.3,800-171|3.4.6,800-171|3.4.7,CN-L3|7.1.3.5(c),CN-L3|7.1.3.7(d),CSF|PR.IP-1,CSF|PR.PT-3,ITSG-33|CM-7,SWIFT-CSCv1|2.3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - HTTP and Telnet are both disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Telnet is enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - HTTP is enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "1.2.4 Ensure HTTP and Telnet options are disabled for all management profiles - HTTP" info : "HTTP and Telnet options should not be enabled for device management. Rationale: Management access over cleartext services such as HTTP or Telnet could result in a compromise of administrator credentials and other sensitive information related to device management." solution : "Navigate to Network > Network Profiles > Interface Management. Set the HTTP and Telnet boxes to unchecked." reference : "800-53|AC-17,800-171|3.1.13,CN-L3|7.1.2.7(g),CN-L3|7.1.3.1(d),CSF|PR.AC-3,CSF|PR.PT-4,ITSG-33|AC-17,SWIFT-CSCv1|2.6,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - HTTP management option found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass - No HTTP management option found in Interface Management Profiles." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" not_expect : "Fail" type : AUDIT_XML description : "1.2.4 Ensure HTTP and Telnet options are disabled for all management profiles - Telnet" info : "HTTP and Telnet options should not be enabled for device management. Rationale: Management access over cleartext services such as HTTP or Telnet could result in a compromise of administrator credentials and other sensitive information related to device management." solution : "Navigate to Network > Network Profiles > Interface Management. Set the HTTP and Telnet boxes to unchecked." reference : "800-53|AC-17,800-171|3.1.13,CN-L3|7.1.2.7(g),CN-L3|7.1.3.1(d),CSF|PR.AC-3,CSF|PR.PT-4,ITSG-33|AC-17,SWIFT-CSCv1|2.6,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - Telnet management option found, Profile - " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Pass - No Telnet management option found in Interface Management Profiles." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Fail - No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" not_expect : "Fail" type : AUDIT_XML description : "1.3.1 Ensure 'Minimum pazzwd Complexity' is enabled" info : "This checks all new pazzwd s to ensure that they meet basic requirements for strong pazzwd s. Rationale: pazzwd complexity recommendations are derived from the USGCB (United States Government Configuration Baseline), Common Weakness Enumeration, and benchmarks published by the CIS (Center for Internet Security). pazzwd complexity adds entropy to a pazzwd in comparison to a simple pazzwd of the same length. A complex pazzwd is more difficult to attack, either directly against administrative interfaces or cryptographically, against captured pazzwd hashes. However, making a pazzwd of greater length will generally have a greater impact in this regard, in comparison to making a shorter pazzwd more complex." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity. Set Enabled to be checked Set that the various pazzwd settings to values that are appropriate to your organization. It is suggested that there at least be some special characters enforced, and that a minimum length be set. Ensure that non-zero values are set for Minimum Uppercase, Lowercase and Special Characters. \"Block Username Inclusion\" should be enabled. Operationally, dictionary words should be avoided for all pazzwd s - passphrases are a much better alternative. Impact: Simple pazzwd s make an attacker's job very easy. There is a reasonably short list of commonly used admin pazzwd s for network infrastructure, not enforcing pazzwd lengths and complexity can lend itself to making an attacker's brute force attack successful. Default Value: Not enabled." reference : "800-53|IA-5,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Minimum pazzwd Complexity is enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum pazzwd Complexity is disabled" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.2 Ensure 'Minimum Length' is greater than or equal to 8" info : "This determines the least number of characters that make up a pazzwd for a user account. Rationale: A longer pazzwd is much more difficult to attack, either directly against administrative interfaces or cryptographically, against captured pazzwd hashes. Making a pazzwd of greater length will generally have a greater impact in this regard, in comparison to making a shorter pazzwd more complex. Passphrases are a commonly used recommendation, to make longer pazzwd s more palatable to end users. Administrative staff however generally use \'pazzwd safe\' applications, so a long and complex pazzwd is more easily implemented for most infrastructure administrative interfaces." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity. Set Minimum Length to greater than or equal to 8 Impact: Longer pazzwd s are much more difficult to attack. This is true of attacks against the administrative interfaces themselves, or of decryption attacks against captured hashes. A longer pazzwd will almost always have a more positive impact than a shorter but more complex pazzwd. Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - pazzwd minimum length is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - pazzwd minimum length is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - pazzwd minimum length is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.3 Ensure 'Minimum Uppercase Letters' is greater than or equal to 1" info : "This checks all new pazzwd s to ensure that they contain at least one English uppercase character (A through Z). Rationale: This is one of several settings that, when taken together, ensure that pazzwd s are sufficiently complex as to thwart brute force and dictionary attacks." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity Set Minimum Uppercase Letters to greater than or equal to 1 Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Uppercase Letters is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Uppercase Letters is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Minimum Uppercase Letters is 1 ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.4 Ensure 'Minimum Lowercase Letters' is greater than or equal to 1" info : "This checks all new pazzwd s to ensure that they contain at least one English lowercase character (a through z). Rationale: This is one of several settings that, when taken together, ensure that pazzwd s are sufficiently complex as to thwart brute force and dictionary attacks." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity Set Minimum Lowercase Letters to greater than or equal to 1 Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Lowercase Letters is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Lowercase Letters is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Minimum Lowercase Letters is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.5 Ensure 'Minimum Numeric Letters' is greater than or equal to 1" info : "This checks all new pazzwd s to ensure that they contain at least one base 10 digit (0 through 9). Rationale: This is one of several settings that, when taken together, ensure that pazzwd s are sufficiently complex as to thwart brute force and dictionary attacks." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity Set Minimum Numeric Letters to greater than or equal to 1 Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Numeric Letters is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Numeric Letters is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Minimum Numeric Letters is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.6 Ensure 'Minimum Special Characters' is greater than or equal to 1" info : "This checks all new pazzwd s to ensure that they contain at least one non-alphabetic character (for example, !, $, #, %). Rationale: This is one of several settings that, when taken together, ensure that pazzwd s are sufficiently complex as to thwart brute force and dictionary attacks." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity Set Minimum Special Characters to greater than or equal to 1 Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Special Characters is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Minimum Special Characters is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Minimum Special Characters is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.7 Ensure 'Required pazzwd Change Period' is less than or equal to 60 days" info : "This defines how long a user can use a pazzwd before it expires. Rationale: The longer a pazzwd exists, the higher the likelihood that it will be compromised by a brute force attack, by an attacker gaining general knowledge about the user and guessing the pazzwd or by the user sharing the pazzwd." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity. Set Required pazzwd Change Period (days) to less than or equal to 60 Impact: Failure to change administrative pazzwd s can result in a slow \"creep\" of people who have access. Especially in a situation with high staff turnover (for instance, in a NOC or SOC situation), administrative pazzwd s need to be changed frequently. Default Value: Not enabled." reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.4,PCI-DSSv3.2|8.2.4,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Required pazzwd Change Period (days) is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Required pazzwd Change Period (days) is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Required pazzwd Change Period (days) is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.8 Ensure 'New pazzwd Differs By Characters' is greater than or equal to 3" info : "This checks all new pazzwd s to ensure that they differ by at least three characters from the previous pazzwd. Rationale: This is one of several settings that, when taken together, ensure that pazzwd s are sufficiently complex as to thwart brute force and dictionary attacks." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity Set New pazzwd Differs By Characters to 3 or more Impact: This prevents the use of pazzwd s that fall into a predictable pattern. Especially in situations that involve staff turnover, having a pattern to pazzwd changes should be avoided. Default Value: Not enabled." reference : "800-53|IA-5,800-171|3.5.7,CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - New pazzwd Differs by Characters is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - New pazzwd Differs by Characters is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - New pazzwd Differs by Characters is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.9 Ensure 'Prevent pazzwd Reuse Limit' is set to 24 or more pazzwd s" info : "This determines the number of unique pazzwd s that have to be most recently used for a user account before a previous pazzwd can be reused. Rationale: The longer a user uses the same pazzwd the greater the chance that an attacker can determine the pazzwd through brute force attacks. Also, any accounts that may have been compromised will remain exploitable for as long as the pazzwd is left unchanged. If pazzwd changes are required but pazzwd reuse is not prevented, or if users continually reuse a small number of pazzwd s, the effectiveness of a good pazzwd policy is greatly reduced. While current guidance emphasizes pazzwd length above frequent pazzwd changes, not enforcing pazzwd re-use guidance adds the temptation of using a small pool of pazzwd s, which can make an attacker's job easier across an entire infrastructure." solution : "Navigate to Device > Setup > Management > Minimum pazzwd Complexity. Set Prevent pazzwd Reuse Limit to greater than or equal to 24 Default Value: Not enabled." reference : "800-53|IA-5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.5,PCI-DSSv3.2|8.2.5,800-171|3.5.8,CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Prevent pazzwd reuse limit is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Prevent pazzwd reuse limit is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Prevent pazzwd reuse limit is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.3.10 Ensure 'pazzwd Profiles' do not exist" info : "Pass profiles that are weaker than the recommended minimum pazzwd complexity settings must not exist. Rationale: As pazzwd profiles override any 'Minimum pazzwd Complexity' settings defined in the device, they generally should not exist. If these pazzwd profiles do exist, they should enforce stronger pazzwd policies than what is set in the 'Minimum pazzwd Complexity' settings." solution : "Navigate to Device > pazzwd Profiles. Ensure pazzwd Profiles weaker than the recommended minimum pazzwd complexity settings do not exist. Default Value: Not configured" reference : "800-53|IA-5,CIP|007-6-R5,HIPAA|164.308(a)(5)(ii)(D),PCI-DSSv3.1|8.2.3,PCI-DSSv3.2|8.2.3,800-171|3.5.7,CN-L3|7.1.2.7(e),CN-L3|7.1.3.1(b),CSF|PR.AC-1,ISO/IEC-27001|A.9.4.3,ITSG-33|IA-5,SWIFT-CSCv1|4.1,TBA-FIISB|26.2.1,TBA-FIISB|26.2.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - pazzwd Profiles are configured" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - pazzwd Profiles are not configured" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.4.1 Ensure 'Idle timeout' is less than or equal to 30 minutes for device management" info : "Set the Idle Timeout value for device management to 30 minutes or less to automatically close inactive sessions. Rationale: An unattended computer with an open administrative session to the device could allow an unauthorized user access to the firewalls management interface." solution : "Navigate to Device > Setup > Management > Authentication Settings. Set Idle Timeout to less than or equal to 30. Default Value: Not configured" reference : "800-53|AC-12,HIPAA|164.312(a)(2)(iii),PCI-DSSv3.1|12.3.8,PCI-DSSv3.1|8.1.8,PCI-DSSv3.2|12.3.8,PCI-DSSv3.2|8.1.8,800-171|3.1.11,CN-L3|7.1.2.2(d),CN-L3|7.1.3.7(b),ITSG-33|AC-12,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Idle Timeout (min) is not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Idle Timeout (min) is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Idle Timeout (min) is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.4.2 Ensure 'Failed Attempts' and 'Lockout Time' for Authentication Profile are properly configured - Lockout Time" info : "Configure values for Failed Login Attempts and Account Lockout Time set to organization-defined values (for example, 3 failed attempts and a 15 minute lockout time). Do not set Failed Attempts and Lockout Time in the Authentication Settings section; any Failed Attempts or Lockout Time settings within the selected Authentication Profile do not apply in the Authentication Settings section. Rationale: Without a lockout limit, an attacker can continuously guess administrators pazzwd s. If lockout settings are configured in the Authentication Settings section, it may be possible for an attacker to continuously lock out all administrative accounts from accessing the device." solution : "Navigate to Device > Authentication Profile. Set Failed Attempts to the non-zero organization-defined value. Set Lockout Time to the non-zero organization-defined value. Default Value: Not configured" reference : "800-53|AC-7,800-171|3.1.8,CN-L3|7.1.2.7(f),CN-L3|7.1.3.1(c),ITSG-33|AC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" # Note: Variable @LOCKOUT_TIME@ replaced with "15" in field "xsl_stmt". xsl_stmt : "" xsl_stmt : "Failed - Authentication profile '', Lockout Time ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Authentication profile '', Lockout Time ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Authentication Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.4.2 Ensure 'Failed Attempts' and 'Lockout Time' for Authentication Profile are properly configured - Failed Attempts" info : "Configure values for Failed Login Attempts and Account Lockout Time set to organization-defined values (for example, 3 failed attempts and a 15 minute lockout time). Do not set Failed Attempts and Lockout Time in the Authentication Settings section; any Failed Attempts or Lockout Time settings within the selected Authentication Profile do not apply in the Authentication Settings section. Rationale: Without a lockout limit, an attacker can continuously guess administrators pazzwd s. If lockout settings are configured in the Authentication Settings section, it may be possible for an attacker to continuously lock out all administrative accounts from accessing the device." solution : "Navigate to Device > Authentication Profile. Set Failed Attempts to the non-zero organization-defined value. Set Lockout Time to the non-zero organization-defined value. Default Value: Not configured" reference : "800-53|AC-7,800-171|3.1.8,ITSG-33|AC-7,TBA-FIISB|45.1.2,TBA-FIISB|45.2.1,TBA-FIISB|45.2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" # Note: Variable @FAILED_ATTEMPTS@ replaced with "3" in field "xsl_stmt". xsl_stmt : "" xsl_stmt : "Failed authentication profile: - Failed attempts: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed authentication profile: - Failed attempts: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Authentication Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.5.1 Ensure 'V3' is selected for SNMP polling" info : "For SNMP polling, only SNMPv3 should be used. Rationale: SNMPv3 utilizes AES-128 encryption, message integrity, user authorization, and device authentication security features. SNMPv2c does not provide these security features. If an SNMPv2c community string is intercepted or otherwise obtained, an attacker could gain read access to the firewall. Note that SNMP write access is not possible." solution : "Navigate to Device > Setup > Operations > Miscellaneous > SNMP Setup Select V3. Default Value: Not configured" reference : "800-53|CM-6,800-171|3.4.2,CSF|PR.IP-1,ITSG-33|CM-6,SWIFT-CSCv1|2.3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - SNMP v3 is not enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - SNMP v3 is enabled" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.6.1 Ensure 'Verify Update Server Identity' is enabled" info : "This setting determines whether or not the identity of the update server must be verified before performing an update session. Note that if an SSL Forward Proxy is configured to intercept the update session, this option may need to be disabled (because the SSL Certificate will not match). Rationale: Verifying the update server identity before package download ensures the packages originate from a trusted source. Without this, it is possible to receive and install an update from a malicious source." solution : "Navigate to Device > Setup > Services > Services. Set the Verify Update Server Identity box to checked. Impact: This setting protects the device from an \"evilgrade\" attack, where a successful DNS attack can redirect the firewall to an attacker-controlled update server, which can then serve a modified update. Default Value: Not configured" reference : "800-53|SI-2,800-171|3.14.1,CSF|ID.RA-1,CSF|PR.IP-12,SWIFT-CSCv1|2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Verify Update Server Identity is not enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Verify Update Server Identity is enabled" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "1.6.2 Ensure redundant NTP servers are configured appropriately" info : "These settings enable use of primary and secondary NTP servers to provide redundancy in case of a failure involving the primary NTP server. Rationale: NTP enables the device to maintain an accurate time and date when receiving updates from a reliable NTP server. Accurate timestamps are critical when correlating events with other systems, troubleshooting, or performing investigative work. Logs and certain cryptographic functions, such as those utilizing certificates, rely on accurate time and date parameters. In addition, rules referencing a Schedule object will not function as intended if the devices time and date are incorrect. For additional security, authenticated NTP can be utilized. If Symmetric Key authentication is selected, only SHA1 should be used, as MD5 is considered severely compromised." solution : "Navigate to Device > Setup > Services > Services. Set Primary NTP Server Address appropriately. Set Secondary NTP Server Address appropriately. Default Value: Not configured" reference : "800-53|AU-8,PCI-DSSv3.1|10.4,PCI-DSSv3.2|10.4,800-171|3.3.7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.4,ITSG-33|AU-8,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Primary and Secondary NTP Servers are set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Primary NTP Server not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Secondary NTP Server not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "1.6.3 Ensure that the certificate securing Remote Access VPNs is valid - GlobalProtect Gateways" info : "The Certificate used to secure Remote Access VPNs should satisfy the following criteria: It should be a valid certificate from a trusted source. In almost cases this means a trusted Public Certificate Authority, as in most cases remote access VPN users will not have access to any Private Certificate Authorities for Certificate validation. The certificate should have a valid date. It should not have a \"to\" date in the past (it should not be expired), and should not have a \"from\" date in the future. The key length used to encrypt the certificate should be 2048 bits or more. The hash used to sign the certificate should be SHA-2 or better. Rationale: If presented with a certificate error, the end user in most cases will not be able to tell if their session is using a self-signed or expired certificate, or if their session is being eavesdropped on or injected into by a \"Man in the Middle\" attack. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Create a CSR and install a certificate from a public CA here: Navigate to Device > Certificate Management > Certificates Apply a valid certificate to the HTTPS portal: Navigate to Network > GlobalProtect > Portals > Portal Configuration > Authentication > SSL/TLS Profile Apply a valid certificate to the GlobalProtect Gateway: Navigate to Network > GlobalProtect > Gateways > Authentication > SSL/TLS Profile Impact: Not using a trusted Certificate, issued by a trusted Public Certificate Authority means that clients establishing VPN sessions will always see an error indicating an untrusted Certificate. This means that they will have no method of validating if their VPN session is being hijacked by a \"Monkey in the Middle\" (MitM) attack. It also \"trains\" them to bypass certificate warnings for other services, making MitM attacks easier for those other services as well. Default Value: Not configured" reference : "800-53|SC-17,ITSG-33|SC-17,LEVEL|1NS" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "GlobalProtect Gateway name: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No GlobalProtect Gateways found" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "1.6.3 Ensure that the certificate securing Remote Access VPNs is valid - Certificates" info : "The Certificate used to secure Remote Access VPNs should satisfy the following criteria: It should be a valid certificate from a trusted source. In almost cases this means a trusted Public Certificate Authority, as in most cases remote access VPN users will not have access to any Private Certificate Authorities for Certificate validation. The certificate should have a valid date. It should not have a \"to\" date in the past (it should not be expired), and should not have a \"from\" date in the future. The key length used to encrypt the certificate should be 2048 bits or more. The hash used to sign the certificate should be SHA-2 or better. Rationale: If presented with a certificate error, the end user in most cases will not be able to tell if their session is using a self-signed or expired certificate, or if their session is being eavesdropped on or injected into by a \"Man in the Middle\" attack. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Create a CSR and install a certificate from a public CA here: Navigate to Device > Certificate Management > Certificates Apply a valid certificate to the HTTPS portal: Navigate to Network > GlobalProtect > Portals > Portal Configuration > Authentication > SSL/TLS Profile Apply a valid certificate to the GlobalProtect Gateway: Navigate to Network > GlobalProtect > Gateways > Authentication > SSL/TLS Profile Impact: Not using a trusted Certificate, issued by a trusted Public Certificate Authority means that clients establishing VPN sessions will always see an error indicating an untrusted Certificate. This means that they will have no method of validating if their VPN session is being hijacked by a \"Monkey in the Middle\" (MitM) attack. It also \"trains\" them to bypass certificate warnings for other services, making MitM attacks easier for those other services as well. Default Value: Not configured" reference : "800-53|SC-17,ITSG-33|SC-17,LEVEL|1NS" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Certificate name: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No certificates found" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "1.6.3 Ensure that the certificate securing Remote Access VPNs is valid - GlobalProtect Portals" info : "The Certificate used to secure Remote Access VPNs should satisfy the following criteria: It should be a valid certificate from a trusted source. In almost cases this means a trusted Public Certificate Authority, as in most cases remote access VPN users will not have access to any Private Certificate Authorities for Certificate validation. The certificate should have a valid date. It should not have a \"to\" date in the past (it should not be expired), and should not have a \"from\" date in the future. The key length used to encrypt the certificate should be 2048 bits or more. The hash used to sign the certificate should be SHA-2 or better. Rationale: If presented with a certificate error, the end user in most cases will not be able to tell if their session is using a self-signed or expired certificate, or if their session is being eavesdropped on or injected into by a \"Man in the Middle\" attack. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Create a CSR and install a certificate from a public CA here: Navigate to Device > Certificate Management > Certificates Apply a valid certificate to the HTTPS portal: Navigate to Network > GlobalProtect > Portals > Portal Configuration > Authentication > SSL/TLS Profile Apply a valid certificate to the GlobalProtect Gateway: Navigate to Network > GlobalProtect > Gateways > Authentication > SSL/TLS Profile Impact: Not using a trusted Certificate, issued by a trusted Public Certificate Authority means that clients establishing VPN sessions will always see an error indicating an untrusted Certificate. This means that they will have no method of validating if their VPN session is being hijacked by a \"Monkey in the Middle\" (MitM) attack. It also \"trains\" them to bypass certificate warnings for other services, making MitM attacks easier for those other services as well. Default Value: Not configured" reference : "800-53|SC-17,ITSG-33|SC-17,LEVEL|1NS" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "GlobalProtect Portal name: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No GlobalProtect Portals found" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "2.3 Ensure that User-ID is only enabled for internal trusted interfaces" info : "Only enable the User-ID option for interfaces that are both internal and trusted. There is rarely a legitimate need to allow WMI probing on an untrusted interface. Rationale: PAN released a customer advisory in October of 2014 warning of WMI probing on untrusted interfaces with User-ID enabled. This can result in theft of the pazzwd hash for the account used in WMI probing. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Network > Network Profiles > Interface Management. Set User-ID to be checked only for interfaces that are both internal and trusted; uncheck it for all other interfaces. Impact: If WMI probing is enabled without limiting the scope, internet hosts that are sources or destinations of traffic will be probed, and the pazzwd hash of the configured Domain Admin account can be captured by an outside attacker on such a host. Default Value: By default WMI probing and all User-ID functions are disabled." reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Profile - has 'User ID' service enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Profile - does not have 'User ID' service enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Interface Management Profiles found" xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "Check that User ID is enabled on any profile" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "enabled" expect : "enabled" type : AUDIT_XML description : "2.4 Ensure that 'Include/Exclude Networks' is used if User-ID is enabled" info : "If User-ID is configured, use the Include/Exclude Networks section to limit the User-ID scope to operate only on trusted networks. There is rarely a legitimate need to allow WMI probing on an untrusted network. Rationale: The Include/Exclude Networks feature allow users to configure boundaries for the User-ID service. By using the feature to limit User-ID probing to only trusted internal networks, the risks of privileged information disclosure through sent probes can be reduced. Note that if an entry appears in the Include/Exclude Networks section, an implicit exclude-all-networks policy will take effect for all other networks." solution : "Navigate to Device > User Identification > User Mapping > Include/Exclude Networks. Set all trusted internal networks to have a Discovery value of Include. Set all untrusted external networks to have a Discovery value of Exclude. Note that any value in the trusted networks list implies that all other networks are untrusted. Impact: Not restricting the networks subject to User Identification means that the administrative credentials (userid and pazzwd hash) used for this task will transit untrusted networks, or be sent to untrusted hosts. Capturing these credentials exposes them to offline cracking attacks. Default Value: Not configured" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Name: , Discovery: , Network: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Include/Exclude Network config found" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" description : "2.4 Ensure that 'Include/Exclude Networks' is used if User-ID is enabled" info : "If User-ID is configured, use the Include/Exclude Networks section to limit the User-ID scope to operate only on trusted networks. There is rarely a legitimate need to allow WMI probing on an untrusted network. Rationale: The Include/Exclude Networks feature allow users to configure boundaries for the User-ID service. By using the feature to limit User-ID probing to only trusted internal networks, the risks of privileged information disclosure through sent probes can be reduced. Note that if an entry appears in the Include/Exclude Networks section, an implicit exclude-all-networks policy will take effect for all other networks." solution : "Navigate to Device > User Identification > User Mapping > Include/Exclude Networks. Set all trusted internal networks to have a Discovery value of Include. Set all untrusted external networks to have a Discovery value of Exclude. Note that any value in the trusted networks list implies that all other networks are untrusted. Impact: Not restricting the networks subject to User Identification means that the administrative credentials (userid and pazzwd hash) used for this task will transit untrusted networks, or be sent to untrusted hosts. Capturing these credentials exposes them to offline cracking attacks. Default Value: Not configured" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" type : AUDIT_XML description : "Check that a security profile has msrpc application selected" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Passed" regex : "Passed" expect : "Passed" type : AUDIT_XML description : "2.5 Ensure that the User-ID Agent has minimal permissions if User-ID is enabled" info : "If the integrated (on-device) User-ID Agent is utilized, the Active Directory account for the agent should only be a member of the Event Log Readers group, Distributed COM Users group, and Domain Users group. If the Windows User-ID agent is utilized, the Active Directory account for the agent should only be a member of the Event Log Readers group, Server Operators group, and Domain Users group. Rationale: As a principle of least privilege, user accounts should have only minimum necessary permissions. If an attacker compromises a User-ID service account with domain admin rights, the organization is at far greater risk than if the service account were only granted minimum rights. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Active Directory Users and Computers. Set the service account for the User-ID agent so that it is only a member of the Event Log Readers, Distributed COM Users, and Domain Users (for the integrated, on-device User-ID agent) or the Event Log Readers, Server Operators, and Domain Users groups (for the Windows User-ID agent.) Impact: Using accounts with full administrative privileges when those rights are not required is always a bad idea. This is particularly true for service accounts of this type, which in many organizations do not see strong pazzwd s or frequent pazzwd changes. The principal of least privilege means that any compromised accounts of this type have less value to an attacker, and expose fewer assets based on their rights. Default Value: Not configured" reference : "800-53|AC-6,800-171|3.1.5,CN-L3|7.1.3.2(b),CN-L3|7.1.3.2(g),CSF|PR.AC-4,CSF|PR.DS-5,ITSG-33|AC-6,SWIFT-CSCv1|5.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Server Profile: " xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "2.6 Ensure that the User-ID service account does not have interactive logon rights" info : "Restrict the User-ID service account from interactively logging on to systems in the Active Directory domain. Rationale: In the event of a compromised User-ID service account, restricting interactive logins forbids the attacker from utilizing services such as RDP against computers in the Active Directory domain of the organization. This reduces the impact of a User-ID service account compromise. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Active Directory Group Policies. Set Group Policies to restrict the interactive logon privilege for the User-ID service account. or Navigate to Active Directory Managed Service Accounts. Set Managed Service Accounts to restrict the interactive logon privilege for the User-ID service account. Default Value: Not configured" reference : "800-53|AC-6,800-171|3.1.5,CN-L3|7.1.3.2(b),CN-L3|7.1.3.2(g),CSF|PR.AC-4,CSF|PR.DS-5,ITSG-33|AC-6,SWIFT-CSCv1|5.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Server Profile: " xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "2.7 Ensure remote access capabilities for the User-ID service account are forbidden." info : "Restrict the User-ID service accounts ability to gain remote access into the organization. This capability could be made available through a variety of technologies, such as VPN, Citrix GoToMyPC, or TeamViewer. Remote services that integrate authentication with the organizations Active Directory may unintentionally allow the User-ID service account to gain remote access. Rationale: In the event of a compromised User-ID service account, restricting the accounts ability to remotely access resources within the organizations internal network reduces the impact of a service account compromise. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Remove this account from all groups that might grant remote access to the network, or to any network services or hosts. Remediation is operating-system dependent. For instance, in Windows Active Directory, this account should be removed from any group that grants the account access to VPN or Wireless access. In addition, domain administrative accounts by default have remote desktop (RDP) access to all domain member workstations - this should be explicitly denied for this account. Default Value: Not configured" reference : "800-53|AC-6,800-171|3.1.5,CN-L3|7.1.3.2(b),CN-L3|7.1.3.2(g),CSF|PR.AC-4,CSF|PR.DS-5,ITSG-33|AC-6,SWIFT-CSCv1|5.1,LEVEL|1NS" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Server Profile: " xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM description : "2.5 Ensure that the User-ID Agent has minimal permissions if User-ID is enabled" info : "If the integrated (on-device) User-ID Agent is utilized, the Active Directory account for the agent should only be a member of the Event Log Readers group, Distributed COM Users group, and Domain Users group. If the Windows User-ID agent is utilized, the Active Directory account for the agent should only be a member of the Event Log Readers group, Server Operators group, and Domain Users group. Rationale: As a principle of least privilege, user accounts should have only minimum necessary permissions. If an attacker compromises a User-ID service account with domain admin rights, the organization is at far greater risk than if the service account were only granted minimum rights." solution : "Navigate to Active Directory Users and Computers. Set the service account for the User-ID agent so that it is only a member of the Event Log Readers, Distributed COM Users, and Domain Users (for the integrated, on-device User-ID agent) or the Event Log Readers, Server Operators, and Domain Users groups (for the Windows User-ID agent.) Impact: Using accounts with full administrative privileges when those rights are not required is always a bad idea. This is particularly true for service accounts of this type, which in many organizations do not see strong pazzwd s or frequent pazzwd changes. The principal of least privilege means that any compromised accounts of this type have less value to an attacker, and expose fewer assets based on their rights. Default Value: Not configured" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" description : "2.6 Ensure that the User-ID service account does not have interactive logon rights" info : "Restrict the User-ID service account from interactively logging on to systems in the Active Directory domain. Rationale: In the event of a compromised User-ID service account, restricting interactive logins forbids the attacker from utilizing services such as RDP against computers in the Active Directory domain of the organization. This reduces the impact of a User-ID service account compromise." solution : "Navigate to Active Directory Group Policies. Set Group Policies to restrict the interactive logon privilege for the User-ID service account. or Navigate to Active Directory Managed Service Accounts. Set Managed Service Accounts to restrict the interactive logon privilege for the User-ID service account. Default Value: Not configured" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" description : "2.7 Ensure remote access capabilities for the User-ID service account are forbidden." info : "Restrict the User-ID service accounts ability to gain remote access into the organization. This capability could be made available through a variety of technologies, such as VPN, Citrix GoToMyPC, or TeamViewer. Remote services that integrate authentication with the organizations Active Directory may unintentionally allow the User-ID service account to gain remote access. Rationale: In the event of a compromised User-ID service account, restricting the accounts ability to remotely access resources within the organizations internal network reduces the impact of a service account compromise." solution : "Remove this account from all groups that might grant remote access to the network, or to any network services or hosts. Remediation is operating-system dependent. For instance, in Windows Active Directory, this account should be removed from any group that grants the account access to VPN or Wireless access. In addition, domain administrative accounts by default have remote desktop (RDP) access to all domain member workstations - this should be explicitly denied for this account. Default Value: Not configured" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" type : AUDIT_XML description : "2.8 Ensure that security policies restrict User-ID Agent traffic from crossing into untrusted zones" info : "Create security policies to deny Palo Alto User-ID traffic originating from the interface configured for the UID Agent service that are destined to any untrusted zone. Rationale: If User-ID and WMI probes are sent to untrusted zones, the risk of privileged information disclosure exists. The information disclosed can include the User-ID Agent service account name, domain name, and encrypted pazzwd hashes sent in User-ID and WMI probes. To prevent this exposure, msrpc traffic originating from the firewall to untrusted networks should be explicitly denied. This security policy should be in effect even for environments not currently using WMI probing to help guard against possible probe misconfigurations in the future. This setting is a \"fail safe\" to prevent exposure of this information if any of the other WMI User control settings are misconfigured." solution : "Navigate to Device > Setup > Services > Services Features > Service Route Configuration > Customize. Click on the protocol in use (IPv4and/or IPv6). Click UID Agent. Click on the address object for the UID Agent's IP address. Set SOURCE/NAME to 'Deny msrpc to untrusted'. Set SOURCE/ZONE to 'INSIDE'. Set SOURCE/Address to the Address object for the UID Agent. Set DESTINATION/ZONE to 'GUEST' and 'OUTSIDE'. Set DESTINATION/Address to 'any'. Set DESTINATION/Application to 'msrpc'. Set DESTINATION/Service to 'application-default'. Set DESTINATION/Action to 'Block' (red circle with diagonal line)." reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security profile '' uses action '' for 'MSRPC'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Security profile '' uses action '' for 'MSRPC'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Security Profiles have an MSRPC application type selected." xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "3.1 Ensure a fully-synchronized High Availability peer is configured" info : "Ensure a High Availability peer is fully synchronized and in a passive or active state. Rationale: To ensure availability of both the firewall and the resources it protects, a High Availability peer is required. In the event a single firewall fails, or when maintenance such as a software update is required, the HA peer can be used to automatically fail over session states and maintain overall availability" solution : "Navigate to Device > High Availability > General. Click General. Click Data Link (HA2). Select the correct interface. Select the desired protocol (IPv4 or IPv6). Select the correct Transport. Set the Enable Session Synchronization box to be checked. Choose Save Configuration. Impact: Not configuring High Availability (HA) correctly directly impacts the Availability of the system. With HA in place, standard maintenance such as OS updates, network and power cabling can be accomplished with no outage or a minimum impact. Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Enable Session Synchronization' is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Enable Session Synchronization' is not enabled." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.2 Ensure 'High Availability' requires Link Monitoring and/or Path Monitoring - Path Monitoring Failure Condition" info : "Configure Link Monitoring and/or Path Monitoring under High Availability options. If Link Monitoring is utilized, all links critical to traffic flow should be monitored. Rationale: If Link or Path Monitoring is not enabled, the standby router will not automatically take over as active if a critical link fails on the active firewall. Services through the firewall could become unavailable as a result." solution : "To set Link Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Link Monitoring. Set the correct interfaces to the Link Group and Group Failure Conditions. Click Link Monitoring. Set Failure Condition to Any. Check Enabled button. To set Path Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Path Monitoring. Set Option correctly. Set Failure Condition to Any. Set Name, IP Address, Failure Condition correctly. Set Default setting to Any. Check Enabled button. Impact: Not configuring High Availability (HA) correctly directly impacts the Availability of the system. With HA in place, standard maintenance such as OS updates, network and power cabling can be accomplished with no outage or a minimum impact. Without Link and Path monitoring in particular, failover will only occur when the primary device fails completely. Link and path monitoring permits failover if a critical interface loses link (either due to cabling or an upstream switch failover), or if a route or path fails (indicating an upstream issue that affects local Layer 3). Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Path Monitoring Failure Condition' is ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Path Monitoring Failure Condition' is ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Path Monitoring Failure Condition' is ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.2 Ensure 'High Availability' requires Link Monitoring and/or Path Monitoring - Link Monitoring Failure Condition" info : "Configure Link Monitoring and/or Path Monitoring under High Availability options. If Link Monitoring is utilized, all links critical to traffic flow should be monitored. Rationale: If Link or Path Monitoring is not enabled, the standby router will not automatically take over as active if a critical link fails on the active firewall. Services through the firewall could become unavailable as a result." solution : "To set Link Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Link Monitoring. Set the correct interfaces to the Link Group and Group Failure Conditions. Click Link Monitoring. Set Failure Condition to Any. Check Enabled button. To set Path Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Path Monitoring. Set Option correctly. Set Failure Condition to Any. Set Name, IP Address, Failure Condition correctly. Set Default setting to Any. Check Enabled button. Impact: Not configuring High Availability (HA) correctly directly impacts the Availability of the system. With HA in place, standard maintenance such as OS updates, network and power cabling can be accomplished with no outage or a minimum impact. Without Link and Path monitoring in particular, failover will only occur when the primary device fails completely. Link and path monitoring permits failover if a critical interface loses link (either due to cabling or an upstream switch failover), or if a route or path fails (indicating an upstream issue that affects local Layer 3). Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Link Monitoring Failure Condition' is ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Link Monitoring Failure Condition' is not set." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Link Monitoring Failure Condition' is ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.2 Ensure 'High Availability' requires Link Monitoring and/or Path Monitoring - Path Monitoring Enabled" info : "Configure Link Monitoring and/or Path Monitoring under High Availability options. If Link Monitoring is utilized, all links critical to traffic flow should be monitored. Rationale: If Link or Path Monitoring is not enabled, the standby router will not automatically take over as active if a critical link fails on the active firewall. Services through the firewall could become unavailable as a result." solution : "To set Link Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Link Monitoring. Set the correct interfaces to the Link Group and Group Failure Conditions. Click Link Monitoring. Set Failure Condition to Any. Check Enabled button. To set Path Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Path Monitoring. Set Option correctly. Set Failure Condition to Any. Set Name, IP Address, Failure Condition correctly. Set Default setting to Any. Check Enabled button. Impact: Not configuring High Availability (HA) correctly directly impacts the Availability of the system. With HA in place, standard maintenance such as OS updates, network and power cabling can be accomplished with no outage or a minimum impact. Without Link and Path monitoring in particular, failover will only occur when the primary device fails completely. Link and path monitoring permits failover if a critical interface loses link (either due to cabling or an upstream switch failover), or if a route or path fails (indicating an upstream issue that affects local Layer 3). Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" api_request_type : "op" request : "" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Path Monitoring' is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Path Monitoring' is disabled." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.2 Ensure 'High Availability' requires Link Monitoring and/or Path Monitoring - Link Monitoring Enabled" info : "Configure Link Monitoring and/or Path Monitoring under High Availability options. If Link Monitoring is utilized, all links critical to traffic flow should be monitored. Rationale: If Link or Path Monitoring is not enabled, the standby router will not automatically take over as active if a critical link fails on the active firewall. Services through the firewall could become unavailable as a result." solution : "To set Link Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Link Monitoring. Set the correct interfaces to the Link Group and Group Failure Conditions. Click Link Monitoring. Set Failure Condition to Any. Check Enabled button. To set Path Monitoring from GUI: Navigate to Device > High Availability > Link and Path Monitoring. Click Path Monitoring. Set Option correctly. Set Failure Condition to Any. Set Name, IP Address, Failure Condition correctly. Set Default setting to Any. Check Enabled button. Impact: Not configuring High Availability (HA) correctly directly impacts the Availability of the system. With HA in place, standard maintenance such as OS updates, network and power cabling can be accomplished with no outage or a minimum impact. Without Link and Path monitoring in particular, failover will only occur when the primary device fails completely. Link and path monitoring permits failover if a critical interface loses link (either due to cabling or an upstream switch failover), or if a route or path fails (indicating an upstream issue that affects local Layer 3). Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Link Monitoring' is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Link Monitoring' is disabled." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.3 Ensure 'Passive Link State' and 'Preemptive' are configured appropriately - Passive Link State" info : "Set the Passive Link State to auto, and uncheck the Preemptive option to disable it. Rationale: Simultaneously enabling the 'Preemptive' option and setting the 'Passive Link State' option to 'Shutdown' could cause a 'preemptive loop' if Link and Path Monitoring are both configured. This will negatively impact the availability of the firewall and network services, should a monitored failure occur." solution : "To set Active/Passive Settings correctly: Navigate to Device > High Availability > General > Active/Passive Settings. Set Passive Link State to auto. To set Election Settings correctly: Navigate to Device > High Availability > Election Settings. Set Preemptive to be disabled. Impact: Incorrectly configuring this setting will adversely affect availability, rather than positively affect it. Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Passive Link State' is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Passive Link State' is not set." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Passive Link State' is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "3.3 Ensure 'Passive Link State' and 'Preemptive' are configured appropriately - Election Setings" info : "Set the Passive Link State to auto, and uncheck the Preemptive option to disable it. Rationale: Simultaneously enabling the 'Preemptive' option and setting the 'Passive Link State' option to 'Shutdown' could cause a 'preemptive loop' if Link and Path Monitoring are both configured. This will negatively impact the availability of the firewall and network services, should a monitored failure occur." solution : "To set Active/Passive Settings correctly: Navigate to Device > High Availability > General > Active/Passive Settings. Set Passive Link State to auto. To set Election Settings correctly: Navigate to Device > High Availability > Election Settings. Set Preemptive to be disabled. Impact: Incorrectly configuring this setting will adversely affect availability, rather than positively affect it. Default Value: Not Configured" reference : "800-53|SI-13,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - High Availability 'Election Settings: Preemptive' is disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - High Availability 'Election Settings: Preemptive' is not disabled." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "4.1 Ensure 'Antivirus Update Schedule' is set to download and install updates hourly" info : "Set Antivirus Update Schedule to download and install updates hourly. Rationale: New antivirus definitions may be released at any time. With an hourly update schedule, the firewall can ensure threats with new definitions are quickly mitigated. A daily update schedule could leave an organization vulnerable to a known virus for nearly 24 hours, in a worst-case scenario. Setting an appropriate threshold value reduces the risk of a bad definition file negatively affecting traffic." solution : "Navigate to Device > Dynamic Updates > Antivirus Update Schedule. Set Action to Download and Install. Set Recurrence to Hourly. Default Value: Not Configured" reference : "800-53|SI-3,800-171|3.14.2,800-171|3.14.4,CN-L3|7.1.3.6(a),CSF|DE.CM-4,ITSG-33|SI-3,SWIFT-CSCv1|2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Anti-Virus schedule is set to 'hourly' and 'download and install'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Anti-Virus schedule is not set to 'hourly' and/or 'download and install'" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "4.2 Ensure 'Applications and Threats Update Schedule' is set to download and install updates at daily or shorter intervals" info : "Set the Applications and Threats Update Schedule to download and install updates at daily or shorter intervals. Rationale: New Applications and Threats file versions may be released at any time. With a frequent update schedule, the firewall can ensure threats with new signatures are quickly mitigated, and the latest application signatures are applied." solution : "Navigate to Device > Dynamic Updates > Application and Threats Update Schedule. Set Action to Download and Install. Set Recurrence to Daily, Hourly or Every 30 Minutes Default Value: This setting is by default set to Weekly." reference : "800-53|SI-3,800-171|3.14.2,800-171|3.14.4,CN-L3|7.1.3.6(a),CSF|DE.CM-4,ITSG-33|SI-3,SWIFT-CSCv1|2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Applications and Threats schedule is set to 'daily' and 'download and install'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Applications and Threats schedule is not set to 'daily' and/or 'download and install'" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "5.1 Ensure that WildFire file size upload limits are maximized" info : "Increase WildFire file size limits to the maximum file size supported by the environment. An organization with bandwidth constraints or heavy usage of unique files under a supported file type may require lower settings. The recommendations account for the CPU load on smaller platforms. If an organization consistently has CPU to spare, it's recommended to set some or all of these values to the maximum. Rationale: Increasing file size limits allows the devices to forward more files for WildFire analysis. This increases the chances of identifying, and later preventing, threats in larger files. The default values are configured for files small enough that the majority of files are not assessed by Wildfire. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Device > Setup > WildFire. Click the General Settings edit icon. Set the maximum size for each file type are larger than the defaults, to a size that is as large enough to account for \"large\" files, but not large enough to affect performance of the hardware. The maximum values (best case) and the Palo Alto recommendations that take performance into account are listed below: pe (Portable Executable) - Range is 1 to 10MB; default is 2MB, Palo Alto recommends 10MB. apk (Android Application)- Range is 1 to 50MB; default 10MB, Palo Alto recommends 30MB. pdf (Portable Document Format) - Range is Hundred KiloByte to 1,000KiloByte; default is Two Hundred KiloByte, Palo Alto recommends 1,000KiloByte. ms-office (Microsoft Office) Range is Two Hundred KiloByte to 10,000KiloByte; default is 500KiloByte, Palo Alto recommends 2,000KiloByte. jar (Packaged Java class file) Range is 1 to 10MB; default is 1MB, Palo Alto recommends 5MB. flash (Adobe Flash) Range is 1 to 10MB; default is 5MB, Palo Alto recommends 5MB. MacOSX (DMG/MAC-APP/MACH-O PKG files) Range is 1 to 50MB; default is 1MB, Palo Alto recommends 1MB. archive (RAR and 7z files) Range is 1 to 50MB; default is 1MB, Palo Alto recommends 10MB. linux (ELF files) Range is 1 to 10MB; default is 2MB, Palo Alto recommends 2MB. Impact: With the default values known, an attacker has only to send an infected file slightly over the \"maximum\" size for that filetype to evade detection at the perimeter. Many of the values are significantly lower than is typical for each file size. Default Value: Default sizes are: pe 2MB (Portable Executable) apk 10MB pdf Two Hundred KiloByte ms-office 500KiloByte jar 1MB flash 5MB MacOSX 1MB" reference : "800-53|CM-6,800-171|3.4.2,CSF|PR.IP-1,ITSG-33|CM-6,SWIFT-CSCv1|2.3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "ob体育 type: , size limit: " xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Wildfire file limit sizes set to default or not found." xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "5.2 Ensure forwarding is enabled for all applications and file types in WildFire file blocking profiles" info : "Set Applications and ob体育 Types fields to any in WildFire file blocking profiles. With a WildFire license, seven file types are supported, while only PE (Portable Executable) files are supported without a license. For web traffic, the action \"continue-and-forward\" can be selected. This still forwards the file to the Wildfire service, but also presents the end user with a confirmation message before they receive the file. If there is a \"continue-and-forward\" rule, there should still be an \"any traffic / any application / forward\" rule after that in the list. Rationale: Selecting 'Any' application and file type ensures WildFire is analyzing as many files as possible." solution : "Navigate to Objects > Security Profiles > ob体育 Blocking. Set a rule so that Applications is set to any, ob体育 Type is set to any, and Action is set to forward. Default Value: Predefined Security Profiles exist for \"basic\" and \"strict\" ob体育 Blocking." reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - ob体育 Blocking policy '' meets all criteria" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "ob体育 blocking policy '' does not meet criteria" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No ob体育 Blocking security profiles found." xsl_stmt : "" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "5.3 Ensure a WildFire Analysis profile is enabled for all security policies" info : "Ensure that all files traversing the firewall are inspected by WildFire by setting a Wildfire file blocking profile on all security policies. Rationale: Traffic matching security policies that do not include a WildFire file blocking profile will not utilize WildFire for file analysis. Wildfire analysis is one of the key security measures available on this platform. Without Wildfire analysis enabled, inbound malware can only be analyzed by signature - which industry wide is roughly 40-60% effective. In a targeted attack, the success of signature-based-only analysis drops even further. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "To Set ob体育 Blocking Profile: Navigate to Objects > Security Profiles > WildFire Analysis Profile. Create a WildFire profile that has 'Application Any', 'ob体育 Types Any', and 'Direction Both' To Set WildFire Analysis Rules: Navigate to Policies > Security > Security Policy Rule > Actions > Profile Setting > WildFire Analysis for each rule were the action is Allow and set a WildFire Analysis profile. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Verify WildFire file blocking policy is enabled" xsl_stmt : "" xsl_stmt : "Security policy: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Security Policies found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "5.4 Ensure forwarding of decrypted content to WildFire is enabled" info : "Allow the firewall to forward decrypted content to WildFire. Note that SSL Forward-Proxy must also be enabled and configured for this setting to take effect on inside-to-outside traffic flows. Rationale: As encrypted Internet traffic continues to proliferate, WildFire becomes less effective unless it is allowed to act on decrypted content. For example, if a user downloads a malicious pdf over SSL, WildFire can only provide analysis if 1) the session is decrypted by the firewall and 2) forwarding of decrypted content is enabled. In today's internet, roughly 70-80% of all user traffic is encrypted. If Wildfire is not configured to analyze encrypted content, the effectiveness of Wildfire is drastically reduced." solution : "Navigate to Device > Setup > Content-ID > Content-ID Settings. Set Allow forwarding of decrypted content to be checked. Note that SSL Forward Proxy must be configured for this setting to be effective. Default Value: Not Configured" reference : "800-53|SI-4,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - 'Allow forwarding of decrypted content' is enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - 'Allow forwarding of decrypted content' is not enabled" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "5.5 Ensure all WildFire session information settings are enabled" info : "Enable all options under Session Information Settings for WildFire. Rationale: Permitting the firewall to send all of this information to WildFire creates more detailed reports, thereby making the process of tracking down potentially infected devices more efficient. This could prevent an infected system from further infecting the environment. Environments with security policies restricting sending this data to the WildFire cloud can instead utilize an on-premises WildFire appliance. In addition, risk can be analyzed in the context of the destination host and user account, either during analysis or during incident response." solution : "Navigate to Device > Setup > WildFire > Session Information Settings. Set every option to be enabled. Default Value: All Session Information Settings are enabled by default. These include: Source IP Source port Destination IP Destination port Virtual System Application User URL ob体育 name Email sender Email recipient Email subject" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Source IP" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Source IP" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Email Subject" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Email Subject" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Email Recipient" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Email Recipient" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Email Sender" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Email Sender" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - ob体育 name" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - ob体育 name" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Application" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Application" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - User" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - User" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Virtual System" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Virtual System" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Destination Port" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Destination Port" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Destination IP" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Destination IP" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Source Port" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Source Port" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - All 'WildFire Session Information Settings' appear to be default/enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No WildFire settings found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" description : "5.6 Ensure alerts are enabled for malicious files detected by WildFire - log-type 'wildfire'" info : "Configure WildFire to send an alert when a malicious or greyware file is detected. This alert could be sent by whichever means is preferable, including email, SNMP trap, or syslog message. Alternatively, configure the WildFire cloud to generate alerts for malicious files. The cloud can generate alerts in addition to or instead of the local WildFire implementation. Note that the destination email address of alerts configured in the WildFire cloud portal is tied to the logged in account, and cannot be modified. Also, new systems added to the WildFire cloud portal will not be automatically set to email alerts. Rationale: WildFire analyzes files that have already been downloaded and possibly executed. A WildFire verdict of malicious indicates that a computer could already be infected. In addition, because WildFire only analyzes files it has not already seen that were not flagged by the firewalls antivirus filter, files deemed malicious by WildFire are more likely to evade detection by desktop antivirus products. NOTE: Nessus has not performed this check. Please review the benchmark to ensure target compliance." solution : "From GUI: Select Device > Server Profiles > Email Click Add Enter a name for the Profile. Select the virtual system from the Location drop down menu (if applicable) Click Add Configure the Syslog Server: Select Device > Server Profiles > Syslog > Add Enter Name, Display Name, Syslog Server, Transport, Port, Format, Facility Click OK Click Commit to save the configuration Configure the SMTP Server: Select Device > Server Profiles > Email Select Add, Name, Display Name, From, To, Additional Recipients, Gateway IP or Hostname Click OK Click Commit to save the configuration Navigate to Objects, Log Forwarding Choose Add, set the log type to \"wildfire\", add the filter \"(verdict neq benign)\", then add log destinations for SNMP, Syslog, Email or HTTP as required. Default Value: Not Configured" reference : "LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" type : AUDIT_XML description : "5.7 Ensure 'WildFire Update Schedule' is set to download and install updates every minute" info : "Set the WildFire update schedule to download and install updates every minute. Rationale: WildFire definitions may contain signatures to block immediate, active threats to the environment. With a 1 minute update schedule, the firewall can ensure threats with new definitions are quickly mitigated." solution : "Navigate to Device > Dynamic Updates > WildFire Update Schedule. Set Action to Download and Install. Set Recurrence to Every Minute. Default Value: Not Configured" reference : "800-53|SI-3,800-171|3.14.2,800-171|3.14.4,CN-L3|7.1.3.6(a),CSF|DE.CM-4,ITSG-33|SI-3,SWIFT-CSCv1|2.2,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - WildFire Update Schedule is set for every minute, and to download and install." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - WildFire Update schedule not set appropriately." xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "6.1 Ensure that antivirus profiles are set to block on all decoders except 'imap' and 'pop3'" info : "Configure antivirus profiles to a value of 'block' for all decoders except imap and pop3 under both Action and WildFire Action. Configure imap and pop3 decoders to 'alert' under both Action and WildFire Action. Rationale: Antivirus signatures produce low false positives. By blocking any detected malware through the specified decoders, the threat of malware propagation through the firewall is greatly reduced. It is recommended to mitigate malware found in pop3 and imap through a dedicated antivirus gateway. Due to the nature of the pop3 and imap protocols, the firewall is not able to block only a single email message containing malware. Instead, the entire session would be terminated, potentially affecting benign email messages." solution : "Navigate to Objects > Security Profiles > Antivirus. Set antivirus profiles to have all decoders except imap and pop3 set to block for both Action and Wildfire Action, and the imap and pop3 decoders set to alert for both Action and Wildfire Action. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security Profile '' meets all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Security Profile '' does not meet all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Security Policies with Antivirus profiles found" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "6.2 Ensure a secure antivirus profile is applied to all relevant security policies" info : "Create a secure antivirus profile and apply it to all security policies that could pass HTTP, SMTP, IMAP, POP3, FTP, or SMB traffic. The antivirus profile may be applied to the security policies directly or through a profile group. Rationale: By applying a secure antivirus profile to all applicable traffic, the threat of malware propagation through the firewall is greatly reduced. Without an antivirus profile assigned to any potential hostile zone, the first protection in the path against malware is removed, leaving in most cases only the desktop endpoint protection application to detect and remediate any potential malware." solution : "Navigate to Policies > Security. For each policy, navigate to [Policy Name] > Actions Set an Antivirus profile or a Profile Group containing an AV profile for each security policy passing traffic - regardless of protocol. Impact: Not having an AV Profile on a Security Policy allows signature-based malware to transit the security boundary without blocks or alerts. In most cases this leaves only the Endpoint Security application to block or alert malware. Default Value: No Antivirus Profiles are enabled on any default or new Security Policy" reference : "800-53|SI-3,800-171|3.14.2,800-171|3.14.4,800-171|3.14.5,CN-L3|7.1.3.6(a),CN-L3|7.1.3.6(b),CSF|DE.CM-4,CSF|DE.DP-3,ISO/IEC-27001|A.12.2.1,ITSG-33|SI-3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security Policy '', using AntiVirus profile '' meets all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Security Policy '' does not meet all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Security Policies with Antivirus profiles found" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "6.3 Ensure an anti-spyware profile is configured to block on all spyware severity levels, categories, and threats" info : "If a single rule exists within the anti-spyware profile, configure it to block on any spyware severity level, any category, and any threat. If multiple rules exist within the anti-spyware profile, ensure all spyware categories, threats, and severity levels are set to be blocked. Additional rules may exist for packet capture or exclusion purposes. Rationale: Requiring a blocking policy for all spyware threats, categories, and severities reduces the risk of spyware traffic from successfully exiting the organization. Without an anti-spyware profile assigned to any potential hostile zone, the first protection in the path against malware is removed, leaving in most cases only the desktop endpoint protection application to detect and remediate any potential spyware." solution : "Navigate to Objects > Security Profiles > Anti-Spyware. Set a rule within the anti-spyware profile that is configured to perform the Block Action on any Severity level, any Category, and any Threat Name. Default Value: Two Anti-Spyware Security Profiles are configured by default \"strict\" and \"default\"." reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Anti-Spyware Profile '', using rule '' meets all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Anti-Spyware Profile '' does not meet all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Anti-Spyware Profiles found" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "6.4 Ensure DNS sinkholing is configured on all anti-spyware profiles in use" info : "Configure DNS sinkholing for all anti-spyware profiles in use. All internal requests to the selected sinkhole IP address must traverse the firewall. Any device attempting to communicate with the DNS sinkhole IP address should be considered infected. Rationale: DNS sinkholing helps to identify infected clients by spoofing DNS responses for malware domain queries. Without sinkholing, the DNS server itself may be seen as infected, while the truly infected device remains unidentified. In addition, sinkholing also ensures that DNS queries that might be indicators of compromise do not transit the internet, where they could be potentially used to negatively impact the \"ip reputation\" of the organization's internet network subnets." solution : "Navigate to Objects > Security Profiles > Anti-Spyware. Within the anti-spyware profile, under its DNS Signatures tab, set Action on DNS queries to sinkhole. Set 'Sinkhole IPv4' to the correct IP address. Set 'Sinkhole IPv6' to the correct IP address. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Anti-Spyware Profile '', using DNS Sinkhole 'IPv4 - ', 'IPv6 - '." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Anti-Spyware Profile '' does not have DNS Sinkholing set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Anti-Spyware Profiles found" xsl_stmt : "" regex : ".*" not_expect : "Failed" type : AUDIT_XML description : "6.5 Ensure passive DNS monitoring is set to enabled on all anti-spyware profiles in use" info : "Enable passive DNS monitoring within all anti-spyware profiles in use. Rationale: Enabling passive DNS monitoring improves PANs threat prevention and threat intelligence capabilities. This is performed without source information delivered to PAN to ensure sensitive DNS information of the organization is not compromised." solution : "Navigate to Device > Setup > Telemetry. Set Passive DNS Monitoring to enabled Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Passive DNS Monitoring enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Passive DNS Monitoring not enabled" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "6.6 Ensure a secure anti-spyware profile is applied to all security policies permitting traffic to the Internet" info : "Create one or more anti-spyware profiles and collectively apply them to all security policies permitting traffic to the Internet. The anti-spyware profiles may be applied to the security policies directly or through a profile group. Rationale: By applying secure anti-spyware profiles to all applicable traffic, the threat of sensitive data exfiltration or command-and-control traffic successfully passing through the firewall is greatly reduced. Anti-spyware profiles are not restricted to particular protocols like antivirus profiles, so anti-spyware profiles should be applied to all security policies permitting traffic to the Internet. Assigning an anti-spyware profile to each trusted zone will quickly and easily identify trusted hosts that have been infected with spyware, by identifying the infection from their outbound network traffic. In addition, that outbound network traffic will be blocked by the profile. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Objects > Security Profiles > Anti-Spyware. Also navigate to Policies > Security. Set one or more anti-spyware profiles to collectively apply to all inside to outside traffic from any address to any address and any application and service. Default Value: Not Configured" reference : "800-53|SI-3,800-171|3.14.2,800-171|3.14.4,800-171|3.14.5,CN-L3|7.1.3.6(a),CN-L3|7.1.3.6(b),CSF|DE.CM-4,CSF|DE.DP-3,ISO/IEC-27001|A.12.2.1,ITSG-33|SI-3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Security policy '' is using Anti-Spyware profile ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Anti-Spyware profile set on security policy ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Anti-Spyware Profiles found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "6.7 Ensure a VPP is set to block attacks against critical and high vulnerabilities, and set to default on med, low, and info vulns" info : "6.7 Ensure a Vulnerability Protection Profile is set to block attacks against critical and high vulnerabilities, and set to default on medium, low, and informational vulnerabilities Configure a Vulnerability Protection Profile set to block attacks against any critical or high vulnerabilities, at minimum, and set to default on any medium, low, or informational vulnerabilities. Configuring an alert action for low and informational, instead of default, will produce additional information at the expense of greater log utilization. Rationale: A Vulnerability Protection Profile helps to protect assets by alerting on, or blocking, network attacks. The default action for attacks against many critical and high vulnerabilities is to only alert on the attack - not to block." solution : "Navigate to Objects > Security Profiles > Vulnerability Protection. Set a Vulnerability Protection Profile to block attacks against any critical or high vulnerabilities (minimum), and to default on attacks against any medium, low, or informational vulnerabilities. Impact: Not configuring a Vulnerability Protection Profile means that network attacks will not be logged, alerted on or blocked. Default Value: Two Vulnerability Protection Profiles are configured by default - \"strict\" and \"default\"." reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Vulnerability Profile '' is set to block/reset-both both critical and high severity levels." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Vulnerability Profile '' does not meet the critical and high severity criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Vulnerability Profile '' is set to default on medium, low, and informational severity levels." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Vulnerability Profile '' does not meet the medium, low, and informational severity criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Vulnerability Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.8 Ensure a secure Vulnerability Protection Profile is applied to all security rules allowing traffic" info : "For any security rule allowing traffic, apply a securely configured Vulnerability Protection Profile. Careful analysis of the target environment should be performed before implementing this configuration, as outlined by PANs Threat Prevention Deployment Tech Note in the references section. Rationale: A Vulnerability Protection Profile helps to protect assets by alerting on, or blocking network attacks. By applying a secure Vulnerability Protection Profile to all security rules permitting traffic, all network traffic traversing the firewall will be inspected for attacks. This protects both organizational assets from attack and organizational reputation from damage. Note that encrypted sessions do not allow for complete inspection." solution : "Navigate to Policies > Security. For each Policy, under the Actions tab, select Vulnerability Protection. Set it to use either the 'Strict' or the 'Default' profile, or a custom profile that complies with the organization's policies, legal and regulatory requirements. Impact: Not configuring a Vulnerability Protection Profile means that network attacks will not be logged, alerted on or blocked. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security policy '' is using Vulnerability profile ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Vulnerability profile set on security policy ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Vulnerability Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.9 Ensure that PAN-DB URL Filtering is used" info : "Configure the device to use PAN-DB URL Filtering instead of BrightCloud. Rationale: Standard URL filtering provides protection against inappropriate and malicious URLs and IP addresses. PAN-DB URL Filtering is slightly less granular than the BrightCloud URL filtering. However the PAN-DB Filter offers additional malware protection and PAN threat intelligence by using the Wildfire service as an additional input, which is currently not available in the BrightCloud URL Filtering license. This makes the PAN-DB filter more responsive to specific malware \"campaigns\"." solution : "Navigate to Device > Licenses. Click on PAN-DB URL Filtering. Set Active to Yes. Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|CM-6,800-171|3.4.2,CSF|PR.IP-1,ITSG-33|CM-6,SWIFT-CSCv1|2.3,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL Filtering is PAN-DB" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL Filtering is ''" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" expect : "Passed" type : AUDIT_XML description : "6.10 Ensure that URL Filtering uses the action of block or override on the URL categories" info : "Ideally, deciding which URL categories to block, and which to allow, is a joint effort between IT and another entity of authority within an organizationsuch as the legal department or administration. For most organizations, blocking or requiring an override on the following categories represents a minimum baseline: adult, hacking, command-and-control, copyright-infringement, extremism, malware, phishing, proxy-avoidance-and-anonymizers, and parked. Some organizations may add \"unknown\" and \"dynamic-dns\" to this list, at the expense of some support calls on those topics. Rationale: Certain URL categories pose a technology-centric threat, such as mcommand-and-control, copyright-infringement, extremism, malware, phishing, proxy-avoidance-and-anonymizers, and parked. Users visiting websites in these categories, many times unintentionally, are at greater risk of compromising the security of their system. Other categories, such as adult, may pose a legal liability and will be blocked for those reasons. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Objects > Security Profiles > URL Filtering. Set a URL filter so that all URL categories designated by the organization are listed. Navigate to the Actions tab. Set the action to Block. Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.7,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-5,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "URL Filtering Profile ''" xsl_stmt : "" xsl_stmt : "--Blocked item: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "6.11 Ensure that access to every URL is logged" info : "URL filters should not specify any categories as Allow Categories. Rationale: Setting a URL filter to have one or more entries under Allow Categories will cause no log entries to be produced in the URL Filtering logs for access to URLs in those categories. For forensic, legal, and HR purposes, it is advisable to log access to every URL. In many cases failure to log all URL access is a violation of corporate policy, legal requirements or regulatory requirements. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Objects > Security Profiles > URL Filtering. Set the Allow Categories column so that it is blank. Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: A default URL Filtering Security Profile is configured, with the following categories set to \"block\": abused-drugs adult gambling hacking malware phishing questionable weapons" reference : "800-53|SI-4,800-171|3.14.7,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-5,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "URL Filtering Profile ''" xsl_stmt : "" xsl_stmt : "--Blocked item: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "6.12 Ensure all HTTP Header Logging options are enabled - Log Container Page" info : "Enable all options (User-Agent, Referer, and X-Forwarded-For) for HTTP header logging. Rationale: Logging HTTP header information provides additional information in the URL logs, which may be useful during forensic investigations. The User-Agent option logs which browser was used during the web session, which could provide insight to the vector used for malware retrieval. The Referer option logs the source webpage responsible for referring the user to the logged webpage. The X-Forwarded-For option is useful for preserving the users source IP address, such as if a user traverses a proxy server prior to the firewall. Un-checking the Log container page only box produces substantially more information about web activity, with the expense of producing far more entries in the URL logs. If this option remains checked, a URL filter log entry showing details of a malicious file download may not exist." solution : "Navigate to Objects > Security Profiles > URL Filtering > URL Filtering Profile > Settings. Set the following four settings: a. Log container page only box is un-checked b. Check the User-Agent box c. Check the Referer box d. Check the X-Forwarded-For box Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|AU-12,800-171|3.3.1,800-171|3.3.2,CN-L3|7.1.3.3(a),CN-L3|7.1.3.3(b),CN-L3|7.1.3.3(c),CSF|DE.CM-1,CSF|DE.CM-3,CSF|DE.CM-7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.1,ITSG-33|AU-12,SWIFT-CSCv1|6.4,TBA-FIISB|45.1.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL Filtering Policy '', Log Container Page is not enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL Filtering Policy '', Log Container Page is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.12 Ensure all HTTP Header Logging options are enabled - User-Agent" info : "Enable all options (User-Agent, Referer, and X-Forwarded-For) for HTTP header logging. Rationale: Logging HTTP header information provides additional information in the URL logs, which may be useful during forensic investigations. The User-Agent option logs which browser was used during the web session, which could provide insight to the vector used for malware retrieval. The Referer option logs the source webpage responsible for referring the user to the logged webpage. The X-Forwarded-For option is useful for preserving the users source IP address, such as if a user traverses a proxy server prior to the firewall. Un-checking the Log container page only box produces substantially more information about web activity, with the expense of producing far more entries in the URL logs. If this option remains checked, a URL filter log entry showing details of a malicious file download may not exist." solution : "Navigate to Objects > Security Profiles > URL Filtering > URL Filtering Profile > Settings. Set the following four settings: a. Log container page only box is un-checked b. Check the User-Agent box c. Check the Referer box d. Check the X-Forwarded-For box Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|AU-12,800-171|3.3.1,800-171|3.3.2,CN-L3|7.1.3.3(a),CN-L3|7.1.3.3(b),CN-L3|7.1.3.3(c),CSF|DE.CM-1,CSF|DE.CM-3,CSF|DE.CM-7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.1,ITSG-33|AU-12,SWIFT-CSCv1|6.4,TBA-FIISB|45.1.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL Filtering Policy '', HTTP Header Logging User-Agent is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL Filtering Policy '', HTTP Header Logging User-Agent is not enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.12 Ensure all HTTP Header Logging options are enabled - Referer" info : "Enable all options (User-Agent, Referer, and X-Forwarded-For) for HTTP header logging. Rationale: Logging HTTP header information provides additional information in the URL logs, which may be useful during forensic investigations. The User-Agent option logs which browser was used during the web session, which could provide insight to the vector used for malware retrieval. The Referer option logs the source webpage responsible for referring the user to the logged webpage. The X-Forwarded-For option is useful for preserving the users source IP address, such as if a user traverses a proxy server prior to the firewall. Un-checking the Log container page only box produces substantially more information about web activity, with the expense of producing far more entries in the URL logs. If this option remains checked, a URL filter log entry showing details of a malicious file download may not exist." solution : "Navigate to Objects > Security Profiles > URL Filtering > URL Filtering Profile > Settings. Set the following four settings: a. Log container page only box is un-checked b. Check the User-Agent box c. Check the Referer box d. Check the X-Forwarded-For box Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|AU-12,800-171|3.3.1,800-171|3.3.2,CN-L3|7.1.3.3(a),CN-L3|7.1.3.3(b),CN-L3|7.1.3.3(c),CSF|DE.CM-1,CSF|DE.CM-3,CSF|DE.CM-7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.1,ITSG-33|AU-12,SWIFT-CSCv1|6.4,TBA-FIISB|45.1.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL Filtering Policy '', HTTP Header Logging Referer is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL Filtering Policy '', HTTP Header Logging Referer is not enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.12 Ensure all HTTP Header Logging options are enabled - X-Forwarded-For" info : "Enable all options (User-Agent, Referer, and X-Forwarded-For) for HTTP header logging. Rationale: Logging HTTP header information provides additional information in the URL logs, which may be useful during forensic investigations. The User-Agent option logs which browser was used during the web session, which could provide insight to the vector used for malware retrieval. The Referer option logs the source webpage responsible for referring the user to the logged webpage. The X-Forwarded-For option is useful for preserving the users source IP address, such as if a user traverses a proxy server prior to the firewall. Un-checking the Log container page only box produces substantially more information about web activity, with the expense of producing far more entries in the URL logs. If this option remains checked, a URL filter log entry showing details of a malicious file download may not exist." solution : "Navigate to Objects > Security Profiles > URL Filtering > URL Filtering Profile > Settings. Set the following four settings: a. Log container page only box is un-checked b. Check the User-Agent box c. Check the Referer box d. Check the X-Forwarded-For box Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|AU-12,800-171|3.3.1,800-171|3.3.2,CN-L3|7.1.3.3(a),CN-L3|7.1.3.3(b),CN-L3|7.1.3.3(c),CSF|DE.CM-1,CSF|DE.CM-3,CSF|DE.CM-7,CSF|PR.PT-1,ISO/IEC-27001|A.12.4.1,ITSG-33|AU-12,SWIFT-CSCv1|6.4,TBA-FIISB|45.1.1,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - URL Filtering Policy '', HTTP Header Logging X-Forwarded-For is enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - URL Filtering Policy '', HTTP Header Logging X-Forwarded-For is not enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No URL Filtering profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.13 Ensure secure URL filtering is enabled for all security policies allowing traffic to the Internet" info : "Apply a secure URL filtering profile to all security policies permitting traffic to the Internet. The URL Filtering profile may be applied to the security policies directly or through a profile group. Rationale: URL Filtering policies dramatically reduce the risk of users visiting malicious or inappropriate websites. In addition, a complete URL history log for all devices is invaluable when performing forensic analysis in the event of a security incident. Applying complete and approved URL filtering to outbound traffic is a frequent requirement in corporate policies, legal requirements or regulatory requirements. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "To Set URL Filtering: For each Security Profile that transits traffic to the internet, navigate to Policies > Security > Security Profiles > [Policy Name] > URL Filtering. Set a URL Filtering profile that complies with the policies of the organization is applied to all Security Policies that transit traffic to the public internet. Impact: Not having an effective URL Filtering configuration can leave an organization open to legal action, internal HR issues, non-compliance with regulatory policies or productivity loss. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Security policy '' is using URL Filtering profile ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No URL Filtering profile set on security policy ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No URL Filtering Profiles found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "6.14 Ensure alerting after a threshold of credit card or Social Security numbers is detected is enabled - Data Object" info : "This guideline is highly specific to an organization. While blocking of credit card or Social Security numbers will not occur with the recommended settings below, careful tuning is also recommended. Configure a Data Pattern with the following values: CC# - 10 SSN# - 20 SSN# (without dash) 1 Rationale: Credit card and Social Security numbers are sensitive, and should never traverse an organizations Internet connection in clear text. Passing sensitive data within an organization should also be avoided whenever possible. Detecting and blocking known sensitive information is a basic protection against a data breach or data loss. Not implementing these defenses can lead to loss of regulatory accreditation (such as PCI, HIPAA etc), or can lead to legal action from injured parties or regulatory bodies." solution : "From GUI: Navigate to Objects > Security Profiles > Data Patterns. Create an appropriate Data Pattern with CC# set to 10, SSN# set to 20, and SSN# (without dash) set to 1. Navigate to Objects > Security Profiles > Data Filtering. Create an appropriate Data Filtering Profile: Data Pattern: CC-and-SS-Weight Applications: ANY ob体育 Types: ANY Direction: Both Alert Threshold: 20 Block Threshold: 0 Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.7,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-5,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - '' meets all criteria. Credit card weight: '', Social Security number weight: '', Social Security Numbers without dash weight: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Data Pattern Profile '' does not meet all criteria. Credit card weight: '', Social Security number weight: '', Social Security Numbers without dash weight: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Data Pattern Profiles found" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "6.14 Ensure alerting after a threshold of credit card or Social Security numbers is detected is enabled - Data Filtering Profile" info : "This guideline is highly specific to an organization. While blocking of credit card or Social Security numbers will not occur with the recommended settings below, careful tuning is also recommended. Configure a Data Pattern with the following values: CC# - 10 SSN# - 20 SSN# (without dash) 1 Rationale: Credit card and Social Security numbers are sensitive, and should never traverse an organizations Internet connection in clear text. Passing sensitive data within an organization should also be avoided whenever possible. Detecting and blocking known sensitive information is a basic protection against a data breach or data loss. Not implementing these defenses can lead to loss of regulatory accreditation (such as PCI, HIPAA etc), or can lead to legal action from injured parties or regulatory bodies." solution : "From GUI: Navigate to Objects > Security Profiles > Data Patterns. Create an appropriate Data Pattern with CC# set to 10, SSN# set to 20, and SSN# (without dash) set to 1. Navigate to Objects > Security Profiles > Data Filtering. Create an appropriate Data Filtering Profile: Data Pattern: CC-and-SS-Weight Applications: ANY ob体育 Types: ANY Direction: Both Alert Threshold: 20 Block Threshold: 0 Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - '' meets all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Data Filtering Profile '' does not meet all criteria." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Data Filtering Profiles found" xsl_stmt : "" regex : ".*" expect : "Passed" type : AUDIT_XML description : "6.15 Ensure a secure Data Filtering profile is applied to all security policies allowing traffic to or from the Internet" info : "Create a secure Data Filtering profile and apply it to all security policies permitting traffic to or from the Internet. The Data Filtering profile may be applied to security policies directly or through a profile group. Rationale:" solution : "From GUI: Navigate to Objects > Security Profiles > Data Filtering Create a Data Filtering Profile: Applies to all security policies allowing traffic from Internet Check the Shared and Data Capture boxes Data Pattern set to CC-and-SS-Weight Applications set to Any ob体育 Types set to Any Direction set to Both Alert Threshold set to 20 Block Threshold set to 0 Configure a Data Threshold Profile to be applied to all Security Policies permitting traffic to the Internet. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security policy '' is using Data Filtering profile ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Vulnerability profile set on security policy ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Vulnerability Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.16 Ensure that a Zone Protection Profile with an enabled SYN Flood Action of SYN Cookies is attached to all untrusted zones" info : "Enable the SYN Flood Action of SYN Cookies for all untrusted zones. The Alert, Activate, and Maximum settings for SYN Flood Protection depend highly on the environment and device used. Perform traffic analysis on the specific environment and firewall to determine accurate thresholds. Do not rely on default values to be appropriate for an environment. Setting these values for all interfaces is an approach that should be considered by many organizations, as traffic floods can result from internal testing or malware as well. As a rough ballpark for most environments, an Activate value of 50% of the firewalls maximum New sessions per second/CPS is a conservative setting. The following is a list of new sessions per second maximum for each platform: PA-200 = 1,000 CPS PA-500 = 7,500 CPS PA-2000 series = 15,000 CPS PA-3000 series = 50,000 CPS PA-5000 series = 120,000 CPS PA-7050 = 720,000 CPS Rationale: Protecting resources and the firewall itself against DoS/DDoS attacks requires a layered approach. Firewalls alone cannot mitigate all DoS attacks, however, many attacks can be successfully mitigated. Utilizing SYN Cookies helps to mitigate SYN flood attacks, where the CPU and/or memory buffers of the victim device become overwhelmed by incomplete TCP sessions. SYN Cookies are preferred over Random Early Drop." solution : "From GUI: Navigate to Network > Network Profiles > Zone Protection > Zone Protection Profile > Flood Protection tab. Check the SYN box Set the Action dropdown to SYN Cookies Set Alert to 20000(or appropriate for org) Set Activate to 25000(50% of maximum for firewall model) Set Maximum to 1000000(or appropriate for org) Impact: Not configuring a Network Zone Protection Profile on untrusted interfaces leaves an organization exposed to common attacks and reconnaissance from those untrusted networks. Not configuring a Zone Protection Profile for internal networks leaves an organization vulnerable to malware, software or hardware causes of traffic flooding from internal sources. Default Value: Not Configured" reference : "800-53|SC-5,CSF|DE.CM-1,CSF|PR.DS-4,ITSG-33|SC-5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has TCP SYN Cookies enabled" xsl_stmt : "" # Note: Variable @SYN_ALERT_RATE@ replaced with "10000" in field "xsl_stmt". xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' SYN cookies Alert rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' SYN cookies Alert rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" # Note: Variable @SYN_ACTIVATE_RATE@ replaced with "500000" in field "xsl_stmt". xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' SYN cookies Activate rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' SYN cookies Activate rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" # Note: Variable @SYN_MAXIMAL_RATE@ replaced with "1000000" in field "xsl_stmt". xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' SYN cookies Maximal rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' SYN cookies Maximal rate is ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' Flood Protection/SYN is not enabled" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.18 Ensure that all zones have Zone Prot Profiles with all Recon Protection settings enabled, tuned, and set to appropriate actions" info : "6.18 Ensure that all zones have Zone Protection Profiles with all Reconnaissance Protection settings enabled, tuned, and set to appropriate actions Enable all three scan options in a Zone Protection profile. Do not configure an action of Allow for any scan type. The exact interval and threshold values must be tuned to the specific environment. Less aggressive settings are typically appropriate for trusted zones, such as setting an action of alert for all scan types. Attach appropriate Zone Protection profiles meeting these criteria to all zones. Separate Zone Protection profiles for trusted and untrusted zones is a best practice. Rationale: Port scans and host sweeps are common in the reconnaissance phase of an attack. Bots scouring the Internet in search of a vulnerable target may also scan for open ports and available hosts. Reconnaissance Protection will allow for these attacks to be either alerted on or blocked altogether." solution : "Navigate to Network > Network Profiles > Zone Protection > Zone Protection Profile > Reconnaissance Protection. Set TCP Port Scan to enabled, its Action to block-ip, its Interval to 5, and its Threshold to 20. Set Host Sweep to enabled, its Action to block, its Interval to 10, and its Threshold to 30. Set UDP Port Scan to enabled, its Action to alert, its Interval to 10, and its Threshold to 20. Impact: Not configuring a Network Zone Protection Profile leaves an organization exposed to common attacks and reconnaissance from untrusted networks. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.7,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,TBA-FIISB|45.2.6,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Action set to Block-IP." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Action set incorrectly." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance TCP Port Scan Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Action set to Alert." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Action set incorrectly." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance UDP Port Scan Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance Host Sweep Action set to Block." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance Host Sweep Action set incorrectly." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance Host Sweep Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance Host Sweep Interval set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Reconnaissance Host Sweep Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Reconnaissance Host Sweep Threshold set to ''." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Reconnaissance TCP Port Scan found" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Reconnaissance UDP Port Scan found" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Reconnaissance Host Sweep found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.19 Ensure all zones have Zone Protection Profiles that drop specially crafted packets" info : "For all zones, attach a Zone Protection Profile that is configured to drop packets with a spoofed IP address or a mismatched overlapping TCP segment, and packets with malformed, strict source routing, or loose source routing IP options set. Rationale: Using specially crafted packets, an attacker may attempt to evade or diminish the effectiveness of network security devices. Enabling the options in this recommendation lowers the risk of these attacks." solution : "Navigate to Network > Network Profiles > Zone Protection > Zone Protection Profile > Packet Based Attack Protection > TCP/IP Drop. Set Spoofed IP address to be checked. Set Mismatched overlapping TCP segment to be checked. Under IP Option Drop, set Strict Source Routing, Loose Source Routing, and Malformed to all be checked. Additional options may also be set if desired. Impact: Not configuring a Network Zone Protection Profile leaves an organization exposed to common attacks and reconnaissance from untrusted networks. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.6,800-171|3.14.7,CN-L3|7.1.2.2(c),CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.5,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Packet Based Attack Protection / Spoofed IP address enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Packet Based Attack Protection / Spoofed IP address disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Packet Based Attack Protection / Strict Source Routing enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Packet Based Attack Protection / Strict Source Routing disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Packet Based Attack Protection / Loose Source Routing enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Packet Based Attack Protection / Loose Source Routing enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Packet Based Attack Protection / Malformed enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Packet Based Attack Protection / Malformed disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Zone Protection Profile '' has Packet Based Attack Protection / Mismatched Overlapping TCP Segment enabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Zone Protection Profile '' has Packet Based Attack Protection / Mismatched Overlapping TCP Segment disabled." xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Packet Based Attack Protection / Spoofed IP address" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Packet Based Attack Protection / Strict Source Routing" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Packet Based Attack Protection / Loose Source Routing" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Packet Based Attack Protection / Malformed" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Zone Protection Profiles using Packet Based Attack Protection / Mismatched Overlapping TCP Segment" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "6.20 Ensure that User Credential Submission uses the action of block or continue on the URL categories" info : "Ideally user names and pazzwd s user within an organization are not used with third party site. Some sanctioned SAS applications may have connections to the corporate domain, in which case they will need to be exempt from the user credential submission policy through a custom URL category. Rationale: Preventing users from having the ability to submit their corporate credentials to the Internet could stop credential phishing attacks and the potential that a breach at a site where a user reused credentials could lead to a credential stuffing attack." solution : "Navigate to Objects > Security Profiles > URL Filtering. Set the user credential submitting action on all URL categories listed to Block. Under the \"User Credential Detection\" tab set user credential detection to Use IP User Mapping. This requires User-ID to be configured and decryption to be effective. Impact: Not preventing users from submitting their corporate credentials to the Internet can leave them open to phishing attacks or allow for credential reuse on unauthorized sites. Default Value: Not Configured" reference : "800-53|SI-4,800-171|3.14.7,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-5,CSF|DE.CM-7,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,SWIFT-CSCv1|6.4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "URL Filtering Profile ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - IP User Mapping not set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - IP User Mapping set" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "7.1 Ensure application security policies exist when allowing traffic from an untrusted zone to a more trusted zone" info : "When permitting traffic from an untrusted zone, such as the Internet or guest network, to a more trusted zone, such as a DMZ segment, create security policies specifying which specific applications are allowed. Rationale: To avoid unintentionally exposing systems and services, rules allowing traffic from untrusted zones to trusted zones should be as specific as possible. Application-based rules, as opposed to service/port rules, further tighten what traffic is allowed to pass. Similarly, traffic from trusted to untrusted networks should have a security policy set, with application-based rules. A \"catch-all\" rule that allows all applications will also allow malware traffic. The goal should be to understand both inbound and outbound traffic, permit what is known, and block all other traffic. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Policies > Security. Set a Security Policy with: Source: Zone set to OUTSIDE / Address set to any Destination / Destination: Zone set to DMZ / Address set to [DMZ IP Address] / Application set to web-browsing / Service set to application-default Impact: Setting application based rules on both inbound and outbound traffic ensures that the traffic on the protocol and port being specified is actually the application that you expect. For outbound traffic, the days of \"we trust our users\" is well past us, that statement also implies that we trust the malware on the user workstations, which is obviously not the case. For traffic from trusted to less trusted interfaces, the applications should be characterized over time, with the end goal being that all applications in in the rules, and a final \"block all\" rule is in place. Not having this goal gives both attackers and malware the leeway they need to accomplish their goals. Default Value: Not Configured" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Verify application security policy exists for traffic from untrusted to trusted zones" xsl_stmt : "" xsl_stmt : "Security policy: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Security Policies found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "7.2 Ensure 'Service setting of ANY' in a security policy allowing traffic does not exist" info : "Create security policies specifying application-default for the Service setting, or the specific ports desired. The Service setting of any should not be used for any policies that allow traffic. Rationale: App-ID requires a number of packets to traverse the firewall before an application can be identified and either allowed or dropped. Due to this behavior, even when an application is defined in a security policy, a service setting of any may allow a device in one zone to perform ports scans on IP addresses in a different zone. In addition, this recommendation helps to avoid an App-ID cache pollution attack. Because of how App-ID works, configuring the service setting to \"Any\" allows some initial traffic to reach the target host before App-ID can recognize and appropriately restrict the traffic. Setting the Service Setting to application specific at least restricts the traffic to the target applications or protocols for that initial volume of traffic." solution : "Navigate to Policies > Security. Set a Security Policy that has: Source: Zone set to OUTSIDE Address set to any Destination: Zone set to DMZ / Address set to / Application set to web-browsing / Service set to application-default / and NOT to any Default Value: Not Configured" reference : "800-53|SC-7,800-171|3.13.1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Security Profile '' has a Service setting of 'ANY'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Security Profile '' does not have a Service setting of 'ANY'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Security Profiles found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "7.3 Ensure 'Security Policy' denying any/all traffic to/from IP addresses on Trusted Threat Intelligence Sources Exists" info : "Create a pair of security rules at the top of the security policies ruleset to block traffic to IP addresses known to be malicious. Rationale: Creating rules that block traffic to/from known malicious sites from Trusted Threat Intelligence Sources protects you against IP addresses that Palo Alto Networks has proven to be used almost exclusively to distribute malware, initiate command-and-control activity, and launch attacks. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Policies > Security. Create a Security Policy with the Name 'Deny to Malicious IP' Source: Zone set to Any Address set to Any Destination: Zone set to Any Address set to \"Palo Alto Networks - Known malicious IP addresses\" Application set to Any Service set to Any Action set to Block Profile set to None Create a Security Policy with the Name set to 'Deny From Malicious IP' Source: Zone set to Any Address set to \"Palo Alto Networks - Known malicious IP addresses\" Destination: Zone set to Any Address set to Any Application set to Any Service set to Any Action set to Block Profile set to None Default Value: Not Configured" reference : "800-53|SC-7,800-171|3.13.1,800-171|3.13.6,CN-L3|7.1.2.2(c),CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Verify deny all traffic exists at bottom of ruleset" xsl_stmt : "" xsl_stmt : "Security policy: ''" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Security Policies found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "8.1 Ensure 'SSL Forward Proxy Policy' for traffic destined to the Internet is configured - Policies" info : "Configure SSL Forward Proxy for all traffic destined to the Internet. Include all categories except financial-services and health-and-medicine. Rationale: Without SSL inspection, the firewall cannot apply many of its protection features against encrypted traffic. The amount of encrypted malware traffic continues to rise, and legitimate websites using SSL encryption are hacked or tricked into delivering malware on a frequent basis. As encryption on the Internet continues to grow at a rapid rate, SSL inspection is no longer optional as a practical security measure. If proper decryption is not configured, it follows that the majority of traffic is not being fully inspected for malicious content or policy violations. This is a major exposure, allowing delivery of exploits and payloads direct to user desktops. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Policies > Decryption. Set SSL Forward Proxy for all traffic destined to the Internet. Include all categories except financial-services and health-and-medicine. Default Value: Not Configured" reference : "800-53|SI-4,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Verify a SSL Forward Proxy Policy is set for traffic destined to the Internet" xsl_stmt : "" xsl_stmt : "Decryption Profile '' is set to type 'SSL Forward Proxy'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Decryption Profiles using 'SSL Forward Proxy' found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "8.1 Ensure 'SSL Forward Proxy Policy' for traffic destined to the Internet is configured - Invalid Categories" info : "Configure SSL Forward Proxy for all traffic destined to the Internet. Include all categories except financial-services and health-and-medicine. Rationale: Without SSL inspection, the firewall cannot apply many of its protection features against encrypted traffic. The amount of encrypted malware traffic continues to rise, and legitimate websites using SSL encryption are hacked or tricked into delivering malware on a frequent basis. As encryption on the Internet continues to grow at a rapid rate, SSL inspection is no longer optional as a practical security measure. If proper decryption is not configured, it follows that the majority of traffic is not being fully inspected for malicious content or policy violations. This is a major exposure, allowing delivery of exploits and payloads direct to user desktops." solution : "Navigate to Policies > Decryption. Set SSL Forward Proxy for all traffic destined to the Internet. Include all categories except financial-services and health-and-medicine. Default Value: Not Configured" reference : "800-53|SC-7,800-171|3.13.1,CSF|DE.CM-1,CSF|PR.AC-5,CSF|PR.PT-4,ITSG-33|SC-7,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Passed - Decryption Profile '' is not blocking categories 'Financial Services' and 'Health and Medicine'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - Decryption Profile '' is blocking categories 'Financial Services' and/or 'Health and Medicine'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Failed - No Decryption Profiles using 'SSL Forward Proxy' found" xsl_stmt : "" regex : "(Passed|Failed)" not_expect : "Failed" type : AUDIT_XML description : "8.2 Ensure 'SSL Inbound Inspection' is required for all untrusted traffic destined for servers using SSL or TLS" info : "Configure SSL Inbound Inspection for all untrusted traffic destined for servers using SSL or TLS. Rationale: Without SSL Inbound Inspection, the firewall is not able to protect SSL or TLS-enabled webservers against many threats. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Navigate to Policies > Decryption. Set SSL Inbound Inspection appropriately for all untrusted traffic destined for servers using SSL or TLS. Default Value: Not Configured" reference : "800-53|SI-4,CSF|DE.AE-1,CSF|DE.AE-2,CSF|DE.AE-3,CSF|DE.CM-1,CSF|DE.CM-6,CSF|DE.DP-2,CSF|ID.RA-1,CSF|PR.DS-5,CSF|PR.IP-8,CSF|RS.AN-1,ITSG-33|SI-4,LEVEL|1S" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "Decryption Profile '' is set to type 'SSL Inbound Inspection'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Decryption Profiles using 'SSL Inbound Inspection' found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM type : AUDIT_XML description : "8.3 Ensure that the Certificate used for Decryption is Trusted" info : "The CA Certificate used for in-line HTTP Man in the Middle should be trusted by target users. There are two classes of users that need to be considered. 1: Users that are members of the organization, users of machines under control of the organization. For these people and machines, ensure that the CA Certificate is in one of the Trusted CA certificate stores. This is easily done in Active Directory, using Group Policies for instance. A MDM (Mobile Device Manager) can be used to accomplish the same task for mobile devices such as telephones or tablets. Other central management or orchestration tools can be used for Linux or \"IoT\" (Internet of Things) devices. 2: Users that are not member of the organization - often these are classed as \"Visitors\" in the policies of the organization. If a public CA Certificate is a possibility for your organization, then that is one approach. A second approach is to not decrypt affected traffic - this is easily done, but leaves the majority of \"visitor\" traffic uninspected and potentially carrying malicious content. The final approach, and the one most commonly seen, is to use the same certificate as is used for members organization. In this last case, visitors will see a certificate warning, but the issuing CA will be the organization that they are visiting. Rationale: Using a self-signed certificate, or any certificate that generates a warning in the browser, means that members of the organization have no method of determining if they are being presented with a legitimate certificate, or an attacker's \"man in the middle' certificate. It also very rapidly teaches members of the organization to bypass all security warnings of this type. NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance." solution : "Set the CA Certificate(s): Navigate to Device > Certificate Management > Certificates. Set the Certificate Profile needed for the SSL Forward Proxy: Navigate to Device > Certificate Management > Certificate Profile. Set the decryption profile to include the settings described in the SSL Forward Proxy guidance in this document: Navigate to Objects > Decryption Profile. Set the Decryption Policy to be applied to the appropriate interfaces and to have the categories assigned to it that comply with your organization's internal policies, regulatory requirements and legal requirements. Navigate to Policies > Decryption. Source: all internal user subnets. Destination: all target zones (typically this is the public internet). Excluded URL categories: include Health Care, Personal Banking and any other category that exposes PII, PHI or that exposes any information that might be described in your organization's internal policies, regulatory framework, privacy requirements or legal requirements as protected. Decryption Policy Rule: include the SSL Forward Proxy defined above, and the Decryption Profile defined above. Default Value: Decryption is not enabled by default." reference : "800-53|SC-17,ITSG-33|SC-17,LEVEL|1NS" see_also : "https://workbench.cisecurity.org/files/2104" api_request_type : "op" request : "" xsl_stmt : "" xsl_stmt : "Verify that the Decryption certificate is trusted" xsl_stmt : "" xsl_stmt : "Decryption Profile '' is set to type 'SSL Forward Proxy'" xsl_stmt : "" xsl_stmt : "" xsl_stmt : "No Decryption Profiles using 'SSL Forward Proxy' found" xsl_stmt : "" regex : ".*" expect : "Manual Review Required" severity : MEDIUM description : "Palo Alto software version 8 not found." info : "The target host is not running Palo Alto software version 8 or higher. NOTE: Nessus has not identified that the chosen audit applies to the target device." see_also : "https://workbench.cisecurity.org/files/2104"