PAN-OS: Understanding App-ID Dependencies

Introduction: Why Dependencies Matter

Modern applications rarely operate in isolation. They often rely on other underlying applications or services to function correctly. For example, a web application needs DNS to resolve hostnames and typically uses SSL/TLS for secure communication. Palo Alto Networks App-ID technology is designed to understand many of these relationships, known as Application Dependencies.

Understanding how PAN-OS identifies and handles these dependencies is crucial for creating accurate and effective Security Policies. If dependencies are not correctly accounted for, users might find that applications allowed by policy still fail to work because a required underlying service is being blocked.

Relies on

Needs

Modern Application

Underlying Services

DNS for Hostname Resolution

SSL/TLS for Secure Communication

App-ID to Understand Relationships

Application Dependencies

Effective Security Policy

Risk: Blocked Underlying Service

Application Failure Despite Allow Policy

The interconnected nature of modern applications and the importance of understanding dependencies for security policy effectiveness.

Types of App-ID Dependencies

PAN-OS categorizes dependencies primarily into two types:

App-ID Dependencies

Types

Implicit Dependencies

Explicit Dependencies

Fundamental protocols/services

Not usually listed in App-ID definition

Examples: DNS, SSL/TLS, STUN

Handled implicitly with 'application-default'

Specific applications required by another

Listed in parent App-ID definition

Examples: ms-office365-base -> specific O365 services

View in GUI - Objects to Applications / Applipedia

Diagram zoom in

Overview of Implicit vs. Explicit App-ID Dependencies.

These types determine how the firewall handles the prerequisite traffic for an allowed application. Understanding this distinction is key to effective policy creation and troubleshooting.

Implicit Dependencies

These are fundamental protocols or services that many applications inherently rely on but aren't usually listed as explicit requirements in the App-ID definition.

Examples:

How PAN-OS Handles Them: Generally, if you allow a parent application (e.g., google-base ) with the Service set to application-default , the firewall implicitly allows the necessary standard dependencies like DNS lookups and the initial SSL/TLS handshake *for that specific session*. It recognizes these are required for the allowed application to function.

The use of application-default is crucial for the firewall to implicitly allow these standard dependencies on their expected ports.

Explicit Dependencies

These are specific applications that another application directly requires to function fully. These dependencies *are* listed in the App-ID definition for the parent application.

Examples:

How PAN-OS Handles Them: Similar to implicit dependencies, if you allow the parent application, the firewall attempts to automatically allow its known explicit dependencies within the context of that session.

Where to Find Them: You can view explicit dependencies for a specific App-ID in the GUI under Objects > Applications > [Select Application] or on the Applipedia website.

Explicitly Depends On

Explicitly Depends On

App-ID Definition for ParentApp

Lists: ms-office365-online

Lists: SharePoint-online

Parent Application e.g. ms-office365-base

Dependency 1 e.g. ms-office365-online

Dependency 2 e.g. SharePoint-online

How to Check

Firewall GUI: Objects > Applications

Palo Alto Networks Applipedia

Visualizing an explicit dependency and where to find information about it.

Where Dependencies Come Into Play: Policy & Firewall Behavior

Understanding how dependencies influence security policy rules and overall firewall behavior is critical for ensuring applications function as expected while maintaining security.

App_Server DNS_Server Firewall User App_Server DNS_Server Firewall User alt [AppX Allowed (service: application-default)] [AppX Denied or Dependency Blocked] Request for AppX (e.g., web-browsing to example.com) Policy Check for AppX Implicit DNS Allow (for this session) DNS query for example.com? IP_of_example.com SSL/TLS to IP_of_example.com Implicit SSL/TLS Allow (for this session) AppX Traffic (e.g., HTTPS GET) AppX Response Connection Reset/Drop

Simplified session flow illustrating implicit dependency handling by the firewall when a parent application is allowed with 'application-default'.

Security Policy Implications

Yes

'application-default'

No

Yes

'Specific Port' or 'any'

No

Security Policy Evaluation

Rule for Parent App?

Service Setting

Firewall implicitly allows standard dependencies like DNS and SSL for this session

Other rules explicitly block DNS/SSL?

App Works - dependencies handled

App Fails - dependency blocked by other rule

Implicit dependency handling may be impaired/bypassed

Potential App Failure or Security Risk

Flowchart illustrating security policy implications for App-ID dependencies.

Troubleshooting Application Failures

When an application allowed by policy fails, checking for blocked dependencies is a common troubleshooting step.

Troubleshooting Scenario: Web Browsing Fails

Symptom: User reports they cannot access www.example.com , even though a policy allows web-browsing .

Troubleshooting Steps:

  1. Filter Traffic logs for the user's IP address.
  2. Look for web-browsing sessions. Are they allowed?
  3. Look for dns sessions from the user's IP around the same time. Are they denied? If so, a DNS block rule might be the culprit.
  4. Look for ssl sessions. If web-browsing is seen, but ssl is denied, this could also be the issue.

Decryption Considerations

If an application tunnels *another* dependent application *within* its encrypted stream (after the initial handshake), App-ID can only identify that internal dependency if SSL/TLS Decryption is enabled. Without decryption, the firewall might only see the outer application (e.g., ssl ).

With SSL/TLS Decryption

