View a markdown version of this page

EKS Auto Mode - 보안 - Amazon EKS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EKS Auto Mode - 보안

작은 정보

Amazon EKS 워크숍을 통해 모범 사례를 살펴봅니다.

Amazon EKS Auto Mode는 작업자 노드와 코어 클러스터 구성 요소를 포함하도록 AWS의 보안 관리를 컨트롤 플레인 이상으로 확장하여 향상된 보안 기능을 도입합니다. 이 포괄적인 보안 모델은 조직이 강력한 보안 태세를 유지하면서 운영 오버헤드를 줄이는 데 도움이 됩니다.

공동 책임 모델 - EKS Auto Mode

공동 책임 모델 - Amazon EKS Auto Mode

EKS Auto Mode의 주요 보안 개선 사항은 다음과 같습니다.

  • 공격 표면이 감소하여 컨테이너 최적화 OS 최소화

  • EC2 관리형 인스턴스를 통한 보안 모범 사례 적용

  • 필수 노드 교체를 통한 자동화된 보안 패치 관리

  • 기본 제공 노드 격리 및 보안 경계

  • 최소한의 필수 권한으로 간소화된 IAM 통합

EKS Auto Mode는 기본적으로 이러한 보안 제어를 적용하므로 조직이 보안 및 규정 준수 요구 사항을 충족하는 동시에 클러스터 작업을 간소화할 수 있습니다. 이 접근 방식은 defense-in-depth 원칙에 부합하여 인프라, 노드 및 워크로드 수준에서 여러 계층의 보안 제어를 제공합니다.

중요

EKS Auto Mode는 향상된 보안 기능을 제공하지만 조직은 여전히 애플리케이션 계층에서 적절한 보안 제어를 구현하고 클러스터에서 실행되는 워크로드에 대한 보안 모범 사례를 따라야 합니다.

보안 아키텍처

EKS Auto Mode는 컨트롤 플레인에서 개별 노드에 이르기까지 EKS 인프라의 여러 계층에 걸쳐 보안 제어를 구현합니다. 이 아키텍처를 이해하는 것은 EKS 클러스터를 효과적으로 관리하고 보호하는 데 매우 중요합니다.

컨트롤 플레인 보안

EKS Auto Mode의 EKS 컨트롤 플레인은 새로운 보안 기능을 추가하면서 기존 EKS 클러스터와 동일한 높은 보안 표준을 유지합니다.

  • 봉투 암호화: 모든 Kubernetes API 데이터는 봉투 암호화를 사용하여 자동으로 암호화됩니다.

  • KMS 통합: AWS 소유 키 또는 고객 관리형 키(CMK) 옵션과 함께 Kubernetes KMS 공급자 v2와 함께 AWS KMS를 사용합니다.

  • 향상된 구성 요소 관리: Auto Scaling, ENI 관리 및 EBS 컨트롤러와 같은 중요한 구성 요소는 클러스터 외부로 이동하여 AWS에서 관리합니다.

  • 보안 제어 및 감사 기능 개선: 표준 EKS 클러스터 이외의 EKS Auto Mode 필수 권한은 개별 노드 역할이 아닌 클러스터 IAM 역할을 통해 완전히 관리됩니다.

IAM 통합 및 액세스 관리

EKS Auto Mode는 EKS 액세스 항목 및 EKS Pod Identity를 통해 AWS Identity and Access Management(IAM)와의 향상된 통합을 제공합니다.

클러스터 액세스 관리

EKS Auto Mode는 클러스터 액세스 관리(CAM) API를 통해 클러스터 액세스 관리를 개선했습니다.

  • 를 통한 표준화된 인증 모드 EKS_API

  • API 기반 액세스 관리를 통한 보안 강화

  • 액세스 항목 및 액세스 정책을 사용한 간소화된 액세스 제어

클러스터 액세스를 관리하기 위해 액세스 항목을 생성할 수 있습니다.

