Tech Recipe Book
My Services
  • Book
    • About the author
    • Architect
      • Algorithms
        • DB index algorithms
          • How does database indexing work
        • Neural network optimization
          • Neural Network Optimization
        • Route search
          • Road network in a database to build a route
          • Traveling Salesman Problem (TSP)
      • Architecture Frameworks
        • DODAF
        • TOGAF
        • Enterprise Architecture (EA) Tools Reviews 2023 | Gartner
      • Zero Trust
      • Billing
        • SHM billing system
      • Bots
        • Discord
        • Telegram
          • Chat GPT Telegram bot
          • Получаем статистику Telegram-канала при помощи api и python или свой tgstat с регистрацией и смс
          • Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7
          • Создание Telegram бота на PHP #1: основные понятия для работы с API
          • Создание Telegram бота на PHP #2: создание первого бота для Telegram
          • Создание Telegram бота на PHP #3: примеры отправки сообщений с кнопками в Telegram
          • Создание Telegram бота на PHP #4: отправка файлов и изображений в Telegram
          • Создание Telegram бота на PHP #5: работа с хуками
      • Business intelligence
      • Cloud Storage
        • Ceph
        • Virtual Distributed File System
      • Cryptography
        • Open Source PKI Software
        • OpenPGP
          • Email Encryption
          • Kleopatra
          • Miscellaneous Tools
          • Server side applications
      • Message broker
        • Kafka
          • Kafka UI-tools
          • Kafka streams ksqlDb
        • RabbitMQ
      • DB
        • MySQL
          • Auto sharding
          • MariaDB Zabbix monitoring
          • MySQL and MariaDB replication with Zabbix monitoring
        • Postgres
          • HA PostgreSQL with Patroni, Haproxy, Keepalived
          • Mass parallel requests - Greenplum
          • PostgreSQL cluster for development and testing
        • Vitess - Scalable. Reliable. MySQL-compatible. Cloud-native. Database.
      • Identity and Access Management (IDM)
        • FreeIPA - Identity, Policy, Audit
        • FreeIPA as an Enterprise solution
        • Keycloak
          • Keycloak HA cluster
        • Open Identity Platform
        • SSO
          • Keycloak for Java app
          • OpenAM
          • OpenIG
      • Firewall
        • nftables
      • Infrastructure As a Code
        • Ansible
        • IaC Packer Ansible Teraform
        • Installing Jenkins using terraform in Kubernetes in Yandex Cloud with letsencypt
        • Teraform Crosplan Pulumi
        • Yandex IaC solutions
      • Kubernetes
        • Installation
          • Install Kubernetes cluster
          • Deploying a Kubespray cluster to OpenStack using Terraform
          • Kube deploy in Yandex cloud
        • Frameworks
          • Deckhouse
            • LDAP authentification
            • On premise Install
            • Yandex Cloud Install
          • K3S
          • OpenShift OKD
          • RKE2
          • Rancher
            • Rancher Install
        • Auth
          • Keycloak in k8s
          • LDAP
        • GUI management Lens
        • Monitoring
          • Monitoring with Falco
          • Network monitoring
          • Nginx ingress
          • Prometheus Graphana for sample Nodejs app
          • Rsource monitoring Avito
        • Exposing services
          • Exposing Kubernetes Services
          • Cilium BGP
        • CNCF
        • Helm
          • Repositories
            • Artifact Hub | official
            • Bitnami | vmware
          • Awesome helm charts and resources
          • Essential Services for Modern Organizations
          • Security and Compliance
          • Additional charts
        • Isolation
          • vcluster - Virtual Kubernetes Clusters
          • Kiosk
          • KubeArmor
          • Control Plane Hardening
          • Hierarchical namespaces
        • Security Center
          • Minesweeper
          • NeuVector by SUSE
          • SOAR in Kubernetes
          • Security Сenter for Kubernetes
        • Terraform CI security
          • Terraform plan analysis with Checkov and Bridgecrew
          • Yandex Terraform scan
        • Vulnerability management
          • Aqua
          • Sysdig
          • Kyverno
          • GitLab
          • NeuVector by SUSE
        • Image scanning
          • Snyk
          • Sysdig
          • Harbor
          • Trivy
        • Signature verification
          • Sigstore
        • Control plane security
          • Gatekeeper
            • Applying OPA Gatekeeper
          • Kyverno
            • Policy as a code. Kyverno
        • Runtime Security
          • Osquery
          • Falco
          • ClamAV
        • Network security
          • Cilium
          • Control Plane Hardening (API restriction)
          • Network policy recipes
          • Service mesh
            • Istio HA, LoadBalance, Rate limit
          • mTLS Autocert
        • Honeypot
          • Building honeypot using vcluster and Falco
        • Backup
          • Kasten K10
        • Secrets
          • Vault CSI Driver
      • Load Balance
        • Nginx
        • HAProxy
          • Proxy methods
          • HAProxy for RDP
          • Payment gateway A/B test with HAProxy
          • HAPRoxy for Percona or Galera
      • Monitoring
        • Zabbix
          • Apache Zabbix
          • Disc Quota
          • Nginx Zabbix
          • SSL certificates Zabix
          • Zabbix notifications
        • Nagios
          • Datacenter monitoring
        • Prometheus and Grafana
      • Windows
        • Sysmon enhanced Windows audit
        • Sysmon to Block Unwanted File
      • Linux
        • Rsync
        • Debian based
          • Apt-Cacher NG
          • Unattended Upgrades in Debian / Ubuntu
        • RedHat basede
          • RPM Server
        • Logs analysis
        • Build armhf qemu
      • NGFW
      • CI/CD
        • DevSecOps
          • DAST
            • Burp
              • Dastardly
            • StackHawk
            • ZAP and GitHub Actions
          • SAST
            • Checkmarx
            • OSV by Google
            • Snyk
            • SonarQube
        • GitLab Runner in Yandex Cloud
        • Dynamic Gitlab Runners in Yandex Cloud
        • GitLab runner in Kubernetes with Werf
        • Kubernetes deploy strategies
        • Kubernetes highload deploy. part 1
        • Kubernetes highload deploy. part 2
        • Kubernetes Argo Rollouts
        • Jenkins in Kubernetes
        • Ansible Semaphore
        • Image storage, scaning and signing
        • Install WireGuard with Gitlab and Terraform
        • CI/CD example fror small web app
        • Threat matrix for CI CD Pipeline
      • SIEM / SOC
        • Datadog
        • Splunk
          • Splunk — general description
        • MaxPatrol
          • MaxPatrol 8 and RedCheck Enterprise
        • QRadar IBM
        • Cloud Native Security Platform (CNAPP) - Aqua
        • OSSIM | AT&T
          • AlienVault (OSSIM) install
        • Wazuh
        • EDR
          • Cortex XDR | Palo Alto Networks
          • Cynet
          • FortiEDR | Fortinet
          • Elastic
        • Elastic
          • Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 22.04
          • Setting Up Elastic 8 with Kibana, Fleet, Endpoint Security, and Windows Log Collection
        • Threat Intelligence
          • MISP
          • msticpy Microsoft
          • X-Force | IBM
          • Elastic
      • VPN
        • Full-Mesh VPN fastd, tinc, VpnCloud
        • Wireguard
          • WireGuard for Internet access
          • WireGuard on MikroTik and Keenetic
          • WireGuard site to site
        • SoftEther VPN Project
        • Cisco AnyConnect client
        • OpenConnect
        • SSTP python server
      • OS hardening
        • CIS Benchmarks
      • Cloud Providers
      • OpenNebula
        • OpenNebula Edge Cloud - Open Source Cloud & Edge Computing
        • Discover OpenNebula – Open Source Cloud & Edge Computing Platform
        • OpenNebula Multi-Cloud
        • Kubernetes on OpenNebula
        • The Open Source Alternative to Nutanix
        • The Simple Alternative to OpenStack
        • OpenNebula Partner Ecosystem
      • OpenStack
        • Install manual
        • Install with DevStack
      • VM
        • Create a VHD file from a Linux disk
        • Backup / Migration
          • Coriolis
          • Proxmox Backup Server
        • oVirt
        • VMware vCenter
        • Proxmox
      • Docker
        • Container optimization
        • Ubuntu RDP container
      • LXC
        • LXD on Ubuntu 18.04
        • Install, Create and Manage LXC in Ubuntu/Debian
    • Big Data
      • OLAP data qubes
      • Storage and autoscale in Lerua
    • Machine Learning
      • Yandex YaLM 100B. GPT model
      • Kaggle Community Datasts Models
      • AI in video production
      • Image search
      • Chat bots
        • You.com
        • Chat GPT
          • Implementing GPT in NumPy
        • Jailbreak Chat
      • Coding plugins CodeWhisperer
    • Malware
      • Isiaon/Pitraix: Modern Cross-Platform Peer-to-Peer Botnet over TOR
      • theZoo A repository of LIVE malwares
    • Pentest
      • Red Team
        • MITRE ATT&CK matrix
        • C2 Frameworks
          • Brute Ratel C4
          • Cobalt Strike
          • Covenant
          • Havoc Framework
          • Merlin
          • Metasploit
          • Sillenttrinity
          • Sliver
        • Manage and report
          • Dradis Framework
          • Hexway
        • Underground
      • Social engineering
        • Social Engineer Toolkit setoolkit
      • OSINT
        • OSINT for comapny
        • Instagram fishing
      • Forensics
        • Forensics tools
      • Pentesting Methodology
      • Web
      • CI/CD Methodology
      • Cloud Methodology
        • Hacking The Cloud
      • Kubernetes Pentesting
      • Android
        • SSL Unpinning for Android applications
      • iOS
        • SSL unpinning iOS and macOS applications
      • HackBar tool
      • CyberChef Tools
      • Python virtualenv
      • IppSec - YouTube
      • Hacktricks.xyz
    • Compliance
      • 152 ФЗ. Personal data
      • PCI DSS and ГОСТ Р 57580.1-2017
      • Cloud compliance
      • ГОСТ Р 57580.1-2017 для Kubernetes
      • Kubernets as DevSecOps and NIST compliance
      • NIST SP 800-61 cyberincidece control
      • CIS Kubernetes Benchmark v1.6 - RKE2 v1.20
      • CIS Kubernetes Benchmark v1.23 - RKE2
      • Requirements for Russian Banks
      • Tools
        • Chef InSpec
        • Elastic SIEM
    • Asset management
      • CMDBuild
    • Project management
    • Incident management SRE
    • Risk management
      • IT risk management
      • BSI-Standard 200-3
    • Web Dev
      • Cookie security
      • OWASP Top 10 2021
      • Docker nginx php mysql
      • Docker tor hiddenservice nginx
      • Docker Compose wp nginx php mariadb
      • Dependency Checking
        • Nexus Analyzer
        • OWASP dependency-check
      • Yii skeeks cms
      • YiiStudio
    • Art
      • GTK Themes
      • Themes for Xfce Desktop
      • XFCE / Xubuntu Windows 95
      • Moscow events
      • Photo goods
      • Russian style gifts
    • Cryptocurrency
      • News
      • Arbitrage
      • Stocks
      • Exchange aggregators
      • Where to use
      • Prepaid cards
        • BitFree
        • Pyypl Your Money at Your Fingertips
    • IT magazines
      • WIKI and Writeups tools
        • BookStack
        • GitBook
        • MkDocs
        • Wiki.js
        • DokuWiki
    • Languages
    • Learning
      • (ISC)2
        • CISSP
      • Offensive Security
        • OSCP
        • OSEP
        • OSED
      • DevSecOps
        • Certified DevSecOps Professional (CDP)
        • Certified DevSecOps Expert (CDE)
      • Web Security Academy: PortSwigger
    • Relocation
      • London experience
      • IT visas in 2022
      • Remote work
      • Running business in UAE
    • Freenet
      • Independent online services: the philosophy of a free Internet
      • Tor Project Anonymity Online
      • I2P Anonymous Network
    • Services
      • SMS Registration
        • Registering ChatGPT in Russia
      • Local and regional eSIMs for travellers - Airalo
      • Digital busines cards
      • No KYC services and exchanges
