CNI plugin does not support network policies This product is not supported for your selected
Datadog site . (
).
Id: kubernetes-cni-plugin-does-not-support-network-policies
Platform: Kubernetes
Severity: Medium
Category: Networking and Firewall
Learn More Description Ensure the cluster uses a CNI plugin that supports NetworkPolicies. CNI plugins that do not support NetworkPolicies (for example, Flannel) cannot enforce pod- or namespace-level network restrictions, which may allow unrestricted cluster traffic and increase the attack surface.
Compliant Code Examples {
"name" : "k8s-pod-network" ,
"cniVersion" : "0.3.0" ,
"plugins" : [
{
"type" : "calico" ,
"log_level" : "info" ,
"datastore_type" : "kubernetes" ,
"nodename" : "127.0.0.1" ,
"ipam" : {
"type" : "host-local" ,
"subnet" : "usePodCidr"
},
"policy" : {
"type" : "k8s"
},
"kubernetes" : {
"kubeconfig" : "/etc/cni/net.d/calico-kubeconfig"
}
},
{
"type" : "portmap" ,
"capabilities" : { "portMappings" : true }
}
]
}
kind : ConfigMap
apiVersion : v1
metadata :
name : kube-flannel-cfg
namespace : kube-system
labels :
tier : node
app : calico
data :
cni-conf.json : |
{
"name": "cbr0",
"plugins": [
{
"type": "calico",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
net-conf.json : |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}
Non-Compliant Code Examples {
"name" : "k8s-pod-network" ,
"cniVersion" : "0.3.0" ,
"plugins" : [
{
"type" : "flannel" ,
"log_level" : "info" ,
"datastore_type" : "kubernetes" ,
"nodename" : "127.0.0.1" ,
"ipam" : {
"type" : "host-local" ,
"subnet" : "usePodCidr"
},
"policy" : {
"type" : "k8s"
},
"kubernetes" : {
"kubeconfig" : "/etc/cni/net.d/flannel-kubeconfig"
}
},
{
"type" : "portmap" ,
"capabilities" : { "portMappings" : true }
}
]
}
kind : ConfigMap
apiVersion : v1
metadata :
name : kube-flannel-cfg
namespace : kube-system
labels :
tier : node
app : flannel
data :
cni-conf.json : |
{
"name": "cbr0",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
net-conf.json : |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
}