Skip to main content

Manage Root Store and Intermediate Certificate Chains on PAN-OS

Project description

Overview

pan-chainguard is a Python application which uses CCADB data and allows PAN-OS SSL decryption administrators to:

  1. Create a custom, up-to-date trusted root store for PAN-OS.

  2. Determine intermediate certificate chains for trusted Certificate Authorities in PAN-OS so they can be preloaded as device certificates.

Issue 1: Out-of-date Root Store

The PAN-OS root store (Default Trusted Certificate Authorities) is updated only in PAN-OS major software releases; it is not currently managed by content updates. The root store for PAN-OS 10.x releases is now over 5 years old.

The impact for PAN-OS SSL decryption administrators is when the root CA for the server certificate is not trusted, the firewall will provide the forward untrust certificate to the client. End users will then see errors such as NET::ERR_CERT_AUTHORITY_INVALID (Chrome) or SEC_ERROR_UNKNOWN_ISSUER (Firefox) until the missing trusted CAs are identified, the certificates are obtained, and the certificates are imported into PAN-OS.

Issue 2: Misconfigured Servers

Many TLS enabled origin servers suffer from a misconfiguration in which they:

  1. Do not return intermediate CA certificates.

  2. Return certificates out of order.

  3. Return intermediate certificates which are not related to the root CA for the server certificate.

The impact for PAN-OS SSL decryption administrators is end users will see errors such as unable to get local issuer certificate until the sites that are misconfigured are identified, the required intermediate certificates are obtained, and the certificates are imported into PAN-OS.

Solution 1: Create Custom Root Store

pan-chainguard can create a custom root store, using one or more of the major vendor root stores, which are managed by their CA certificate program:

The custom root store can then be added to PAN-OS as trusted CA device certificates.

Solution 2: Intermediate CA Preloading

pan-chainguard uses a root store and the All Certificate Information (root and intermediate) in CCADB (CSV) data file as input, and determines the intermediate certificate chains, if available, for each root CA certificate. These can then be added to PAN-OS as trusted CA device certificates.

By preloading known intermediates for the trusted CAs, the number of TLS connection errors that users encounter for misconfigured servers can be reduced, without reactive actions by an administrator.

Documentation

Install pan-chainguard

pan-chainguard is available as a release on GitHub and as a package on PyPi.

pan-chainguard-content - Certificate Content for pan-chainguard

pan-chainguard-content provides pre-generated, up-to-date content which can be used to simplify the deployment of pan-chainguard.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pan_chainguard-0.13.1.tar.gz (39.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pan_chainguard-0.13.1-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

Details for the file pan_chainguard-0.13.1.tar.gz.

File metadata

  • Download URL: pan_chainguard-0.13.1.tar.gz
  • Upload date:
  • Size: 39.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for pan_chainguard-0.13.1.tar.gz
Algorithm Hash digest
SHA256 342ba92ce1caf696a422716b48a507489c2047e43315dbd781d4ccc6462579e7
MD5 2d9776449e27cb5555811193d874cd93
BLAKE2b-256 ae422b7cde5a789b4e9907d48fc4ade39a70625bc4b96b23cc3d514ee95d37d0

See more details on using hashes here.

File details

Details for the file pan_chainguard-0.13.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pan_chainguard-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8685aa6e3b088c7d1a25c456b9b4880d89b205b669ba70e65523cfa018d4adde
MD5 aad51b362ac83a1d1b26fd495be365bd
BLAKE2b-256 152c11e8c10044b776e3e38014e1666a520263d319f714a2ad89c74167be6264

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page