Powered by GitBook
On this page
  • Disclosure Process
  • Contact Us
  • Issues
  • Release Artifacts
  • Verifying Kyverno Container Images
  • Verifying Provenance
  • Fetching the SBOM for Kyverno
  • Security Scorecard
  • Vulnerability Scan Reports
  • Security Best Practices
  • Pod security
  • RBAC
  • Networking
  • Webhooks
  • Webhook Failure Mode
  • Webhook authentication and encryption
  • Recommended policies
  • Securing policies
  • Threat Model
  • Threat ID 1 - Attacker floods webhook with traffic preventing its operations
  • Threat ID 2 - Attacker passes workloads which require complex processing causing timeouts
  • Threat ID 3 - Attacker exploits misconfiguration of webhook to bypass
  • Threat ID 4 - Attacker has rights to delete or modify the Kubernetes webhook object
  • Threat ID 5 - Attacker gets access to valid credentials for the webhook
  • Threat ID 6 - Attacker gains access to a cluster admin credential
  • Threat ID 7 - Attacker sniffs traffic on the container network
  • Threat ID 8 - Attacker carries out a MITM attack on the webhook
  • Threat ID 9 - Attacker steals traffic from the webhook via spoofing
  • Threat ID 10 - Abusing a mutation rule to create a privileged container
  • Threat ID 11 - Attacker deploys workloads to namespaces that are exempt from admission control
  • Threat ID 12 - Block rule can be bypassed due to missing match (e.g. missing initContainers)
  • Threat ID 13 - Attacker exploits bad string matching on a blocklist to bypass rules
  • Threat ID 14 - Attacker uses new/old features of the Kubernetes API which have no rules
  • Threat ID 15 - Attacker deploys privileged container to node running Webhook controller
  • Threat ID 16 - Attacker mounts a privileged node hostPath allowing modification of Webhook controller configuration
  • Threat ID 17 - Attacker has privileged SSH access to cluster node running admission webhook
  • Threat ID 18 - Attacker uses policies to send confidential data from admission requests to external systems

