1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2024-12-14 11:57:48 +00:00

update categories and links

This commit is contained in:
Jim Bugwadia 2019-11-11 18:21:16 -08:00
parent 8ac71a885c
commit 31d33c5de1
20 changed files with 23 additions and 21 deletions

View file

@ -4,6 +4,8 @@ Tiller has known security challenges. It requires adminstrative privileges and a
## Policy YAML ## Policy YAML
[disallow_helm_tiller.yaml](best_practices/disallow_helm_tiller.yaml)
````yaml ````yaml
apiVersion : kyverno.io/v1alpha1 apiVersion : kyverno.io/v1alpha1
kind: ClusterPolicy kind: ClusterPolicy

View file

@ -12,7 +12,7 @@ These policies are highly recommended.
2. [Disallow privileged containers](DisallowPrivilegedContainers.md) 2. [Disallow privileged containers](DisallowPrivilegedContainers.md)
3. [Disallow new capabilities](DisallowNewCapabilities.md) 3. [Disallow new capabilities](DisallowNewCapabilities.md)
4. [Disallow kernel parameter changes](DisallowSysctls.md) 4. [Disallow kernel parameter changes](DisallowSysctls.md)
5. [Disallow use of bind mounts (`hostPath` volumes)](DisallowHostFS.md) 5. [Disallow use of bind mounts (`hostPath` volumes)](DisallowBindMounts.md)
6. [Disallow docker socket bind mount](DisallowDockerSockMount.md) 6. [Disallow docker socket bind mount](DisallowDockerSockMount.md)
7. [Disallow `hostNetwork` and `hostPort`](DisallowHostNetworkPort.md) 7. [Disallow `hostNetwork` and `hostPort`](DisallowHostNetworkPort.md)
8. [Disallow `hostPID` and `hostIPC`](DisallowHostPIDIPC.md) 8. [Disallow `hostPID` and `hostIPC`](DisallowHostPIDIPC.md)
@ -22,13 +22,13 @@ These policies are highly recommended.
12. [Require read-only root filesystem](RequireReadOnlyRootFS.md) 12. [Require read-only root filesystem](RequireReadOnlyRootFS.md)
13. [Require pod resource requests and limits](RequirePodRequestsLimits.md) 13. [Require pod resource requests and limits](RequirePodRequestsLimits.md)
14. [Require pod `livenessProbe` and `readinessProbe`](RequirePodProbes.md) 14. [Require pod `livenessProbe` and `readinessProbe`](RequirePodProbes.md)
15. [Add default network policy](DefaultDenyAllIngress.md) 15. [Add default network policy](AddDefaultNetworkPolicy.md)
16. [Add namespace resource quotas](AddNamespaceResourceQuota.md) 16. [Add namespace resource quotas](AddNamespaceResourceQuota.md)
17. [Add `safe-to-evict` for pods with `emptyDir` and `hostPath` volumes](AddSafeToEvict.md) 17. [Add `safe-to-evict` for pods with `emptyDir` and `hostPath` volumes](AddSafeToEvict.md)
## Additional Policies ## Additional Policies
The policies provide additional best practices and are worthy of close consideration. These policies may require specific changes for your workloads and environments. These policies provide additional best practices and are worthy of close consideration. These policies may require specific changes for your workloads and environments.
17. [Restrict image registries](RestrictImageRegistries.md) 17. [Restrict image registries](RestrictImageRegistries.md)
18. [Restrict `NodePort` services](RestrictNodePort.md) 18. [Restrict `NodePort` services](RestrictNodePort.md)

View file

@ -4,7 +4,7 @@ Kubernetes automatically mounts service account credentials in each pod. The ser
## Policy YAML ## Policy YAML
[restrict_automount_sa_token.yaml](best_practices/restrict_automount_sa_token.yaml) [restrict_automount_sa_token.yaml](more/restrict_automount_sa_token.yaml)
````yaml ````yaml
apiVersion : kyverno.io/v1alpha1 apiVersion : kyverno.io/v1alpha1

View file

@ -6,7 +6,7 @@ You can customize this policy to allow image registries that you trust.
## Policy YAML ## Policy YAML
[restrict_image_registries.yaml](best_practices/restrict_image_registries.yaml) [restrict_image_registries.yaml](more/restrict_image_registries.yaml)
````yaml ````yaml
apiVersion : kyverno.io/v1alpha1 apiVersion : kyverno.io/v1alpha1

