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.0.tar.gz (39.0 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.0-py3-none-any.whl (51.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pan_chainguard-0.13.0.tar.gz
  • Upload date:
  • Size: 39.0 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.0.tar.gz
Algorithm Hash digest
SHA256 361b8fd43724dc8b790c614ec687e4d3fe46259e144dc0e81e397fb9f5f496ee
MD5 1bf641e6e8e2135ca55bc651fce72075
BLAKE2b-256 89127cec2e8764984266e9e82d4c786eeed962e5157d76989dcf3c093cb5f132

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pan_chainguard-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 972499fa12c98fa66aee8914062e555a755571c4c26d485bb7fdc2170ac47330
MD5 07ef63316019eb1494b87caf8664a328
BLAKE2b-256 b6861958360d4a31c640236fa6fa88f8f1e807d05d530b048b618e706ec2590b

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