
kube-scan: Octarine k8s 클러스터 위험 평가 도구
오늘 무료 Kubernetes 위험 평가 도구를 사용해 보세요.
언제든지 클러스터에서 실행할 수 있습니다. 데이터는 클러스터를 벗어나지 않습니다. 어떤 정보도 수집하지 않습니다.
Octarine에 대한 자세한 내용은 https://www.octarinesec.com 을 참조하세요.
Kube-Scan은 각 워크로드에 대해 0(위험 없음)부터 10(높은 위험)까지의 위험 점수를 제공합니다. 위험은 각 워크로드의 런타임 구성(현재 20개 이상의 설정)을 기반으로 합니다. 정확한 규칙과 점수 공식은 오픈소스 프레임워크 KCCSS(Kubernetes Common Configuration Scoring System)의 일부입니다.
KCCSS는 업계 표준인 CVSS(Common Vulnerability Scoring System)와 유사하지만, 취약점 대신 구성 및 보안 설정 자체에 초점을 맞춥니다. 취약점은 항상 해롭지만, 구성 설정은 안전하지 않거나, 중립적이거나, 보호 또는 수정에 중요할 수 있습니다. KCCSS는 위험과 수정 조치를 별도의 규칙으로 점수화하며, 사용자가 워크로드의 모든 런타임 설정에 대한 위험을 계산한 다음 워크로드의 총 위험을 계산할 수 있도록 합니다.
참고 kube-scan은 시작 시 클러스터를 스캔하고 24시간마다 다시 스캔합니다. 따라서 최신 위험 점수를 얻으려면(예: 새 앱 설치 후) kube-scan 파드를 다시 시작해야 합니다.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
kubectl port-forward --namespace kube-scan svc/kube-scan-ui 8080:80
그런 다음 브라우저를 http://localhost:8080 으로 설정하세요.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml
그런 다음 다음 명령어로 로드 밸런서 주소를 가져옵니다.
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..ip}
또는
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..hostname}
로드 밸런서 유형에 따라 적절한 명령어를 사용합니다.
그런 다음 브라우저를 해당 주소로 설정하세요.
로드 밸런서 서비스로 kube-scan을 클러스터에 적용한 경우:
"HOST"는 서비스의 외부 IP를 나타냅니다.
포트 포워딩을 사용한 경우:
"HOST"는 "localhost:8080"을 나타냅니다.
클러스터의 모든 위험 가져오기:
GET http://HOST/api/risks
kube-scan 서비스가 위험을 다시 계산하도록 요청(리소스가 변경된 경우):
POST http://HOST/api/refresh
이는 클러스터 크기에 따라 오래 걸릴 수 있으므로, 갱신 작업 상태를 확인할 수 있습니다.
GET http://HOST/api/refreshing_status
서버 이미지 빌드 (루트 폴더에서)
cd server
docker build -t SERVER_TAG_NAME .
docker push SERVER_TAG_NAME
클라이언트 이미지 빌드 (루트 폴더에서)
cd client
docker build -t CLIENT_TAG_NAME .
docker push CLIENT_TAG_NAME
원하는 yaml에 kube-scan 컨테이너 이미지 설정 (루트 폴더에서) kube-scan 컨테이너: SERVER_TAG_NAME kube-scan-ui 컨테이너: CLIENT_TAG_NAME
원하는 yaml을 적용하고 "빠른 시작" 또는 "로드 밸런서 사용" 지침을 따르세요.
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
로드 밸런서를 사용하는 경우:
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml

