policy: Add policy to prevent host network usage
The `policy` Kustomize project defines various cluster-wide security policies. Initially, this includes a Validating Admission Policy that prevents pods from using the host's network namespace.
This commit is contained in:
43
policy/disallow-hostnetwork.yaml
Normal file
43
policy/disallow-hostnetwork.yaml
Normal file
@@ -0,0 +1,43 @@
|
||||
apiVersion: admissionregistration.k8s.io/v1beta1
|
||||
kind: ValidatingAdmissionPolicy
|
||||
metadata:
|
||||
name: disallow-hostnetwork
|
||||
spec:
|
||||
matchConstraints:
|
||||
resourceRules:
|
||||
- apiGroups:
|
||||
- ''
|
||||
apiVersions:
|
||||
- v1
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- pods
|
||||
validations:
|
||||
- expression: >-
|
||||
!has(object.spec.hostNetwork) || !object.spec.hostNetwork
|
||||
message: >-
|
||||
Pods must not use hostNetwork: true
|
||||
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1beta1
|
||||
kind: ValidatingAdmissionPolicyBinding
|
||||
metadata:
|
||||
name: disallow-hostnetwork-binding
|
||||
spec:
|
||||
policyName: disallow-hostnetwork
|
||||
validationActions:
|
||||
- Deny
|
||||
matchResources:
|
||||
namespaceSelector:
|
||||
matchExpressions:
|
||||
- key: kubernetes.io/metadata.name
|
||||
operator: NotIn
|
||||
values:
|
||||
- calico-system
|
||||
- democratic-csi
|
||||
- keepalived
|
||||
- kube-system
|
||||
- music-assistant
|
||||
- tigera-operator
|
||||
Reference in New Issue
Block a user