aws eks create-access-entry \ --cluster-name ${EKS_CLUSTER_NAME} \ --principal-arn arn:aws:iam::${ACCOUNT_ID}:role/${IAM_ROLE_NAME} \ --type STANDARD
중요

CONFIG_MAP_AND_API 인증 모드로 EKS Auto Mode 클러스터를 생성하는 것은 여전히 가능하지만 이는 표준 접근 방식이 아니며 새 클러스터에 기본 API 인증 모드를 사용하는 것이 좋습니다. API 기반 인증은 레거시 ConfigMap 기반 접근 방식에 비해 향상된 보안과 간소화된 액세스 관리를 제공합니다.

EKS Pod Identity

EKS Auto Mode에는 Pod Identity Agent가 이미 배포되어 있으므로 포드에 AWS IAM 권한을 부여하는 간소화된 방법이 가능합니다.

  • OIDC 공급자 구성 없이 간소화된 IAM 권한 관리

  • IRSA에 비해 운영 오버헤드 감소

  • 세션 태그 지정 및 ABAC 지원을 통한 보안 강화

aws eks create-pod-identity-association \ --cluster-name ${EKS_CLUSTER_NAME} \ --role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${IAM_ROLE_NAME} \ --namespace ${NAMESPACE} \ --service-account ${SERVICE_ACCOUNT_NAME}
중요

포드 자격 증명은 IRSA에 비해 향상된 보안 기능과 간소화된 관리를 제공하므로 EKS Auto Mode에서 IAM 권한에 권장되는 접근 방식입니다.

노드 IAM 역할

EKS Auto Mode는 EKS Auto Mode 노드가 작동하는 데 필요한 권한만 AmazonEKSWorkerNodeMinimalPolicy 제공하는 새를 사용합니다. 이러한 권한은 다음과 같습니다.

  • 기존 노드 정책에 비해 감소된 권한 세트 제공

  • 최소 권한 원칙 준수

  • AWS에서 자동으로 관리 및 업데이트

이 최소 정책 접근 방식은 노드와 해당 워크로드에 사용할 수 있는 권한을 제한하여 보안 태세를 개선하는 데 도움이 됩니다.

노드 보안

EKS Auto Mode는 노드 수준에서 몇 가지 중요한 보안 개선을 도입합니다.

EC2 관리형 인스턴스 보안

EKS Auto Mode 노드는 향상된 보안 속성과 함께 Amazon EC2 관리형 인스턴스를 사용합니다.

  • AWS의 노드 운영 능력을 손상시킬 수 있는 작업을 방지하는 IAM 적용 제한

  • 구성 변경에 노드 교체가 필요한 변경 불가능한 인프라 패턴

  • 정기적인 보안 업데이트를 보장하기 위해 21일 이내에 노드 교체 필수

  • 홉 제한이 제어된 IMDSv2를 사용하여 인스턴스 메타데이터에 대한 액세스 제한

운영 체제 보안

운영 체제는 EKS Auto Mode에 최적화된 Bottlerocket의 사용자 지정 변형으로, 다음을 포함합니다.

  • 읽기 전용 루트 파일 시스템

  • SELinux는 필수 액세스 제어를 통해 기본적으로 활성화됨

  • 고유한 SELinux MCS 레이블을 사용한 자동 포드 격리

  • SSH 액세스 및 불필요한 서비스 제거 비활성화

  • 노드 교체를 통한 자동 보안 패치

노드 구성 요소 보안

노드 구성 요소는 보안 모범 사례로 구성됩니다.

  • 보안 기본값으로 구성된 Kubelet

  • 컨테이너 런타임 강화 구성

  • 자동화된 인증서 관리 및 교체

  • 제한된 node-to-control-plane 통신

네트워크 보안

EKS Auto Mode는 클러스터 내부 및 외부 리소스와의 보안 통신을 보장하기 위해 여러 네트워크 보안 기능을 구현합니다.

VPC CNI 네트워크 정책