Was this helpful?

  1. Book
  2. Architect
  3. Kubernetes
  4. Vulnerability management

Kyverno

Last updated 1 year ago

Was this helpful?

Kyverno serves an admission controller and is a critical component of the Kubernetes control plane. It is important to properly secure and monitor Kyverno. This section provides guidance on securing Kyverno and the security processes for the Kyverno project.

Disclosure Process

Security vulnerabilities are best handled swiftly and discretely with the goal of minimizing the total time users remain vulnerable to exploits.

If you find or suspect a vulnerability, please email the security group at with the following information:

  • description of the problem

  • precise and detailed steps (include screenshots) that created the problem

  • the affected version(s)

  • any known mitigations

The Kyverno security response team will send an initial acknowledgement of the disclosure in 3-5 working days. Once the vulnerability and mitigation are confirmed, the team will plan to release any necessary changes based on the severity and complexity. Additional details on the security policy and processes are available in the Kyverno .

Contact Us

To communicate with the Kyverno team, for any questions or discussions, use or .

Issues

All security related issues are labeled as security and can be viewed .

Release Artifacts

With each release, the following artifacts are uploaded:

  • checksums.txt

  • install.yaml

  • kyverno-cli-<version_number>.tar.gz

  • kyverno-cli_v<version_number>_darwin_arm64.tar.gz

  • kyverno-cli_v<version_number>_darwin_x86_64.tar.gz

  • kyverno-cli_v<version_number>_linux_arm64.tar.gz

  • kyverno-cli_v<version_number>_linux_s390x.tar.gz

  • kyverno-cli_v<version_number>_linux_x86_64.tar.gz

  • kyverno-cli_v<version_number>_windows_arm64.zip

  • kyverno-cli_v<version_number>_windows_x86_64.zip

  • Source code (zip)

  • Source code (tar.gz)

