SSL Inbound Inspection is a feature on Palo Alto Networks firewalls that allows the firewall to decrypt and inspect SSL/TLS traffic destined for internal servers (e.g., internal web servers, application servers) hosted behind the firewall. By decrypting this incoming traffic, the firewall gains visibility into the application and content within the encrypted session.
This visibility is essential for applying effective security measures, including:
This is distinct from SSL Forward Proxy (Outbound Inspection), where the firewall decrypts traffic initiated by internal clients going to external websites.
SSL Inbound Inspection works by placing the firewall in a Man-in-the-Middle (MITM) position between the external client and the internal server.
Critical Requirement: For the firewall to successfully decrypt the incoming session and impersonate the internal server to the external client, it MUST possess the internal server's actual SSL/TLS certificate AND its corresponding private key .
This allows the firewall's security engines (App-ID, Threat Prevention, etc.) to inspect the clear-text application data flowing between the client and the server.
Before configuring SSL Inbound Inspection, ensure these are available:
Device > Certificate Management > Certificates
Import
.
Objects > Decryption > Decryption Profile
Add
.
Policies > Decryption
Add
.
service-https
or a custom service object for TCP/443.
Policies > Security
) that allows the initial HTTPS connection based on its
original context
.
Untrust
,
Destination Zone
Untrust
,
Destination Address (Public IP - Pre-NAT)
, Application
ssl
, Service
service-https
, Action
Allow
.
Policies > NAT
).
Commit the configuration to the firewall.
graph TD Client[External Client] -->|1. HTTPS Request To Public IP in Untrust Zone| Firewall(Firewall) Firewall --> NATPol_Lookup{"1a. DNAT Policy Lookup\nMatches Public IP\nDetermines Private IP"} Firewall --> DecPol{"1b. Decryption Policy Lookup\nMatches SrcZone=Untrust\nDstZone=DMZ\nDstIP=Private IP\nAction: Decrypt - SSL Inbound"} Firewall --> SecPol{"1c. Security Policy Lookup\nMatches SrcZone=Untrust\nDstZone=DMZ\nDstIP=Private IP\nApp=ssl\nAction: Allow"} NATPol_Lookup --> DecPol DecPol --> SecPol Firewall -->|2. Decrypt and Inspect| FW_Engines(Inspection Engines\nApp-ID, Threat Prev, etc.\nApplied based on SecPol) FW_Engines -->|3. Forward Cleartext or Re-encrypted| RouteLookup{"4. Route Lookup\nUses Private IP"} RouteLookup -->|Routes To| EgressIntf(Egress Interface\nZone=DMZ) Firewall -->|Handshake with Server Cert and Key| Client EgressIntf --> IntServer(Internal Server\nPrivate IP in DMZ Zone) linkStyle 0 stroke:#007bff,stroke-width:1px linkStyle 1 stroke:#dc3545,stroke-width:2px,color:red linkStyle 2 stroke:#28a745,stroke-width:1px,color:green linkStyle 3 stroke:#ffc107,stroke-width:1px,color:orange linkStyle 4 stroke:#6f42c1,stroke-width:1px,color:purple linkStyle 5 stroke:#17a2b8,stroke-width:1px,color:teal linkStyle 6 stroke:#007bff,stroke-width:1px linkStyle 7 stroke:#6c757d,stroke-width:1px,stroke-dasharray: 5 5Simplified SSL Inbound Inspection Flow with Policy Matching Clarification.
For the PCNSE exam, regarding SSL Inbound Inspection:
Regarding traffic subject to Destination NAT (DNAT), specifically for features like SSL Inbound Inspection, it's essential to understand which IP address the different policy engines use for matching:
Policy Type | Destination IP Used for Matching |
---|---|
NAT Policy (Destination NAT) | Original Destination IP (Public IP) |
Decryption Policy | Original Destination IP (Public IP) |
Security Policy | Original Destination IP (Public IP) |
Conclusion: Both Decryption Policy and Security Policy match on the Original (Pre-NAT) Destination IP address when evaluating incoming traffic, even when a Destination NAT rule applies.
When considering Destination NAT (DNAT) for inbound traffic, the Destination Zone used for policy matching follows the principle of evaluating the post-NAT context:
Untrust
).
DMZ
) after NAT translation for both Decryption and Security Policy matching.
DMZ
) towards the internal server.
Policy Type | Source Zone Used for Matching | Destination Zone Used for Matching |
---|---|---|
Decryption Policy |
Ingress Interface Zone (e.g.,
Untrust
)
|
Post-NAT Zone (e.g.,
DMZ
)
|
Security Policy |
Ingress Interface Zone (e.g.,
Untrust
)
|
Post-NAT Zone (e.g.,
DMZ
)
|
Conclusion:
For inbound traffic subject to DNAT, both Decryption and Security Policies match based on the
Post-NAT Destination Zone
context, which is the zone of the internal server where the traffic terminates (e.g.,
DMZ
).
1. What is the primary goal of configuring SSL Inbound Inspection?
2. What is the MOST critical prerequisite for the firewall to perform SSL Inbound Inspection?
3. In which policy type is SSL Inbound Inspection configured and enabled?
4. When configuring the Decryption Policy rule for SSL Inbound Inspection, which certificate is selected in the 'Certificate' field under the rule's Options?
5. What is a major security implication or risk associated with SSL Inbound Inspection?
6. How does SSL Inbound Inspection enable more effective Threat Prevention?
7. A Decryption Policy rule for SSL Inbound Inspection matches traffic arriving at the Untrust zone destined for Public IP 203.0.113.10. A DNAT rule translates this to Private IP 10.1.1.50 (in the DMZ zone). What Destination Zone and Destination Address should the corresponding Security Policy rule use for matching?
8. SSL Inbound Inspection is generally considered incompatible with which web server feature?
9. What happens if a client attempts to connect to a server protected by SSL Inbound Inspection using an SSL/TLS cipher suite that the firewall does NOT support for decryption?
10. Where do you import the internal server's certificate AND private key for use in SSL Inbound Inspection?