View file

@ -4,7 +4,7 @@ It can be useful to restrict Ingress resources to a set of known ingress classes
## Policy YAML ## Policy YAML
[restrict_ingress_classes.yaml](best_practices/restrict_ingress_classes.yaml) [restrict_ingress_classes.yaml](more/restrict_ingress_classes.yaml)
````yaml ````yaml
apiVersion : kyverno.io/v1alpha1 apiVersion : kyverno.io/v1alpha1

View file

@ -8,7 +8,7 @@ Although NodePort services can be useful, their use should be limited to service
## Policy YAML ## Policy YAML
[restrict_node_port.yaml](best_practices/restrict_node_port.yaml) [restrict_node_port.yaml](more/restrict_node_port.yaml)
````yaml ````yaml

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: add-networkpolicy name: add-networkpolicy
annotations: annotations:
policies.kyverno.io/category: NetworkPolicy policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: By default, Kubernetes allows communications across policies.kyverno.io/description: By default, Kubernetes allows communications across
all pods within a cluster. Network policies and, a CNI that supports network policies, all pods within a cluster. Network policies and, a CNI that supports network policies,
must be used to restrict communinications. A default NetworkPolicy should be configured must be used to restrict communinications. A default NetworkPolicy should be configured

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: add-ns-quota name: add-ns-quota
annotations: annotations:
policies.kyverno.io/category: Isolation policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: To limit the number of objects, as well as the policies.kyverno.io/description: To limit the number of objects, as well as the
total amount of compute that may be consumed by a single namespace, create total amount of compute that may be consumed by a single namespace, create
a default resource quota for each namespace. a default resource quota for each namespace.

View file

@ -3,7 +3,7 @@ kind: "ClusterPolicy"
metadata: metadata:
name: "add-safe-to-evict" name: "add-safe-to-evict"
annotations: annotations:
policies.kyverno.io/category: AutoScaling policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: The Kubernetes cluster autoscaler does not evict pods that policies.kyverno.io/description: The Kubernetes cluster autoscaler does not evict pods that
use hostPath or emptyDir volumes. To allow eviction of these pods, the annotation use hostPath or emptyDir volumes. To allow eviction of these pods, the annotation
cluster-autoscaler.kubernetes.io/safe-to-evict=true must be added to the pods. cluster-autoscaler.kubernetes.io/safe-to-evict=true must be added to the pods.

View file

@ -3,7 +3,7 @@ kind: "ClusterPolicy"
metadata: metadata:
name: "disallow-bind-mounts" name: "disallow-bind-mounts"
annotations: annotations:
policies.kyverno.io/category: Data Protection policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: The volume of type `hostPath` allows pods to use host bind policies.kyverno.io/description: The volume of type `hostPath` allows pods to use host bind
mounts (i.e. directories and volumes mounted to a host path) in containers. Using host mounts (i.e. directories and volumes mounted to a host path) in containers. Using host
resources can be used to access shared data or escalate priviliges. Also, this couples pods resources can be used to access shared data or escalate priviliges. Also, this couples pods

View file

@ -2,7 +2,7 @@ apiVersion: kyverno.io/v1alpha1
kind: ClusterPolicy kind: ClusterPolicy
metadata: metadata:
name: disallow-default-namespace name: disallow-default-namespace
policies.kyverno.io/category: Isolation policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: Kubernetes namespaces are an optional feature policies.kyverno.io/description: Kubernetes namespaces are an optional feature
that provide a way to segment and isolate cluster resources across multiple that provide a way to segment and isolate cluster resources across multiple
applications and users. As a best practice, workloads should be isolated with applications and users. As a best practice, workloads should be isolated with

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: host-network-port name: host-network-port
annotations: annotations:
policies.kyverno.io/category: Security policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: Using 'hostPort' and 'hostNetwork' allows pods to share policies.kyverno.io/description: Using 'hostPort' and 'hostNetwork' allows pods to share
the host network stack, allowing potential snooping of network traffic from an application pod. the host network stack, allowing potential snooping of network traffic from an application pod.
spec: spec:

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: disallow-host-pid-ipc name: disallow-host-pid-ipc
annotations: annotations:
policies.kyverno.io/category: Security policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: Sharing the host's PID namespace allows visibility of process policies.kyverno.io/description: Sharing the host's PID namespace allows visibility of process
on the host, potentially exposing process information. Sharing the host's IPC namespace allows on the host, potentially exposing process information. Sharing the host's IPC namespace allows
the container process to communicate with processes on the host. To avoid pod container from the container process to communicate with processes on the host. To avoid pod container from

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: disallow-latest-tag name: disallow-latest-tag
annotations: annotations:
policies.kyverno.io/category: Image policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: The ':latest' tag is mutable and can lead to policies.kyverno.io/description: The ':latest' tag is mutable and can lead to
unexpected errors if the image changes. A best practice is to use an immutable unexpected errors if the image changes. A best practice is to use an immutable
tag that maps to a specific version of an application pod. tag that maps to a specific version of an application pod.

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: require-pod-requests-limits name: require-pod-requests-limits
annotations: annotations:
policies.kyverno.io/category: Resource Quota policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: As application workloads share cluster resources, it is important policies.kyverno.io/description: As application workloads share cluster resources, it is important
to limit resources requested and consumed by each pod. It is recommended to require to limit resources requested and consumed by each pod. It is recommended to require
'resources.requests' and 'resources.limits' per pod. If a namespace level request or limit is 'resources.requests' and 'resources.limits' per pod. If a namespace level request or limit is

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: require-pod-probes name: require-pod-probes
annotations: annotations:
policies.kyverno.io/category: Health policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: Liveness and readiness probes need to be configured to policies.kyverno.io/description: Liveness and readiness probes need to be configured to
correctly manage a pods lifecycle during deployments, restarts, and upgrades. For each correctly manage a pods lifecycle during deployments, restarts, and upgrades. For each
pod, a periodic `livenessProbe` is performed by the kubelet to determine if the pod's pod, a periodic `livenessProbe` is performed by the kubelet to determine if the pod's

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: require-ro-rootfs name: require-ro-rootfs
annotations: annotations:
policies.kyverno.io/category: Security Context policies.kyverno.io/category: Security
policies.kyverno.io/description: A read-only root file system helps to enforce an immutable policies.kyverno.io/description: A read-only root file system helps to enforce an immutable
infrastructure strategy; the container only needs to write on the mounted volume that p infrastructure strategy; the container only needs to write on the mounted volume that p
ersists the state. An immutable root filesystem can also prevent malicious binaries from ersists the state. An immutable root filesystem can also prevent malicious binaries from

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: restrict-image-registries name: restrict-image-registries
annotations: annotations:
policies.kyverno.io/category: Image policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: Images from unknown registries may not be scanned and secured. policies.kyverno.io/description: Images from unknown registries may not be scanned and secured.
Requiring use of known registries helps reduce threat exposure. Requiring use of known registries helps reduce threat exposure.
spec: spec:

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: restrict-ingress-classes name: restrict-ingress-classes
annotations: annotations:
policies.kyverno.io/category: Ingress policies.kyverno.io/category: Workload Management
policies.kyverno.io/description: It can be useful to restrict Ingress resources to a set of policies.kyverno.io/description: It can be useful to restrict Ingress resources to a set of
known ingress classes that are allowed in the cluster. You can customize this policy to known ingress classes that are allowed in the cluster. You can customize this policy to
allow ingress classes that are configured in the cluster. allow ingress classes that are configured in the cluster.

View file

@ -3,7 +3,7 @@ kind: ClusterPolicy
metadata: metadata:
name: restrict-nodeport name: restrict-nodeport
annotations: annotations:
policies.kyverno.io/category: Security policies.kyverno.io/category: Workload Isolation
policies.kyverno.io/description: A Kubernetes service of type NodePort uses a policies.kyverno.io/description: A Kubernetes service of type NodePort uses a
host port to receive traffic from any source. A 'NetworkPolicy' resource cannot be used host port to receive traffic from any source. A 'NetworkPolicy' resource cannot be used
to control traffic to host ports. Although 'NodePort' services can be useful, their use to control traffic to host ports. Although 'NodePort' services can be useful, their use