Verifying Kyverno Container Images

  1. Configure the Kyverno signature repository:

export COSIGN_REPOSITORY=ghcr.io/kyverno/signatures

bash

  1. Verify the image:

COSIGN_EXPERIMENTAL=1 cosign verify ghcr.io/kyverno/kyverno:<release_tag> | jq

bash

For Cosign v2.x, use the following command instead.

COSIGN_REPOSITORY=ghcr.io/kyverno/signatures cosign verify ghcr.io/kyverno/kyverno:<release_tag> \
  --certificate-identity-regexp="https://github.com/kyverno/kyverno/.github/workflows/release.yaml@refs/tags/*" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" | jq

If the container image was properly signed, the output should be similar to:

Note that the important fields to verify in the output are optional.Issuer and optional.Subject. If Issuer and Subject do not match the values shown above, the image is not genuine.

All Kyverno images can be verified.

Verifying Provenance

For v1.x of Cosign, use the following command.

For v2.x of Cosign, use the following command.

The output will look something similar to the below.

Fetching the SBOM for Kyverno

To save the SBOM to a file, run the following command:

Security Scorecard

Vulnerability Scan Reports

Security Best Practices

The following sections discuss related best practices for Kyverno:

Pod security

  • runAsNonRoot is set to true

  • privileged is set to false

  • allowPrivilegeEscalation is set to false

  • readOnlyRootFilesystem is set to true

  • all capabilities are dropped

  • limits and quotas are configured

  • liveness and readiness probes are configured

