1
0
mirror of https://github.com/aquasecurity/kube-bench.git synced 2024-12-22 14:48:07 +00:00
The Kubernetes Bench for Security is a Go application that checks whether Kubernetes is deployed according to security best practices.
Go to file
prakhar-aqua 2496e391f5
Dockerfile with ubi8-minimal as base image (#1162)
* Dockerfile with ubi8-minimal as base image

* install jq , procps and override Path env

* auto confirm for epel-release

* Bump github.com/aws/aws-sdk-go from 1.43.41 to 1.44.0 (#1163)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.43.41 to 1.44.0.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.43.41...v1.44.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* auto conf for glibc,procps, install findutils & openssl

* Bump gorm.io/driver/postgres from 1.3.4 to 1.3.5 (#1164)

Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/go-gorm/postgres/releases)
- [Commits](https://github.com/go-gorm/postgres/compare/v1.3.4...v1.3.5)

---
updated-dependencies:
- dependency-name: gorm.io/driver/postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump k8s.io/client-go from 0.23.5 to 0.23.6 (#1165)

Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.23.5 to 0.23.6.
- [Release notes](https://github.com/kubernetes/client-go/releases)
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.23.5...v0.23.6)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Dockerfile with ubi8-minimal as base image

* install jq , procps and override Path env

* auto confirm for epel-release

* auto conf for glibc,procps, install findutils & openssl

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-29 17:55:33 +03:00
.github Bump actions/setup-go from 2 to 3 (#1151) 2022-04-12 14:07:32 +03:00
cfg Add support to CIS-1.23 1.0.0 (#1148) 2022-04-18 09:27:33 +03:00
check chore(lint): setup golangci-lint (#1144) 2022-04-05 16:25:45 +03:00
cmd Add support to CIS-1.23 1.0.0 (#1148) 2022-04-18 09:27:33 +03:00
docs Add support to CIS-1.23 1.0.0 (#1148) 2022-04-18 09:27:33 +03:00
hack retire cis 1.3 and 1.4 (#693) 2020-10-03 11:23:28 +01:00
hooks adds kube-bench version to docker build hook (#524) 2019-11-27 20:06:42 +00:00
integration/testdata Fix status of cis-1.20 4.1.6 should be Automated (#1041) 2021-11-08 11:25:59 +02:00
internal/findings Aws asff (#770) 2020-11-23 19:43:53 +00:00
.gitignore release: prepare v0.6.7-rc1 (#1136) 2022-04-03 12:00:08 +03:00
.golangci.yaml chore(lint): setup golangci-lint (#1144) 2022-04-05 16:25:45 +03:00
.goreleaser.yml chore: add s390x arch (#1097) 2022-02-23 09:07:51 +02:00
.yamllint.yaml Support Linting YAML as part of Travis CI build (#554) 2020-01-06 09:18:25 +00:00
codecov.yml Improve Proxykubeconfig tests (#708) 2020-10-07 21:53:34 +03:00
CONTRIBUTING.md mkdocs support and update docs (#884) 2021-06-09 11:17:16 +03:00
Dockerfile Bump golang from 1.18.0 to 1.18.1 (#1155) 2022-04-19 08:03:43 +03:00
Dockerfile.ubi8 Dockerfile with ubi8-minimal as base image (#1162) 2022-04-29 17:55:33 +03:00
entrypoint.sh Set -e to fail fast 2018-05-11 13:44:04 -04:00
go.mod Bump k8s.io/client-go from 0.23.5 to 0.23.6 (#1165) 2022-04-27 11:23:53 +03:00
go.sum Bump k8s.io/client-go from 0.23.5 to 0.23.6 (#1165) 2022-04-27 11:23:53 +03:00
job-ack.yaml K8s Job Command Clean (#923) 2021-07-07 18:21:30 +03:00
job-aks.yaml K8s Job Command Clean (#923) 2021-07-07 18:21:30 +03:00
job-eks-asff.yaml Support CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.0.1 (#1045) 2021-11-18 10:42:53 +02:00
job-eks.yaml Support CIS Amazon Elastic Kubernetes Service (EKS) Benchmark v1.0.1 (#1045) 2021-11-18 10:42:53 +02:00
job-gke.yaml Support CIS Google Kubernetes Engine (GKE) Benchmark v1.2.0 (#1050) 2021-12-09 12:04:38 +02:00
job-iks.yaml K8s Job Command Clean (#923) 2021-07-07 18:21:30 +03:00
job-master.yaml K8s Job Command Clean (#923) 2021-07-07 18:21:30 +03:00
job-node.yaml K8s Job Command Clean (#923) 2021-07-07 18:21:30 +03:00
job.yaml release: prepare v0.6.8 (#1160) 2022-04-24 13:47:41 +03:00
LICENSE Initial commit 2017-06-19 17:01:57 +03:00
main.go Fix issue #16 about supporting verbosity. 2017-07-07 17:01:30 +00:00
makefile chore: add s390x arch (#1097) 2022-02-23 09:07:51 +02:00
mkdocs.yml Fixing typos (#899) 2021-06-09 15:11:05 +03:00
NOTICE Create NOTICE (#199) 2019-01-16 10:53:07 +02:00
OWNERS Create OWNERS 2017-08-11 16:06:44 +01:00
README.md Remove broken badges and add link for some badges (#1083) 2022-01-19 10:13:23 +02:00

GitHub Release Downloads Docker Pulls Go Report Card Build Status License Coverage Status

kube-bench logo

kube-bench is a tool that checks whether Kubernetes is deployed securely by running the checks documented in the CIS Kubernetes Benchmark.

Tests are configured with YAML files, making this tool easy to update as test specifications evolve.

Kubernetes Bench for Security

Quick start

There are multiple ways to run kube-bench. 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.

The supplied job.yaml file can be applied to run the tests as a job. For example:

$ kubectl apply -f job.yaml
job.batch/kube-bench created

$ kubectl get pods
NAME                      READY   STATUS              RESTARTS   AGE
kube-bench-j76s9   0/1     ContainerCreating   0          3s

# Wait for a few seconds for the job to complete
$ kubectl get pods
NAME                      READY   STATUS      RESTARTS   AGE
kube-bench-j76s9   0/1     Completed   0          11s

# The results are held in the pod's logs
kubectl logs kube-bench-j76s9
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
...

For more information and different ways to run kube-bench see documentation

Please Note

  1. kube-bench implements the CIS Kubernetes Benchmark 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.

  2. There is not a one-to-one mapping between releases of Kubernetes and releases of the CIS benchmark. See CIS Kubernetes Benchmark support to see which releases of Kubernetes are covered by different releases of the benchmark.

By default, kube-bench will determine the test set to run based on the Kubernetes version running on the machine.

Contributing

Kindly read Contributing before contributing. We welcome PRs and issue reports.

Roadmap

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.