-
Kube-bench 정리 및 사용 예시K8S 2023. 12. 29. 15:41
Kube-bench란?
Kube-bench는 쿠버네티스 클러스터의 보안을 평가하는 도구다.
이 도구는 CIS Kubernetes Benchmark에서 권장하는 베스트 프랙티스에 따라 클러스터의 구성을 검사하고 평가한다.
이를 통해 쿠버네티스 클러스터의 보안 수준을 진단하고, 잠재적인 취약점을 식별할 수 있다.
Kube-bench는 쿠버네티스 컴포넌트(예: API 서버, etcd, kubelet 등)의 구성을 자동으로 검사하여, CIS Kubernetes Benchmark의 권장사항과 비교한다.
사용 예시 - 마스터 노드 보안 검사 실행하기
마스터 노드에서 다음 커맨드를 실행해본다.
kube-bench run --targets master
kube-bench run --targets master 명령어는 kube-bench 도구를 사용하여 쿠버네티스 클러스터의 마스터 노드에 특화된 보안 검사를 실행하는 데 사용된다.
위 명령어는 다음과 같은 순서로 동작한다.
1) 명령어 실행클러스터의 마스터 노드에서 kube-bench run --targets master 명령어를 실행한다.
이 명령은 마스터 노드의 보안 구성을 CIS Kubernetes Benchmark에 근거하여 평가한다.
2) 검사 수행kube-bench는 API 서버, 컨트롤러 매니저, 스케줄러 등 마스터 노드에서 실행되는 주요 컴포넌트들의 구성을 검사한다.
3) 보고서 생성검사가 완료되면, kube-bench는 결과를 보고서 형식으로 제공한다.
이 보고서에는 각 항목의 상태(PASS, FAIL, WARN 등)와 함께 구체적인 정보가 포함된다.
여기서 FAIL이 발생하는 항목은 권장사항을 충족하지 못함을 나타내며 이 부분은 보안 설정을 변경하거나 개선할 필요가 있다.
위 이미지에서 특정 보안 항목에 대해서 확인하려면 다음과 같이 --check 플래그를 주면 된다 .
kube-bench run --targets master --check 1.2.20
여기서는 API 서버에 --profiling=false 플래그를 추가하라고 하는데, 해당 플래그를 추가 후, 다시 확인해보면
다음과 같이 PASS가 나오는 것을 확인할 수 있다.
그러하다.
반응형'K8S' 카테고리의 다른 글
K8S 빠른 CLI 커맨드 정리 (0) 2023.12.29 Kubernetes의 역할 및 바인딩 조합 이해 (0) 2023.12.29 Kubernetes Network Policy 정리 및 예시 (0) 2023.11.26 Nginx를 Istio Gateway로 expose하는 예제 (0) 2023.08.11 Netshoot: 컨테이너 환경에서의 네트워크 디버깅 도구 (0) 2023.08.11