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.12.0.tar.gz (27.5 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.12.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pan_chainguard-0.12.0.tar.gz
Algorithm Hash digest
SHA256 48432275da0d647ec316f977f8a12c2f71343d6edcb38bd8d30aaecda732d3ed
MD5 270631d32a1bfbe952d5182ffdc7ccdc
BLAKE2b-256 8616e694931a7826a15362dbf5a6eacc8878bd5bd7488a0a839c30cf2d646333

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pan_chainguard-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed30bedbd1f237d98071907fe21aafd601eaa53138f06a4d9f8baa9b4e847b0
MD5 0745c451db237b43512fd13535016b1c
BLAKE2b-256 327460fd6c55dc49b95e0aa16e1ccdcb117fd0c831e5c1ec13de7248bf1f6f88

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