Store Certificates Locally on Docker
Note About Certificate Renewal
When a certificate is renewed, you must update the certificate according to the instructions below, then enforce policy again (even if configuration has not changed) by clicking on "Enforce" on the top bar of the web administration application for CloudGuard WAF in the portal, or by using management API.
Certificates Usage
In order to use encrypted traffic (HTTPS) a managed reverse proxy must have access to the relevant certificates of the domains and URLs it exposes.
Example - you have two applications and one API endpoint to protect:
www.acme.com
www.acme.com/sales
products.acme.com/catalog
Examples | Certificates used | Required action |
---|---|---|
Case 1 | You have one wildcard certificate for *.acme.com | Place the certificate in the desired certificate storage by following the instructions below. CloudGuard WAF will use it for all relevant applications |
Case 2 | You have two certificates: (1) for www.acme.com and (2) for products.acme.com | Place both certificates in the desired certificate storage by following the instructions below. CloudGuard WAF will automatically use certificate 1 for the first two Applications/APIs and certificate 2 for the last Application |
Storing certificates locally on a managed Reverse Proxy Docker
Follow these steps to store your certificate and private keys on the docker that can be used by CloudGuard WAF to process HTTPS traffic:
Pros: you have full control of your secrets.
Cons: Method fits a single docker deployment, not an auto-scaled deployment.
Step 1: Download command-line tool
The tool's purpose is to verify the certificate and key files and generate an output .pkg file with a unique name.
Linux Download
or run: wget https://sc1.checkpoint.com/nano-agent/certverify/linux/certverify && chmod +x certverify
You can use this tool on any machine where you have the files, before you actually store them on your managed Reverse Proxy Server(s).
Step 2: Run the command-line tool
Linux and Mac:
PEM certificates:
./certverify --cert {certificate.pem} --key {private-key.key}
PFX certificates: .
/certverify --cert {certificate.pfx} --pass {password}
Windows:
PEM certificates :
certverify --cert {certificate.pem} --key {private-key.key}
PFX certificates :
certverify --cert {certificate.pfx} --pass {password}
Repeat this step for each certificate/private key you wish to use.
Only certificates that contain Subject Alternative Name (SAN) are supported.
The tool will verify the certificate and key files, and generate an output .pkg file with a unique name that includes both.
Step 3: Store certificate and private key on your managed Reverse Proxy docker using SCP
Note - package file and folder names contain the name appsec - short for "Application Security" provided by CloudGuard WAF.
You must store the files in a persistent directory which we recommend to be /appsec/etc/certs
on the managed Reverse Proxy docker or else it will not be identified.
If the commands below end with an error, create a top directory called appsec
and etc
under it, navigate to it and make sure a directory exists called "certs" (in linux, use the mkdir
command).
The input pkg file for this step is the uniquely named pkg output file of the previous step.
Linux or Mac:
./scp {unique-name.pkg} admin@{docker-ip}:/appsec/etc/certs
Windows:
"C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open scp://admin:{password}@{docker-ip}" "put cert_cert.pkg /appsec/etc/certs/" "exit"
Repeat this step for each certificate/private key you wish to use and for each managed Reverse Proxy docker.
Step 4: Enforce Policy
Open CloudGuard WAF Web Interface in your browser and click the Enforce button at the top bar. This will signal the Managed Reverse Proxy to read the certificates from the local certificate storage.
Step 5: Change relevant DNS entries
You can now change your DNS entries as relevant to point to your managed Reverse Proxy docker IP address or to a Load Balancer in front of several managed Reverse Proxy dockers.
Last updated