Certified Kubernetes Administration - 44

2024-06-22

  • Kubernetes
  • Cloud

Kubernetes 보안 기본 요소

클러스터 호스트 보안

  • 호스트에 대한 모든 접근은 반드시 보안되어야 합니다.

  • 루트 접근 비활성화.

  • 비밀번호 기반 인증 비활성화.

  • SSH 키 기반 인증만 허용.

  • 클러스터를 호스팅하는 물리적 또는 가상 인프라의 추가 보안 조치 필요.

  • 인프라가 손상되면 모든 것이 손상될 수 있습니다.

Kubernetes 관련 보안

  • Kubernetes 클러스터 보안의 핵심은 kube-apiserver입니다.

  • kube-apiserver는 클러스터 내 모든 작업의 중심입니다.

  • kubectl 유틸리티나 API 직접 접근을 통해 kube-apiserver와 상호작용하며 클러스터 내 거의 모든 작업을 수행할 수 있습니다.

API 서버 접근 제어

  • 첫 번째 방어선은 API 서버에 대한 접근 제어입니다.

  • 두 가지 결정을 내려야 합니다:

    1. 누가 클러스터에 접근할 수 있는가?: 인증 메커니즘
    2. 접근한 사용자가 무엇을 할 수 있는가?: 권한 부여 메커니즘

인증 메커니즘

  • API 서버에 인증할 수 있는 여러 가지 방법이 있습니다:

    • 정적 파일에 저장된 사용자 ID 및 비밀번호.

    • 토큰.

    • 인증서.

    • LDAP와 같은 외부 인증 제공자와의 통합.

    • 기계용 서비스 계정.

권한 부여 메커니즘

  • 클러스터에 접근한 사용자가 할 수 있는 작업은 권한 부여 메커니즘에 의해 정의됩니다:

    • 역할 기반 접근 제어 (RBAC): 사용자들을 특정 권한을 가진 그룹과 연관시킵니다.

    • 속성 기반 접근 제어 (ABAC), 노드 인증자, 웹훅 등 다른 권한 부여 모듈도 존재합니다.

클러스터 내 통신 보안

  • 클러스터 내 모든 통신은 TLS 암호화를 사용하여 보안 처리됩니다.

    • ETCD 클러스터, kube-controller-manager, scheduler, API server 등의 컴포넌트 간 통신.

    • 워커 노드의 Kubeletkube-proxy와의 통신.

클러스터 내 애플리케이션 간 통신

  • 기본적으로 모든 파드는 클러스터 내 다른 모든 파드에 접근할 수 있습니다.

  • 네트워크 정책을 사용하여 파드 간 접근을 제한할 수 있습니다.

요약

  • 클러스터 호스트 보안, API 서버 접근 제어, 클러스터 내 통신 보안, 애플리케이션 간 통신 보안 등의 다양한 보안 요소를 이해해야 합니다.

Certified ...

Certified ...