CloudGuard WAF
  • Documentation Overview
  • What is CloudGuard WAF?
  • Getting started
    • Prepare key information
    • Log in to the Infinity Portal
    • Protect a Web Application / API
    • Deploy Enforcement Point
      • Gateway/Virtual Machine
        • AWS
          • Store Certificates in AWS
          • Store certificates on Gateway
        • Azure
          • Store Certificates in Azure
          • Store Certificates on Gateway
        • VMware
          • Store Certificates on Gateway
          • Configure networking in VMware Deployments
      • WAF as a Service
        • Certificates Managed by Check Point
        • Bring Your Own Certificate
      • Kubernetes Ingress
        • Kong Application Security
        • Istio Application Security
      • Docker
        • Single Docker
          • Deployment using 'docker' command
            • Store Certificates Locally on Docker
          • Deployment in Azure App Services
        • Dual Docker: NGINX/Kong/Envoy + Security Agent
      • Linux / NGINX / Kong
    • Monitor Events
  • Concepts
    • Gateways & Agents
    • Management & Automation
    • Security Practices
    • Contextual Machine Learning
  • Additional Security Engines
    • Anti-Bot
    • API Protection
      • API Discovery
      • Track API Discovery Learning
      • Enforce API Schema
    • File Security
    • Intrusion Prevention System (IPS)
    • Rate Limit
    • Snort Rules
  • SETUP INSTRUCTIONS
    • Setup Custom Rules and Exceptions
    • Setup Web User Response Pages
    • Setup Log Triggers
    • Setup Report Triggers
    • Setup Notification Triggers
    • Setup Behavior Upon Failure
    • Setup Agent Upgrade Schedule
  • HOW TO
    • Edit Web Application/API Settings
    • Edit Reverse Proxy Advanced Settings for a Web Asset
    • Protect an existing production site with CloudGuard WAF's Gateway
    • View Policy of all your Web Applications/APIs
    • Add Data Loss Prevention (DLP) rules
    • Configure Contextual Machine Learning for Best Accuracy
    • Track Agent Status
    • Track Learning and Move from Learn/Detect to Prevent
    • Rotate profile authentication token
    • Upgrade your Reverse Proxy when a Linux/NGINX agent is installed
    • Use Terraform to Manage CloudGuard WAF
    • Authorize Temporary Access for Check Point Support
    • Restrict Access to Backend Servers from CloudGuard WAF as a Service IPs Only
  • Troubleshooting
    • WAF Gateway / Virtual Machine
      • Azure
        • "Unable to find a tag containing the vault's name in the VMSS" Error
        • How To: Configure Key Vault for a Single Gateway
      • NGINX Error: Upstream Sent Too Big Header While Reading Response Header from Upstream
      • How To: Compare Between the Gateway's Certificate and the Upstream Certificate
    • Linux
      • SELinux: Checking Status and Disabling
    • WAF as a Service
      • Certificate Validation Failed: Adjusting CAA Record
      • How To: Redirect a Root Domain to a Subdomain Protected by WAF SaaS
      • How To: Extend Connection Timeout to Upstream
      • How To: Update Expired Certificates
  • references
    • Agent CLI
    • Management API
    • Event Query Language
    • Writing Snort Signatures
    • Events/Logs Schema
    • CVE-2022-3786 and CVE-2022-3602: OpenSSL X.509 Email Address Buffer Overflows (HIGH)
    • CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974: Ingress NGINX Controller RCE (Critical)
  • Resources
    • GitHub
    • Docker Hub
Powered by GitBook
On this page
  • Prerequisites
  • Installation

Was this helpful?

  1. Getting started
  2. Deploy Enforcement Point
  3. Kubernetes Ingress

Kong Application Security

PreviousKubernetes IngressNextIstio Application Security

Last updated 5 months ago

Was this helpful?

The Kong Ingress controller and CloudGuard WAF for Kubernetes agent are deployed together with a single Helm chart. The configuration of the Kong Ingress controller is done with common methods for configuring Ingress using both Kubernetes Ingress resources or Kong Ingress resources.

This diagram shows an example of a Kubernetes service exposed outside the Kubernetes cluster with an Kong Ingress controller protected with CloudGuard WAF.

Prerequisites

  • The kubectl and wget command-line tools installed on your bastion or platform that you use to access the Kubernetes cluster

Installation

Step 1: Download Helm chart

Run the following command depending on your Kubernetes version:

wget https://github.com/CheckPointSW/Infinity-Next/raw/main/deployments/cp-k8s-appsec-kong-2.22.0.tgz -O cp-k8s-appsec-kong-2.22.0.tgz

Step 2: Install Helm chart

Obtain the <token> from the Profile page, Authentication section.

Run the following command depending on your Kubernetes version (Note - package file names contain the name appsec - short for "Application Security" provided by CloudGuard WAF):

helm install cp-k8s-appsec-kong-2.22.0.tgz --name-template cp-appsec --set appsec.agentToken="<token>" --create-namespace -n kong

Step 3: Create SSL/TLS Secret (optional if the servers do not use HTTPS)

Create a Kubernetes SSL/TLS Secret using the following command with the public key certificate for --cert .PEM-encoded and matching the private key for --key:

kubectl create secret tls <certificate-name> --key <private-key-file> --cert $<certificate-file>

Step 4: Configure the Ingress resource

  1. Edit your ingress.yaml with your favorite editor

  2. If needed add the following annotation: kubernetes.io/ingress.class: "nginx"

ingress.yaml example

The ingress.yaml in this example exposes two Kubernetes Services in the 'applications-ns' namespace:

  • portal-svc (port 8080) exposed through portal.acme.com on port 443

  • api-svc (port 80) exposed through api.acme.com on port 80

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  namespace: applications-ns
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  tls:
  - hosts:
    - portal.acme.com
    secretName: tls
  rules:
  - host: portal.acme.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: portal-svc
            port:
              number: 8080
  - host: api.acme.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: api-svc
            port:
              number: 80

Step 5: Deploy the Ingress

In environments that can allow short downtime, uninstall the older ingress and install the new one.

kubectl apply -f ingress.yaml

In environments that require zero-downtime:

  1. Redirect your DNS traffic from the old ingress to the new ingress

  2. Log traffic from both controllers during this changeover

  3. Uninstall the old ingress once traffic has fully drained from it

Kong version 1.22.0+ cluster with enabled with Cluster admin permissions

installed on your local machine

Make sure you obtained the token from the page first, you will need it in the command to deploy the Helm chart.

Kubernetes Secrets are used for TLS termination of the Ingress resource. The public/private key pair must already exist before creating the Secret. Read more about Kubernetes TLS Secrets in the .

RBAC
Helm 3 Package Manager
Enforcement Profile
Official Kubernetes Documentation