EKS Auto Mode는 Amazon VPC CNI 플러그인의 기본 Kubernetes 네트워크 정책 지원을 활용합니다.

  • 업스트림 Kubernetes 네트워크 정책 API와 통합

  • pod-to-pod

  • 수신 및 송신 규칙 모두 지원

EKS Auto Mode에서 네트워크 정책 지원을 활성화하려면 configMap 매니페스트를 사용하여 VPC CNI 추가 기능을 구성해야 합니다. 다음 예를 참고하세요

apiVersion: v1 kind: ConfigMap metadata: name: amazon-vpc-cni namespace: kube-system data: enable-network-policy: "true"

또한 다음과 같이 노드 클래스에서 네트워크 정책 지원이 구성되어 있음을 정의해야 합니다.

apiVersion: eks.amazonaws.com/v1 kind: NodeClass metadata: name: example-node-class spec: networkPolicy: DefaultAllow networkPolicyEventLogs: Enabled

활성화되면 트래픽을 제어하는 네트워크 정책을 생성할 수 있습니다.

apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny spec: podSelector: {} policyTypes: - Ingress - Egress

향상된 ENI 관리

EKS Auto Mode는 탄력적 네트워크 인터페이스(ENI) 관리를 위한 향상된 보안을 제공합니다.

  • AWS 관리형 ENI 연결 및 구성

  • 데이터 트래픽에서 제어 트래픽 분리

  • 노드에 필요한 권한이 감소된 자동화된 IP 주소 관리

스토리지 보안

EKS Auto Mode는 임시 스토리지와 영구 스토리지 모두에 향상된 보안 기능을 제공합니다.

임시 스토리지

  • 임시 볼륨에 기록된 모든 데이터는 자동으로 암호화됩니다.

  • 업계 표준 AES-256 암호화 알고리즘 사용

  • 서비스에서 원활하게 처리되는 암호화 및 복호화

EBS 볼륨

  • 루트 및 데이터 EBS 볼륨은 항상 암호화됩니다.

  • 볼륨은 인스턴스 종료 시 삭제되도록 구성됩니다.

  • 암호화를 위한 사용자 지정 KMS 키를 지정하는 옵션이 있습니다.

EFS 통합

  • EFS를 사용한 전송 중 암호화 지원

  • EFS 파일 시스템의 저장 시 자동 암호화

  • 향상된 액세스 제어를 위해 EFS 액세스 포인트와 통합

중요

EFS를 EKS Auto Mode와 함께 사용하는 경우 EKS Auto Mode가 EFS 암호화를 직접 관리하지 않으므로 EFS 파일 시스템 수준에서 적절한 암호화 설정이 구성되어 있는지 확인합니다.

모니터링 및 로깅

EKS Auto Mode는 클러스터의 보안 태세 및 운영 상태에 대한 가시성을 유지하는 데 도움이 되는 향상된 모니터링 및 로깅 기능을 제공합니다.

제어 플레인 로깅

EKS Auto Mode는 표준 EKS와 동일한 컨트롤 플레인 로깅 기능을 유지하지만 향상된 모니터링을 위해 기본적으로 모든 로그를 활성화합니다.

  • 로그는 Amazon CloudWatch Logs로 전송됩니다.

  • 기본적으로 EKS Auto Mode는 API 서버, 감사, 인증자, 컨트롤러 관리자 및 스케줄러와 같은 모든 컨트롤 플레인 로그를 활성화합니다.

  • EKS Auto Mode를 사용하면 클러스터 작업 및 보안 이벤트를 자세히 파악할 수 있습니다.

중요

컨트롤 플레인 로깅에는 CloudWatch의 로그 스토리지에 대한 추가 비용이 발생합니다. 로깅 전략을 신중하게 고려하여 보안 요구 사항과 비용 관리의 균형을 맞춥니다.

노드 수준 로깅

