반응형
kube-bench는 Kubernetes 클러스터의 보안 설정을 자동으로 검사해주는 오픈소스 도구로, CIS (Center for Internet Security) Benchmarks를 기준으로 클러스터 컴포넌트의 설정을 점검합니다.
🔍 kube-bench 개요
도구 이름 | kube-bench |
제작사 | Aqua Security |
목적 | Kubernetes 클러스터의 보안 설정을 CIS 기준으로 점검 |
기준 문서 | CIS Kubernetes Benchmark |
오픈소스 | GitHub: https://github.com/aquasecurity/kube-bench |
🛡️ 무엇을 검사하나요?
kube-bench는 Kubernetes의 주요 구성요소를 검사합니다:
- API Server
- kubelet
- kube-controller-manager
- kube-scheduler
- etcd
- 노드 구성 (/etc/kubernetes/manifests)
검사항목은 다음과 같은 설정의 존재 및 값을 확인합니다:
--anonymous-auth=false | API 서버에서 익명 인증 비활성화 |
--authorization-mode=RBAC | 권한 제어 방식이 RBAC인지 확인 |
--protect-kernel-defaults=true | kubelet의 커널 보안 설정 여부 |
🚀 실행 방법
1. 실행 환경
- 컨트롤 플레인 노드에서 실행해야 제대로 된 결과를 얻을 수 있습니다.
- kube-bench는 실행 시 노드의 역할을 자동 탐지하여 해당하는 체크리스트만 수행합니다.
2. 실행 명령 (컨트롤 플레인에서)
$ curl -L https://github.com/aquasecurity/kube-bench/releases/latest/download/kube-bench_$(uname -s)_amd64.tar.gz | tar xz
$ ./kube-bench
또는 Kubernetes 클러스터에서 Job으로 실행:
$ kubectl apply -f https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml
📋 결과 예시
[INFO] 1 Master Node Configuration
[PASS] 1.1 Ensure that the API server pod specification file permissions are set to 644 or more restrictive
[FAIL] 1.2 Ensure that the API server pod specification file ownership is set to root:root
[WARN] 1.3 Ensure that the --anonymous-auth argument is set to false
각 항목마다 PASS / FAIL / WARN / INFO 상태로 결과를 보여줍니다.
🔄 커스터마이징
- cfg 폴더에 있는 YAML 파일을 수정하여 클러스터 버전/환경에 맞는 검사 기준을 커스터마이징 할 수 있습니다.
- 예: 클라우드 매니지드 Kubernetes (EKS, GKE 등)는 일부 체크가 불가능하거나 의미 없는 경우가 있음
✅ 요약
목적 | Kubernetes 보안 구성 점검 |
기준 | CIS Kubernetes Benchmark |
실행 위치 | Kubernetes 노드 (특히 마스터 노드) |
결과 | PASS / FAIL / WARN / INFO 형태의 리포트 |
활용 | 보안 점검, 컴플라이언스, 감사 대응 등 |
반응형
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Pod 산정시 도움을 주는 사이트 (0) | 2025.02.10 |
---|---|
[Kubernetes] k9s 유용한 명령어 정리 (0) | 2024.11.12 |
[Kubernetes] Deploy Rolling Update maxSurge 값 조정 (0) | 2024.10.28 |
[Kubernetes] pod 루트 계정 접근 방법 (0) | 2024.10.20 |
[Kubernetes] 컨테이너 자원 할당 정책 (0) | 2024.09.01 |