SSL Inbound Inspection on Palo Alto Networks firewalls enables the decryption and inspection of SSL/TLS traffic destined for an organization's internal servers (e.g., web servers, application servers). This allows the firewall to identify and block threats, such as malware or intrusion attempts, embedded within encrypted traffic before it reaches the protected server.
Key Goal: Protect internal servers by decrypting and inspecting incoming SSL/TLS traffic for threats.
Unlike SSL Forward Proxy (which inspects outbound traffic), SSL Inbound Inspection requires the server's actual certificate and its corresponding private key to be loaded onto the firewall. The firewall then acts as the SSL endpoint for the client, decrypts the traffic, inspects it, and if clean, re-encrypts it (or sends it in clear text if configured) to the internal server.
A successful SSL Inbound Inspection deployment involves these core steps:
Device > Certificate Management > Certificates
.
private key
. The private key must be exportable from your CA or server.
Objects > Decryption Profile
. For Inbound Inspection, you might configure options like server certificate verification checks (though less common as you provide the cert), SSL protocol versions, and cipher strengths to offer to clients.
Policies > Decryption
.
service-https
or specific application.
Options
tab:
Decrypt
SSL Inbound Inspection
Testing with a specific client IP or a test FQDN/server first is a good practice before rolling out for production servers.
Troubleshooting SSL Inbound Inspection often involves verifying certificate and key integrity, policy configuration, and network path. The primary log source is
Monitor > Logs > Decryption
.
Figure 1: SSL Inbound Inspection Troubleshooting Flowchart
show session all filter destination
destination-port 443 application ssl
and inspect flags for decryption.
Monitor > Logs > Decryption
):
Session Derypted
: Indicates successful decryption by the firewall. If issues persist, it's likely post-decryption (e.g., Security policy blocking the clear text app, server not responding).
Session Blocked
or errors like:
ssl-inbound-decrypt-failed-private-key-mismatch
: The imported private key does not match the public key in the selected server certificate.
This is a very common issue.
ssl-inbound-decrypt-failed-no-private-key
: Private key for the certificate is missing or not accessible.
ssl-inbound-decrypt-failed-cert-not-found
: The certificate specified in the Decryption policy rule could not be found on the firewall.
ssl-decrypt-unsupport-cipher
/
ssl-decrypt-unsupport-protocol
: Client and Firewall (acting as the server) could not negotiate common SSL/TLS parameters.
ssl-out-of-resources
: Firewall resource exhaustion.
Monitor > Logs > Traffic
):
Essential for seeing what happens *after* successful decryption. Decrypted traffic is then processed by Security policies. Check for blocks by App-ID, service, or Threat Prevention.
Monitor > Logs > System
):
May show errors related to
sslmgr
,
devsrvr
, or certificate loading issues.
ssl-inbound-decrypt-failed-private-key-mismatch
. Client connection fails.
show certificate
detail
to inspect certificate properties and chain information known to the firewall.
ssl-decrypt-unsupport-cipher
or
ssl-decrypt-unsupport-protocol
. Client connection fails.
Objects > Decryption Profile > SSL Protocol Settings
) for minimum/maximum TLS versions and allowed cipher suites offered by the firewall *to the client*.
sslscan
or OpenSSL's `s_client` from a test machine to see what ciphers the client is offering and what the firewall (as the server endpoint) is negotiating.
ssl-out-of-resources
, high CPU on firewall.
show system resources follow
(monitor CPU/memory).
show counter global filter aspect ssl
(look for error counters, resource drops).
show dataplane pool statistics | match "ssl|decrypt"
(check relevant resource pools).
Command | Description |
---|---|
show session all filter destination
|
Check if sessions to the server's public IP are being processed as SSL and potentially decrypted. |
show session id
|
Detailed information for a specific session ID found in logs. Look for decryption flags and status. |
show running decryption-policy rule
|
Verify configuration of the specific SSL Inbound Inspection rule. |
show certificate
|
Crucial for checking properties of the imported server certificate, its CA status, and if a private key is associated. |
show counter global filter aspect ssl | match inbound
|
(Aspect might vary) Look for counters related to SSL inbound processing, errors, successes. |
request certificate verify name
|
Attempts to verify the certificate chain for the imported server certificate. |
less mp-log sslmgr.log
|
Management plane SSL manager logs, may show issues with cert loading or private key handling. |
less dp-log pan_sslmgr_diag.log
|
Dataplane SSL manager diagnostic logs (content and availability may vary by PAN-OS). |
show system setting ssl-decrypt server-cert-validation gpc-url-timeout
|
(Less common for direct troubleshooting) View specific global settings. |
Warning: Debug commands are resource-intensive. Use only during a maintenance window or under Palo Alto Networks support guidance. Always turn off debugs after use.
requires the server's private key
on the firewall. Forward Proxy does not.
Exam Gotcha: Don't confuse the certificate requirements for Inbound Inspection (server cert + private key) with Forward Proxy (Forward Trust CA).
Simplified SSL Inbound Inspection Packet Flow. Firewall uses the imported server certificate and private key.