RBAC

Use the following command to view all Kyverno roles:

Networking

Kyverno network traffic is encrypted and should be restricted using NetworkPolicies or similar constructs.

Kyverno requires the following network communications to be allowed:

  • ingress traffic to port 9443 from the API server

  • ingress traffic to port 9443 from the host for health checks

  • ingress traffic to port 8000 if metrics are collected by Prometheus or other metrics collectors

Webhooks

Use the following command to view all Kyverno Roles:

Kyverno creates the following mutating webhook configurations:

  • kyverno-policy-mutating-webhook-cfg: handles policy changes to index and cache policy sets.

  • kyverno-resource-mutating-webhook-cfg: handles resource admission requests to apply matching Kyverno mutate policy rules.

  • kyverno-verify-mutating-webhook-cfg: periodically tests Kyverno webhook configurations

Kyverno creates the following validating webhook configurations:

  • kyverno-policy-validating-webhook-cfg: validates Kyverno policies with checks that cannot be performed via schema validation

  • kyverno-resource-validating-webhook-cfg: handles resource resource admission requests to apply matching Kyverno validate policy rules.

  • kyverno-cleanup-validating-webhook-cfg: handles cleanup policies

  • kyverno-exception-validating-webhook-cfg: handles policy exceptions

Webhook Failure Mode

Webhook authentication and encryption

Recommended policies

Securing policies

Kyverno policies can be used to mutate and generate namespaced and cluster-wide resources. Hence, policies should be treated as critical resources and access to policies should be protected using RBAC.

Threat Model

The sections below list each threat, mitigation, and provide Kyverno specific details.

Threat ID 1 - Attacker floods webhook with traffic preventing its operations

Mitigation:

Threat ID 2 - Attacker passes workloads which require complex processing causing timeouts

Mitigations:

Threat ID 3 - Attacker exploits misconfiguration of webhook to bypass

Mitigation:

  • Kyverno automatically generates webhook configurations based on the configured policy set. This ensures that webhooks are always updates and minimally configured.

Threat ID 4 - Attacker has rights to delete or modify the Kubernetes webhook object

Mitigation:

Threat ID 5 - Attacker gets access to valid credentials for the webhook

Mitigation:

Threat ID 6 - Attacker gains access to a cluster admin credential

Mitigation

N/A

Threat ID 7 - Attacker sniffs traffic on the container network

Mitigation

  • Kyverno uses HTTPS for all webhook traffic.

Threat ID 8 - Attacker carries out a MITM attack on the webhook

Mitigation

