This article is based on reporting originally published by Container Journal covering a Kubernetes security guide produced by Trend Micro.
Overview: Three Threat Categories in Kubernetes Environments
Trend Micro has published a guide to Kubernetes security threats that organizes risks into three broad categories: external attacks, misconfiguration issues, and vulnerable containerized applications. The guide is aimed at security and DevOps teams navigating an increasingly complex platform that many organizations are still learning to operate safely at scale.
Mark Nunnikhoven, vice president of cloud research at Trend Micro at the time of publication, noted that rapid Kubernetes adoption is compounding an already serious shortage of cybersecurity expertise. The platform’s power and flexibility also introduce substantial surface area for configuration mistakes and architectural missteps.
1. External Attacks: Protecting the Kubernetes API Server
The most common external attack vector against Kubernetes clusters targets the kube-apiserver — the control plane component that exposes the API through which all Kubernetes management operations are defined and executed. An attacker who gains unauthorized access to this API can potentially:
- Deploy malicious containers to exfiltrate data from databases
- Consume cluster resources to run cryptocurrency mining workloads
- Pivot into other parts of the cluster or connected infrastructure
API Server Ports to Secure
The Kubernetes API server is accessible through two ports:
- Port 8080 — localhost only, used for insecure (plain-text) access; should never be exposed externally
- Port 6443 — the default HTTPS port for authenticated API access
Trend Micro’s guide outlines three practical controls for locking down API server access:
- Firewall rules — restrict API access to only the machines and IP ranges that legitimately require it
- Avoid
--insecure-bind-address— do not configure the API server to open the plain-text port on any non-localhost interface - Intrusion Prevention System (IPS) with SSL decryption — deploy an IPS capable of inspecting encrypted traffic to detect and block malicious API calls in transit
2. Misconfigurations: The Most Common Kubernetes Security Failure
According to Nunnikhoven, misconfigurations are the most frequent source of Kubernetes security incidents in production environments. A significant part of the problem stems from Kubernetes’ permissive defaults.
By default, Kubernetes allows all traffic between all pods within the same namespace. Every pod can communicate freely with every other pod. If an attacker compromises a public-facing pod, they can use it as a foothold to reach internal services — dramatically simplifying lateral movement across the cluster.
Recommended Network Policy Approach
The best practice, as outlined in the guide, is a deny-by-default network policy model:
- Deny all ingress and egress traffic by default using Kubernetes
NetworkPolicyresources - Explicitly allow only the traffic paths that are required for each workload
- At minimum, apply a default-deny policy for ingress traffic to all namespaces
This approach limits blast radius significantly if a pod is ever compromised, preventing an attacker from freely traversing the cluster.
# Example: Default-deny ingress NetworkPolicy
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: production
spec:
podSelector: {}
policyTypes:
- IngressCode language: PHP (php)
3. Vulnerable Applications: Keeping Container Images Patched
Containerized applications introduce a unique patching challenge. Unlike traditional deployments where a library is installed once on a host, every container image carries its own copy of every library it depends on. The same library may appear in dozens of images derived from different base images — and each one must be updated independently when a vulnerability is discovered.
The Trend Micro report highlights two core practices for managing this challenge:
- Keep base images and application images current — rebuild and redeploy images promptly when upstream patches are available, rather than relying on host-level patching
- Regularly scan all container images — integrate image scanning into CI/CD pipelines and continue scanning images already running in production, since new CVEs are discovered continuously after an image is built
The Broader DevSecOps Imperative
Nunnikhoven’s broader conclusion is that Kubernetes adoption inevitably pushes organizations toward maturing their DevSecOps practices. The complexity of Kubernetes means security cannot be bolted on after deployment — it must be embedded in the development and operations workflows from the start.
The practical challenge is cultural as much as technical: bridging the historical divide between development teams and security professionals to establish shared workflows, shared responsibility, and shared tooling. Done well, this reduces the overall security burden on both sides rather than concentrating it on either.
Key Takeaways
- The kube-apiserver is the highest-value external attack target; restrict access with firewall rules, avoid insecure bind addresses, and use IPS with SSL inspection
- Misconfigurations are the most common Kubernetes security failure; adopt a deny-by-default network policy posture
- Vulnerable images require proactive scanning and rapid rebuilds — host-level patching is insufficient in containerized environments
- Long-term Kubernetes security depends on embedding security into DevOps workflows rather than treating it as a separate discipline