EKS Auto Mode는 노드 수준 로깅을 개선합니다.

  • 시스템 로그는 자동으로 수집되며 CloudWatch Logs를 통해 액세스할 수 있습니다.

  • 노드 로그는 노드 종료 후에도 유지되므로 인시던트 후 분석에 도움이 됩니다.

  • 노드 수준 보안 이벤트 및 운영 문제에 대한 가시성 향상

Amazon GuardDuty 통합

EKS Auto Mode 클러스터는 향상된 위협 탐지를 위해 Amazon GuardDuty와 원활하게 통합됩니다. 기능은 다음과 같습니다.

  • 컨트롤 플레인 감사 로그 자동 스캔

  • 워크로드 모니터링에 대해 활성화할 수 있는 런타임 모니터링

  • 기존 GuardDuty 조사 결과 및 알림 메커니즘과 통합

Amazon GuardDuty for Kubernetes 감사 로그에서 EKS Auto Mode 보호를 활성화하려면 다음 명령을 실행할 수 있습니다.

aws guardduty update-detector \ --detector-id 12abc34d567e8fa901bc2d34e56789f0 \ --data-sources '{"Kubernetes":{"AuditLogs":{"Enable":true}}}'

런타임 보안을 위한 Amazon GuardDuty 통합

Amazon GuardDuty는 EKS Auto Mode 클러스터에 대한 필수 런타임 보안 모니터링을 제공하여 포괄적인 위협 탐지 및 보안 모니터링 기능을 제공합니다. 이 통합은 잠재적 보안 위협과 악의적인 활동을 실시간으로 식별하는 데 도움이 되므로 특히 중요합니다.