Threat ID 9 - Attacker steals traffic from the webhook via spoofing

Mitigation

Threat ID 10 - Abusing a mutation rule to create a privileged container

Mitigation

Threat ID 11 - Attacker deploys workloads to namespaces that are exempt from admission control

Mitigation

Threat ID 12 - Block rule can be bypassed due to missing match (e.g. missing initContainers)

Mitigation

Threat ID 13 - Attacker exploits bad string matching on a blocklist to bypass rules

Mitigation

Threat ID 14 - Attacker uses new/old features of the Kubernetes API which have no rules

Mitigation

Threat ID 15 - Attacker deploys privileged container to node running Webhook controller

Mitigation

Threat ID 16 - Attacker mounts a privileged node hostPath allowing modification of Webhook controller configuration

Mitigation

Threat ID 17 - Attacker has privileged SSH access to cluster node running admission webhook

Mitigation

N/A

Threat ID 18 - Attacker uses policies to send confidential data from admission requests to external systems

Mitigation

The Kyverno container images are available .

Kyverno container images are signed using Cosign and the . The signatures are stored in a separate repository from the container image they reference located at ghcr.io/kyverno/signatures. To verify the container image using Cosign v1.x, follow the steps below.

Install

Kyverno creates and attests to the provenance of its builds using the and meets the SLSA specification. The attested provenance may be verified using the cosign tool.

An SBOM (Software Bill of Materials) in JSON format is published for each Kyverno release, including pre-releases. Like signatures, SBOMs are stored in a separate repository at ghcr.io/kyverno/sbom. To download and verify the SBOM for a specific version, install Cosign and run:

Kyverno uses to maintain repository-wide security standards. The current OSSF/scorecard score for Kyverno can be found in this . The Kyverno team is committed to achieving and maintaining a high score. Contributions are welcome.

The Kyverno Helm Chart is available via the along with an auto-generated generated by Artifact Hub for all the releases.

Kyverno Pods are configured to follow security best practices and conform to the restricted profile:

The Kyverno RBAC configurations are described in the section.

By default, a Kyverno installation does not configure NetworkPolicies (see ). The has a networkPolicy.enabled option to enable a NetworkPolicy.

egress traffic to the API server if the feature is used

egress (HTTPS) traffic to OCI registries if policy rules are configured or if are used

egress (HTTP or HTTPS) traffic to external services if the feature is used

Kyverno policies are configured to fail-closed by default. This setting can be tuned on a . Kyverno uses the configured policy set to automatically configure webhooks.

By default, Kyverno automatically generates and manage TLS certificates used for authentication with the API server and encryption of network traffic. To use a custom CA, please refer to the details in the .

The Kyverno community manages a set of .

At a minimum, the and policy sets are recommended for use.

The team has defined an . It is highly recommended that Kyverno administrators read and understand the threat model, and use it as a starting point to create their own threat model.

Kyverno policies are configured fail-closed by default. This setting can be tuned on a . Kyverno uses the configured policy set to automatically configure webhooks.

Kyverno policies are configured fail-closed by default. This setting can be tuned on a . Kyverno uses the configured policy set to automatically configure webhooks.

By default, Kyverno generates a CA and X.509 certificates for the webhook registration. A custom CA and certificates can be used as discussed in the . Currently, Kyverno does not authenticate the API server. A network policy can be used to restrict traffic to the Kyverno webhook port.

Kyverno RBAC configurations are described in the . The kyverno:admission-controller role is used by Kyverno to configure webhooks. It is important to limit Kyverno to the required permissions and audit changes in the RBAC roles and role bindings.

Kyverno policies are configured fail-closed by default. This setting can be tuned on a . Kyverno uses the configured policy set to automatically configure webhooks.

By default, Kyverno generates a CA and X.509 certificates for the webhook registration. A custom CA and certificates can be used as discussed in the . Currently, Kyverno does not authenticate the API server. A network policy can be used to restrict traffic to the Kyverno webhook port.

By default, Kyverno generates a CA and X.509 certificates for the webhook registration. A custom CA and certificates can be used as discussed in the . Currently, Kyverno does not authenticate the API server. A network policy can be used to restrict traffic to the Kyverno webhook port.

