PAN-OS: Creating Custom Applications and Threat Signatures

Introduction: Extending Firewall Capabilities

While Palo Alto Networks provides extensive, regularly updated libraries for application identification (App-ID) and threat signatures, there are situations where organizations need to define their own custom classifications. PAN-OS allows administrators to create Custom Application Signatures (often called "Custom Apps") and Custom Threat Signatures .

Understanding how to create and apply these custom objects is crucial for tailoring the firewall's capabilities to specific organizational needs and threat landscapes.

Custom Application Signatures (Custom Apps)

Purpose and Use Cases

Create a Custom Application when:

Important Distinction: Unlike Application Override (which bypasses App-ID), Custom Applications *integrate* with the App-ID engine. The firewall uses the custom signature definition within the App-ID framework to classify the traffic.

Configuration Location and Key Parameters

How Custom Apps are Used

  1. Create the Custom Application object with its signature(s).
  2. Commit the configuration.
  3. Use the Custom Application name just like any standard App-ID in Security Policy rules, QoS rules, etc.
  4. Set the Service in Security rules preferably to application-default if you defined standard ports, or specify the custom port if necessary.

Custom Threat Signatures

Purpose and Use Cases

Create Custom Threat Signatures when:

Types and Configuration Location

Key Configuration Parameters (Spyware/Vulnerability)

How Custom Threat Signatures are Applied

Creating a custom threat signature does **NOT** automatically enable detection. You must actively apply it:

  1. Create the Custom Threat Signature object (e.g., a custom spyware signature).
  2. Navigate to the relevant Security Profile:
    • For custom Spyware signatures: Objects > Security Profiles > Anti-Spyware . Edit or create a profile.
    • For custom Vulnerability signatures: Objects > Security Profiles > Vulnerability Protection . Edit or create a profile.
  3. In the profile, go to the Exceptions or Rules tab (depending on profile type/version).
  4. Explicitly enable detection for your custom signature Threat ID (or use the 'Show all signatures' option and find it by name). Set the desired Action (Alert, Block, etc.) which overrides the signature's default action if needed.
  5. Attach the modified Security Profile (Anti-Spyware or Vulnerability Protection) to the Security Policy rule(s) governing the traffic you want to inspect.
  6. Commit the changes.
graph TD
    A["Create Custom Threat Signature - Objects to Custom Objects"] --> B{"Edit Security Profile - Anti-Spyware or Vulnerability Protection"};
    B -- "Enable Threat ID & Set Action" --> C["Security Profile Includes Custom Threat"];
    C --> D{"Attach Profile to Security Policy Rule - Policies to Security"};
    D -- "Inspects Allowed Traffic" --> E["Firewall Engine Detects Custom Threat"];

    style A fill:#fdebd0,stroke:#f5b041,stroke-width:2px
    style C fill:#d5f5e3,stroke:#58d68d,stroke-width:2px

     
Applying a Custom Threat Signature via a Security Profile.

Common Gotchas and Caveats

Best Practices

PCNSE Exam Focus

For the PCNSE exam, understand:

Custom Apps & Threats Quiz

1. What is the primary reason to create a Custom Application Signature in PAN-OS?

Custom Applications are primarily used to integrate proprietary or unknown applications into the App-ID framework for policy enforcement, using custom-defined signatures.

2. Where are Custom Application Signatures configured in the PAN-OS GUI?

Custom Applications are created alongside standard application objects under the `Objects > Applications` section.

3. How are Custom Threat Signatures (e.g., custom spyware) typically activated to inspect traffic?

Custom Threat IDs must be explicitly enabled (and an action set) within the corresponding Security Profile (Anti-Spyware for spyware signatures, Vulnerability Protection for vulnerability signatures). That profile must then be applied to relevant Security Policy rules.

4. What is a major difference between using a Custom Application signature and an Application Override policy?

This is a critical distinction. Custom Apps extend App-ID; Application Override tells App-ID to stop looking and just use the specified label, significantly impacting security feature effectiveness.

5. Which component is used in Security Policy rules to allow or block traffic identified by a Custom Application signature?

Once created under `Objects > Applications`, a Custom Application is used just like a standard App-ID – you select its name in the 'Application' tab of a Security Policy rule.

6. Creating a very broad custom threat signature pattern (e.g., matching "password") can lead to which negative consequences?

Broad patterns are likely to match legitimate traffic (false positives) and require the firewall to inspect more data more deeply, potentially impacting performance. Specificity is key for custom signatures.

7. Where are Custom Spyware and Custom Vulnerability signatures configured?

Custom threat signatures (Spyware, Vulnerability, Data Patterns etc.) are created under the `Objects > Custom Objects` hierarchy.

8. What information is typically NOT defined within a Custom Application signature itself?

A Custom Application definition focuses on identifying the application (ports, signatures, characteristics). Bandwidth allocation is handled separately by QoS policies and interface settings, which can *use* the custom App-ID as matching criteria.

9. Setting the 'Severity' (e.g., Critical, High) is a key parameter when creating which type of custom object?

Severity is a core attribute of threat signatures, indicating the potential risk associated with the detected pattern. It helps prioritize alerts and can influence default actions in security profiles.

10. What is a crucial best practice after creating either a Custom Application or a Custom Threat Signature?

Testing is paramount for custom objects. False positives can block legitimate traffic, while false negatives mean the custom object isn't working as intended. Thorough validation before wide deployment is essential.

References