EKS Auto Mode의 주요 GuardDuty 기능
  • 런타임 모니터링:

    • 런타임 동작의 지속적인 모니터링

    • 악의적이거나 의심스러운 활동 탐지

    • 잠재적 컨테이너 이스케이프 시도 식별

    • 비정상적인 프로세스 실행 또는 네트워크 연결 모니터링

  • Kubernetes별 위협 탐지:

    • 의심스러운 포드 배포 시도 식별

    • 손상된 컨테이너 감지

    • 권한 있는 컨테이너 시작 모니터링

    • 의심스러운 서비스 계정 사용 식별

  • 포괄적인 결과 유형:

    • 정책: Kubernetes/* - 보안 모범 사례 위반을 감지합니다.

    • 영향: Kubernetes/* - 잠재적으로 영향을 받는 리소스 식별

    • Discovery:Kubernetes/* - 정찰 활동을 탐지합니다.

    • 실행: Kubernetes/* - 의심스러운 실행 패턴 식별

    • 지속성: Kubernetes/* - 잠재적 영구 위협을 탐지합니다.

Amazon GuardDuty for Kubernetes 감사 로그 및 런타임 모니터링에서 EKS Auto Mode 보호를 활성화하려면 다음 명령을 실행할 수 있습니다.

aws guardduty update-detector \ --detector-id 12abc34d567e8fa901bc2d34e56789f0 \ --data-sources '{ "Kubernetes": { "AuditLogs": {"Enable": true}, "RuntimeMonitoring": {"Enable": true} } }'
중요

GuardDuty 런타임 모니터링은 EKS Auto Mode 클러스터에서 자동으로 지원되므로 노드 수준에서 추가 구성 없이 향상된 보안 가시성을 제공합니다.

GuardDuty 결과 통합

GuardDuty 조사 결과는 자동 응답을 위해 다른 AWS 서비스와 통합할 수 있습니다.

  • EventBridge 규칙:

{
  "source": ["aws.guardduty"],
  "detail-type": ["GuardDuty Finding"],
  "detail": {
    "type": ["Runtime:Container/*", "Runtime:Kubernetes/*"],
    "severity": [4, 5, 6, 7, 8]
  }
}
  • Security Hub 통합:

# Enable Security Hub integration
aws securityhub enable-security-hub \
    --enable-default-standards \
    --tags '{"Environment":"Production"}' \
    --region us-west-2
EKS Auto Mode를 사용하는 GuardDuty 모범 사례
  1. 모든 결과 유형 활성화:

    • Kubernetes 감사 로그 모니터링 및 런타임 모니터링 모두 활성화

    • 모든 심각도 수준에 대한 조사 결과 구성

  2. 자동 응답 구현:

    • 심각도가 높은 조사 결과에 대한 EventBridge 규칙 생성

    • 중앙 집중식 보안 관리를 위해 AWS Security Hub와 통합

    • 적절한 경우 자동 문제 해결 작업 설정

  3. 정규 검토 및 튜닝:

    • GuardDuty 조사 결과를 정기적으로 검토

    • 환경에 따라 탐지 임계값 조정

    • 새 결과 유형에 따라 응답 절차 업데이트

  4. 교차 계정 관리:

    • 중앙 집중식 관리를 위해 GuardDuty 관리자 계정 사용 고려

    • 여러 계정에서 조사 결과 집계 활성화

주의

GuardDuty는 포괄적인 보안 모니터링을 제공하지만 네트워크 정책, 포드 보안 표준 및 적절한 RBAC 구성과 같은 다른 보안 제어를 포함하는 defense-in-depth 전략의 일부여야 합니다.

자주 묻는 질문(FAQ)

Q: 보안 측면에서 EKS Auto Mode는 표준 EKS와 어떻게 다릅니까? A: EKS Auto Mode는 EC2 관리형 인스턴스, 자동 패치 적용, 필수 노드 교체 및 내장 보안 제어를 통해 향상된 보안을 제공합니다. AWS가 더 많은 보안 측면을 관리하도록 하여 강력한 보안 태세를 유지하면서 운영 오버헤드를 줄입니다.

Q: EKS Auto Mode에서 기존 보안 도구 및 정책을 계속 사용할 수 있나요? A: 예, EKS Auto Mode는 대부분의 기존 보안 도구 및 정책과 호환됩니다. 그러나 일부 노드 수준 보안 도구는 EKS Auto Mode 노드의 관리형 특성으로 인해 적응이 필요할 수 있습니다.

Q: EKS Auto Mode에서 보안 에이전트 및 모니터링 도구를 배포하려면 어떻게 해야 하나요? A: EKS Auto Mode에서는 보안 에이전트 및 모니터링 도구를 노드 OS에 직접 설치하지 않고 Kubernetes 워크로드(일반적으로 모든 노드에 기본적으로 포드의 인스턴스 하나를 배포하는 DaemonSets)로 배포해야 합니다. 이 접근 방식은 EKS Auto Mode의 변경 불가능한 인프라 모델과 일치합니다. 예제:

apiVersion: apps/v1 kind: DaemonSet metadata: name: security-agent namespace: security spec: selector: matchLabels: app: security-agent template: metadata: labels: app: security-agent spec: containers: - name: security-agent image: security-vendor/agent:latest securityContext: privileged: false # Use specific capabilities instead of privileged mode capabilities: add: ["NET_ADMIN", "SYS_ADMIN"]

Q: 타사 보안 솔루션이 EKS Auto Mode와 호환되나요? A: 널리 사용되는 여러 타사 보안 솔루션이 EKS Auto Mode를 지원하도록 업데이트되었지만 EKS Auto Mode를 지원하려면 업데이트된 버전 또는 특정 배포 구성이 필요할 수 있으므로 항상 보안 공급업체에 특정 버전 및 배포 요구 사항을 확인하는 것이 좋습니다.

Q: EKS Auto Mode에서 보안 에이전트의 제한 사항은 무엇입니까? A: 주요 제한 사항은 다음과 같습니다.

  • 노드의 운영 체제를 수정할 수 있는 직접 액세스 권한 없음

  • 노드 교체 간 지속성 없음

  • 컨테이너 기반 배포와 호환되어야 합니다.

  • 노드 불변성을 준수해야 함

  • 다른 권한 구성이 필요할 수 있습니다.

  • 노드에 대한 모든 지속적인 변경은 NodePoolsNodeClasses 리소스를 통해 수행해야 합니다.

참고

EKS Auto Mode는 보안 도구 배포 전략을 조정해야 할 수 있지만 이러한 변경으로 인해 클라우드 네이티브 모범 사례에 맞는 보다 유지 관리 가능하고 안전한 구성이 발생하는 경우가 많습니다. EKS Auto Mode는 관리하는 대부분의 기능을 완전히 맡을 것으로 예상합니다. 따라서 이러한 기능에 대한 수동 변경 사항을 가져올 수 있는 경우 EKS Auto Mode에서 이를 덮어쓰거나 삭제할 수 있습니다.

Q: EKS Auto Mode에서 사용자 지정 AMIs 사용할 수 있나요? A: 현재 EKS Auto Mode는 사용자 지정 AMIs 지원하지 않습니다. 이는 AWS가 공동 책임 모델의 일부로 노드의 보안, 패치 적용 및 유지 관리를 관리하므로 설계된 것입니다. EKS Auto Mode 노드는 AWS에서 최적화하고 유지 관리하는 Bottlerocket의 특수 변형을 사용합니다.

Q: EKS Auto Mode에서 노드는 얼마나 자주 자동으로 교체되나요? A: EKS Auto Mode의 노드 수명은 최대 21일입니다. 이 제한 전에 자동으로 교체되므로 정기적인 보안 업데이트 및 패치 애플리케이션이 보장됩니다.

Q: 문제 해결을 위해 EKS Auto Mode 노드로 SSH할 수 있습니까? A: 아니요, EKS Auto Mode에서는 직접 SSH 액세스를 사용할 수 없습니다. 대신 NodeDiagnostic Custom Resource Definition(CRD)을 사용하여 시스템 로그를 수집하고 정보를 디버깅할 수 있습니다.

Q: EKS Auto Mode에서 네트워크 정책 지원이 기본적으로 활성화되어 있나요? A: 지금은 VPC CNI 추가 기능 구성을 통해 네트워크 정책 지원을 명시적으로 활성화해야 합니다. 활성화되면 표준 Kubernetes 네트워크 정책을 사용할 수 있습니다.

Q: EKS Auto Mode에서 IRSA 또는 Pod Identity를 사용해야 합니까? A: 둘 다 지원되지만 포드 ID는 이미 포드 ID 보안 에이전트 추가 기능을 포함하고 향상된 보안 기능과 간소화된 관리를 제공하므로 EKS Auto Mode에서 권장되는 접근 방식입니다.

Q: EKS Auto Mode에서 aws-auth ConfigMap을 계속 사용할 수 있나요? A: aws-auth ConfigMap은 더 이상 사용되지 않는 기능입니다. 보안을 강화하고 액세스 관리를 간소화하려면 API 기반 인증의 기본 접근 방식을 사용하는 것이 좋습니다.

Q: EKS Auto Mode에서 보안 이벤트를 모니터링하려면 어떻게 해야 하나요? A: EKS Auto Mode는 GuardDuty, CloudWatch 및 CloudTrail을 포함한 여러 모니터링 솔루션과 통합됩니다. GuardDuty는 특히 EKS 워크로드를 위한 향상된 런타임 보안 모니터링을 제공합니다.

Q: EKS Auto Mode 노드에서 로그를 수집하려면 어떻게 해야 합니까? A: 로그를 S3 버킷에 자동으로 업로드하는 NodeDiagnostic CRD를 사용합니다. CloudWatch Container Insights 및 AWS Distro for OpenTelemetry를 사용할 수도 있습니다.

참고

이 FAQ 섹션은 새로운 기능이 EKS Auto Mode에 추가되고 고객으로부터 일반적인 질문을 받으면 정기적으로 업데이트됩니다.