mirror of
https://github.com/aquasecurity/kube-bench.git
synced 2024-11-17 05:19:27 +00:00
7027b6b2ec
* Create cis-1.9 yamls and Update info - policies.yaml - 5.1.1 to 5.1.6 were adapted from Manual to Automated - 5.1.3 got broken down into 5.1.3.1 and 5.1.3.2 - 5.1.6 got broken down into 5.1.6.1 and 5.1.6.2 - version was set to cis-1.9 - node.yaml master.yaml controlplane.yaml etcd.yaml - version was set to cis-1.9 * Adapt master.yaml - Expand 1.1.13/1.1.14 checks by adding super-admin.conf to the permission and ownership verification - Remove 1.2.12 Ensure that the admission control plugin SecurityContextDeny is set if PodSecurityPolicy is not used (Manual) - Adjust numbering from 1.2.12 to 1.2.29 * Adjust policies.yaml - Check 5.2.3 to 5.2.9 Title Automated to Manual * Append node.yaml - Create 4.3 kube-config group - Create 4.3.1 Ensure that the kube-proxy metrics service is bound to localhost (Automated) * Adjust policies 5.1.3 and 5.1.6 - Merge 5.1.3.1 and 5.1.3.2 into 5.1.3 (use role_is_compliant and clusterrole_is_compliant) - Remove 5.1.6.1 and promote 5.1.6.2 to 5.1.6 since it natively covered 5.1.6.1 artifacts * Add kubectl dependency and update publish - Download kubectl (build stage) based on version and architecture - Add binary checksum verification - Use go env GOARCH for ARCH
59 lines
2.0 KiB
Docker
59 lines
2.0 KiB
Docker
FROM golang:1.22.2 AS build
|
|
WORKDIR /go/src/github.com/aquasecurity/kube-bench/
|
|
COPY makefile makefile
|
|
COPY go.mod go.sum ./
|
|
COPY main.go .
|
|
COPY check/ check/
|
|
COPY cmd/ cmd/
|
|
COPY internal/ internal/
|
|
ARG KUBEBENCH_VERSION
|
|
RUN make build && cp kube-bench /go/bin/kube-bench
|
|
|
|
# Add kubectl to run policies checks
|
|
ARG KUBECTL_VERSION TARGETARCH
|
|
RUN wget -O /usr/local/bin/kubectl "https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl"
|
|
RUN wget -O kubectl.sha256 "https://dl.k8s.io/release/v${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl.sha256"
|
|
# Verify kubectl sha256sum
|
|
RUN /bin/bash -c 'echo "$(<kubectl.sha256) /usr/local/bin/kubectl" | sha256sum -c -'
|
|
RUN chmod +x /usr/local/bin/kubectl
|
|
|
|
|
|
# ubi8-minimal base image for build with ubi standards
|
|
FROM registry.access.redhat.com/ubi9/ubi-minimal as run
|
|
|
|
RUN microdnf install -y yum findutils openssl \
|
|
&& yum -y update-minimal --security --sec-severity=Moderate --sec-severity=Important --sec-severity=Critical \
|
|
&& yum update -y \
|
|
&& yum install -y glibc \
|
|
&& yum update -y glibc \
|
|
&& yum install -y procps \
|
|
&& yum update -y procps \
|
|
&& yum install jq -y \
|
|
&& yum clean all \
|
|
&& microdnf remove yum || rpm -e -v yum \
|
|
&& microdnf clean all
|
|
|
|
WORKDIR /opt/kube-bench/
|
|
|
|
ENV PATH=$PATH:/usr/local/mount-from-host/bin
|
|
|
|
COPY LICENSE /licenses/LICENSE
|
|
COPY --from=build /go/bin/kube-bench /usr/local/bin/kube-bench
|
|
COPY --from=build /usr/local/bin/kubectl /usr/local/bin/kubectl
|
|
COPY entrypoint.sh .
|
|
COPY cfg/ cfg/
|
|
ENTRYPOINT ["./entrypoint.sh"]
|
|
CMD ["install"]
|
|
|
|
|
|
# Build-time metadata as defined at http://label-schema.org
|
|
ARG BUILD_DATE
|
|
ARG VCS_REF
|
|
LABEL org.label-schema.build-date=$BUILD_DATE \
|
|
org.label-schema.name="kube-bench" \
|
|
org.label-schema.description="Run the CIS Kubernetes Benchmark tests" \
|
|
org.label-schema.url="https://github.com/aquasecurity/kube-bench" \
|
|
org.label-schema.vcs-ref=$VCS_REF \
|
|
org.label-schema.vcs-url="https://github.com/aquasecurity/kube-bench" \
|
|
org.label-schema.schema-version="1.0"
|