LabHub

CKS — 쿠버네티스 보안 전문가 · 클러스터 하드닝 · 퀴즈

퀴즈: 클러스터 하드닝

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. RBAC 은 기본적으로 권한 상승을 막는다. 이 보호를 명시적으로 우회할 수 있는 동사 조합은?

    1. escalate, bind, impersonate
    2. get, list, watch
    3. create, update, patch
    4. delete, deletecollection, proxy
  2. 파드 스펙에 automountServiceAccountToken: false 를 넣고, 그 파드가 쓰는 ServiceAccount 에는 true 가 설정돼 있다. 결과는?

    1. 토큰이 마운트된다 (ServiceAccount 설정이 우선)
    2. 토큰이 마운트되지 않는다 (파드 설정이 우선)
    3. API 서버가 충돌로 파드 생성을 거부한다
    4. kubelet 이 두 위치에 모두 마운트한다
  3. `system:masters` 그룹이 특별히 위험한 이유는?

    1. kube-system 네임스페이스만 접근할 수 있어 감사가 어렵다
    2. RBAC 인가 검사를 통째로 우회한다
    3. 감사 로그에 기록되지 않는다
    4. 토큰 만료가 24시간으로 고정된다
  4. 특정 ServiceAccount 가 실제로 무엇을 할 수 있는지 API 서버에 직접 물어보는 방법은?

    1. kubectl describe serviceaccount 로 바인딩 목록을 본다
    2. kubectl get rolebinding -A 로 전수 조사한다
    3. 감사 로그에서 해당 SA 의 과거 요청을 검색한다
    4. kubectl auth can-i <동사> <리소스> --as=system:serviceaccount:<ns>:<이름>
  5. 수동으로 만든 kubernetes.io/service-account-token 타입 Secret 이 TokenRequest 방식보다 위험한 가장 큰 이유는?

    1. 만료가 없어 한 번 유출되면 영구히 유효하다
    2. base64 로만 인코딩되어 평문이나 다름없다
    3. 네임스페이스를 넘어 사용할 수 있다
    4. kubelet 이 자동으로 로테이션하지 않는다
  6. ValidatingWebhook 이 failurePolicy: Fail 로 등록돼 있고 웹훅 서버 파드가 전부 죽었다. 무슨 일이 일어나는가?

    1. 웹훅 규칙에 매칭되는 리소스의 생성·수정이 전부 거부된다
    2. 정책 검증만 건너뛰고 요청은 정상 처리된다
    3. API 서버가 자동으로 failurePolicy 를 Ignore 로 낮춘다
    4. 해당 네임스페이스만 읽기 전용으로 전환된다