2020-12-21 11:10:02 +00:00
[![GitHub Release][release-img]][release]
2022-01-19 08:13:23 +00:00
[![Downloads][download]][release]
[![Docker Pulls][docker-pull]][docker]
2020-12-21 11:10:02 +00:00
[![Go Report Card][report-card-img]][report-card]
2021-01-18 10:29:50 +00:00
[![Build Status ](https://github.com/aquasecurity/kube-bench/workflows/Build/badge.svg?branch=main )](https://github.com/aquasecurity/kube-bench/actions)
2020-12-17 13:37:02 +00:00
[![License ](https://img.shields.io/badge/License-Apache%202.0-blue.svg )](https://github.com/aquasecurity/kube-bench/blob/main/LICENSE)
2019-07-16 18:11:51 +00:00
[![Coverage Status][cov-img]][cov]
2017-06-19 21:29:58 +00:00
2020-12-21 11:10:02 +00:00
[download]: https://img.shields.io/github/downloads/aquasecurity/kube-bench/total?logo=github
[release-img]: https://img.shields.io/github/release/aquasecurity/kube-bench.svg?logo=github
[release]: https://github.com/aquasecurity/kube-bench/releases
[docker-pull]: https://img.shields.io/docker/pulls/aquasec/kube-bench?logo=docker& label=docker%20pulls%20%2F%20kube-bench
2022-01-19 08:13:23 +00:00
[docker]: https://hub.docker.com/r/aquasec/kube-bench
2020-12-17 13:37:02 +00:00
[cov-img]: https://codecov.io/github/aquasecurity/kube-bench/branch/main/graph/badge.svg
2019-07-16 18:11:51 +00:00
[cov]: https://codecov.io/github/aquasecurity/kube-bench
2020-12-21 11:10:02 +00:00
[report-card-img]: https://goreportcard.com/badge/github.com/aquasecurity/kube-bench
[report-card]: https://goreportcard.com/report/github.com/aquasecurity/kube-bench
2021-06-09 08:17:16 +00:00
< img src = "docs/images/kube-bench.png" width = "200" alt = "kube-bench logo" >
2018-04-20 12:05:30 +00:00
2021-09-29 12:06:23 +00:00
kube-bench is a tool that checks whether Kubernetes is deployed securely by running the checks documented in the [CIS Kubernetes Benchmark ](https://www.cisecurity.org/benchmark/kubernetes/ ).
2019-06-01 16:17:09 +00:00
2018-10-09 22:56:48 +00:00
Tests are configured with YAML files, making this tool easy to update as test specifications evolve.
2017-06-19 14:50:49 +00:00
2021-06-09 08:17:16 +00:00
![Kubernetes Bench for Security ](/docs/images/output.png "Kubernetes Bench for Security" )
2019-12-05 20:55:44 +00:00
2021-06-09 08:17:16 +00:00
### Quick start
2018-05-15 04:40:41 +00:00
2021-06-09 08:17:16 +00:00
There are multiple ways to run kube-bench.
2019-03-07 17:02:43 +00:00
You can run kube-bench inside a pod, but it will need access to the host's PID namespace in order to check the running processes, as well as access to some directories on the host where config files and other files are stored.
2018-05-15 04:40:41 +00:00
2021-06-09 08:17:16 +00:00
The supplied `job.yaml` [file ](job.yaml ) can be applied to run the tests as a job. For example:
2018-05-15 04:40:41 +00:00
2019-01-11 18:44:13 +00:00
```bash
2019-03-07 17:02:43 +00:00
$ kubectl apply -f job.yaml
job.batch/kube-bench created
2019-01-11 18:44:13 +00:00
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
2019-03-07 17:02:43 +00:00
kube-bench-j76s9 0/1 ContainerCreating 0 3s
2019-01-11 18:44:13 +00:00
# Wait for a few seconds for the job to complete
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
2019-03-07 17:02:43 +00:00
kube-bench-j76s9 0/1 Completed 0 11s
2019-01-11 18:44:13 +00:00
# The results are held in the pod's logs
2019-04-11 18:00:17 +00:00
kubectl logs kube-bench-j76s9
2019-01-11 18:44:13 +00:00
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
...
2018-05-15 04:40:41 +00:00
```
2021-06-09 08:17:16 +00:00
For more information and different ways to run kube-bench see [documentation ](docs/running.md )
### Please Note
2018-05-15 04:40:41 +00:00
2021-06-09 08:17:16 +00:00
1. kube-bench implements the [CIS Kubernetes Benchmark ](https://www.cisecurity.org/benchmark/kubernetes/ ) as closely as possible. Please raise issues here if kube-bench is not correctly implementing the test as described in the Benchmark. To report issues in the Benchmark itself (for example, tests that you believe are inappropriate), please join the [CIS community ](https://cisecurity.org ).
2019-08-07 10:43:51 +00:00
2021-06-09 08:17:16 +00:00
1. There is not a one-to-one mapping between releases of Kubernetes and releases of the CIS benchmark. See [CIS Kubernetes Benchmark support ](docs/platforms.md#cis-kubernetes-benchmark-support ) to see which releases of Kubernetes are covered by different releases of the benchmark.
2017-06-19 20:17:19 +00:00
2019-03-26 10:37:17 +00:00
2021-06-09 08:17:16 +00:00
By default, kube-bench will determine the test set to run based on the Kubernetes version running on the machine.
- see the following documentation on [Running kube-bench ](docs/running.md#running-kube-bench ) for more details.
2019-03-26 10:37:17 +00:00
2021-06-09 08:17:16 +00:00
## Contributing
Kindly read [Contributing ](CONTRIBUTING.md ) before contributing.
We welcome PRs and issue reports.
2019-03-26 10:37:17 +00:00
2019-10-24 08:15:29 +00:00
## Roadmap
2020-07-29 13:40:59 +00:00
Going forward we plan to release updates to kube-bench to add support for new releases of the CIS Benchmark. Note that these are not released as frequently as Kubernetes releases.