Kyverno rules are Kubernetes resources written in YAML and managed by an OpenAPIv3 schema. This approach makes it easy to understand policy definitions and to apply policy-as-code best practices, like code reviews, to Kyverno policies. The provides a test command for executing unit tests as part of a continuous delivery pipeline.

Kyverno RBAC configurations are described in the . The kyverno:admission-controller role is used by Kyverno to configure webhooks. It is important to limit Kyverno to the required permissions and audit changes in the RBAC roles and role bindings.

Kyverno does not exempt any Namespaces by default. It allows configuration of exempt Namespaces via a .

Kyverno rules are Kubernetes resources written in YAML and managed by an OpenAPIv3 schema. This approach makes it easy to understand policy definitions and to apply policy-as-code best practices, like code reviews, to Kyverno policies. The provides a test command for executing unit tests as part of a continuous delivery pipeline.

Kyverno rules are Kubernetes resources written in YAML and managed by an OpenAPIv3 schema. This approach makes it easy to understand policy definitions and to apply policy-as-code best practices, like code reviews, to Kyverno policies. The provides a test command for executing unit tests as part of a continuous delivery pipeline.

Kyverno rules are Kubernetes resources written in YAML and managed by an OpenAPIv3 schema. This approach makes it easy to understand policy definitions and to apply policy-as-code best practices, like code reviews, to Kyverno policies. The provides a test command for executing unit tests as part of a continuous delivery pipeline.

The Kyverno contains policies to restrict container privileges and restrict access to host resources. The Pod Security Standards and best practices policies are highly recommended.

The Kyverno contains policies to restrict container privileges and restrict access to host resources. The Pod Security Standards and best practices policies are highly recommended.

See for details on securing networking communications for Kyverno.

https://kyverno.io/docs/security/
kyverno-security@googlegroups.com
git repo
Slack
GitHub
here
here
keyless signing feature
Cosign
SLSA standard
Level 3
CycloneDX
Scorecards by OSSF
tracker issue
Artifact Hub page
Security Report
Pod Security Standards
installation
this issue
Kyverno Helm chart
API Call
image verification
image registry context variables
external service call
per policy basis
installation section
sample policies
Pod Security Standards
best practices
Kubernetes SIG Security
Admission Control Threat Model
Threat Model Link
Mitigation ID 2 - Webhook fails closed
per policy basis
Threat Model Link
Mitigation ID 2 - Webhook fails closed
per policy basis
Mitigation ID 3 - Webhook authenticates callers
configuration guide
Threat Model Link
Mitigation ID 8 - Regular reviews of webhook configuration catch issues
Threat Model Link
Mitigation ID 1 - RBAC rights are strictly controlled
installation section
Threat Model Link
Mitigation ID 2 - Webhook fails closed
per policy basis
Threat Model Link
Threat Model Link
Mitigation ID 4 - Webhook uses TLS encryption for all traffic
Threat Model Link
Mitigation ID 5 - Webhook mutual TLS authentication is used
configuration guide
Threat Model Link
Mitigation ID 5 - Webhook mutual TLS authentication is used
configuration guide
Threat Model Link
Mitigation ID 6 - All rules are reviewed and tested
Kyverno CLI
Threat Model Link
Mitigation ID 1 - RBAC rights are strictly controlled
configuration section
ConfigMap
Threat Model Link
Mitigation ID 6 - All rules are reviewed and tested
Kyverno CLI
Threat Model Link
Mitigation ID 6 - All rules are reviewed and tested
Kyverno CLI
Threat Model Link
Mitigation ID 6 - All rules are reviewed and tested
Kyverno CLI
Threat Model Link
Mitigation ID 7 - Admission controller uses restrictive policies to prevent privileged workloads
policy library
Threat Model Link
Mitigation ID 7 - Admission controller uses restrictive policies to prevent privileged workloads
policy library
Threat Model Link
Threat Model Link
Mitigation ID 9 - Strictly control external system access
Networking