Without SSL/TLS Decryption

Sees only outer App (e.g., 'ssl')

Decrypts Traffic

Identifies

Identifies

Applies Policy to Inner App & Deps

User

Firewall

Internet

Inner App & its Dependencies? Unknown

Firewall

Inspects Payload

Inner App: e.g. 'dropbox-download'

Inner App Dependencies

Internet Re-encrypted

Impact of SSL/TLS Decryption on identifying tunneled application dependencies.

Without decryption, policy control over applications tunneled within SSL/TLS is limited to the outer encrypted application (typically just ssl ). Enable decryption for granular control and visibility into these hidden dependencies.

Best Practices for Handling Dependencies

Gotchas and Caveats

Using Policy Optimizer for Dependency Insights

While not its primary function, the Policy Optimizer ( Policies > Policy Optimizer ) can offer clues about dependencies:

Policy Optimizer is more a tool for rule refinement and identifying traffic composition than a dedicated dependency analysis tool, but its "Apps Seen" data provides valuable context.

PCNSE Exam Focus

For the PCNSE exam, concerning App-ID dependencies:

  • Understand the difference between Implicit (e.g., DNS, SSL) and Explicit dependencies.
  • Know that PAN-OS generally handles dependencies automatically within the context of an allowed parent application session, especially when using application-default .
  • Recognize the critical role of the application-default service setting for correct dependency handling.
  • Understand that blocking core services (like DNS) in separate rules can break applications even if the parent App-ID is allowed.
  • Know where to look for explicit dependencies ( Applipedia, Application object details ).
  • Be aware that troubleshooting application failures often involves checking logs for blocked dependencies .
  • Understand the role of decryption in identifying dependencies within encrypted tunnels.
  • Recognize that Policy Optimizer's " Apps Seen " can provide insights into dependencies observed on a rule.

Interactive Quiz: App-ID Dependencies

Test your knowledge about App-ID dependencies with this 30-question quiz. These questions are based on common scenarios and PCNSE exam topics.

1. Which of the following is an example of an implicit App-ID dependency?

2. What is the primary benefit of using 'application-default' in the Service column of a Security Policy rule regarding dependencies?

3. If a parent application is allowed, but its explicit dependency is blocked by another Security Policy rule, what is the likely outcome?

4. Where can you typically find information about an application's explicit dependencies?

5. What role does SSL/TLS Decryption play in identifying App-ID dependencies?

6. A user reports an application allowed by policy is not working. When troubleshooting, you check the Traffic logs and see denied sessions for 'dns' from the user's IP. What is a likely cause?

7. How does Policy Optimizer's "Apps Seen" feature help with App-ID dependencies?

8. If you configure a Security Policy rule allowing 'my-custom-app' but set the Service to a specific non-standard port, what might happen to its standard dependencies like DNS or SSL?

9. Which statement accurately describes how PAN-OS handles dependencies for custom applications?

10. What is a key characteristic of an explicit App-ID dependency?

11. If you allow 'google-base' with 'application-default' service, do you generally need a separate rule to allow 'ssl' for the initial handshake of that 'google-base' session?

12. Which of these is NOT a primary place to find information about explicit App-ID dependencies?

13. What is a common 'gotcha' related to DNS and App-ID dependencies?

14. An application like 'facebook-apps' might depend on 'facebook-base'. This is an example of:

15. True or False: If a parent application is allowed with 'application-default', PAN-OS will *always* allow its known explicit dependencies, regardless of other policy rules.

16. What does STUN (Session Traversal Utilities for NAT) typically serve as a dependency for?

17. If SSL/TLS Decryption is NOT enabled, and an application like 'internal-custom-app' is tunneled inside an SSL session, what App-ID will the firewall most likely identify for that traffic?

18. Which of the following actions is LEAST effective for troubleshooting a suspected App-ID dependency issue?

19. A security policy allows 'ms-office365-base' with service 'application-default'. However, users cannot access specific Office 365 services like 'ms-office365-sharepoint-online'. What is a possible reason related to dependencies?

20. The "Apps Seen" feature in Policy Optimizer for a rule allowing 'web-browsing' shows 'dns' and 'ssl'. What does this indicate?

21. When is it most critical to manually account for dependencies for a custom-developed internal application?

22. True or False: Implicit dependencies are always listed in the "Depends on Applications" tab of an App-ID object in the GUI.

23. If a Security Policy rule allows an application with Service set to 'any', how might this impact dependency handling?

24. Which log is most crucial for identifying blocked App-ID dependencies during troubleshooting?

25. The term "parent application" in the context of App-ID dependencies refers to:

26. For PCNSE exam purposes, it's important to know that PAN-OS handling of standard dependencies is most effective when Security Policy rules use what in the Service column?

27. If you see `ms-office365-base` allowed in logs, but `ms-office365-online` (an explicit dependency) is denied, what should you check first?

28. An administrator wants to allow a new, internally developed financial application. This application relies on a separate, existing internal authentication service. How should dependencies be handled?

29. What is the primary risk of NOT enabling SSL/TLS Decryption when trying to control applications that tunnel other applications?

30. If you test an application and it works, but Policy Optimizer shows a dependent App-ID in "Apps Seen" for the allow rule, what does this most likely mean?