AWS - EMR Enum

Support HackTricks

EMR

AWS의 Elastic MapReduce (EMR) 서비스는 버전 4.8.0부터 데이터 보호를 강화하는 보안 구성 기능을 도입하여 사용자가 EMR 클러스터 내에서 데이터의 저장 및 전송 시 암호화 설정을 지정할 수 있게 했습니다. EMR 클러스터는 Apache Hadoop 및 Spark와 같은 빅 데이터 프레임워크를 처리하도록 설계된 확장 가능한 EC2 인스턴스 그룹입니다.

주요 특징은 다음과 같습니다:

  • 클러스터 암호화 기본값: 기본적으로 클러스터 내의 데이터는 암호화되지 않습니다. 그러나 암호화를 활성화하면 여러 기능에 액세스할 수 있습니다:

  • Linux Unified Key Setup: EBS 클러스터 볼륨을 암호화합니다. 사용자는 AWS Key Management Service (KMS) 또는 사용자 정의 키 제공자를 선택할 수 있습니다.

  • 오픈 소스 HDFS 암호화: Hadoop에 대해 두 가지 암호화 옵션을 제공합니다:

  • Secure Hadoop RPC (Remote Procedure Call), Simple Authentication Security Layer를 활용하여 프라이버시로 설정됩니다.

  • HDFS 블록 전송 암호화, true로 설정되며 AES-256 알고리즘을 사용합니다.

  • 전송 중 암호화: 데이터 전송 중 보안을 강화합니다. 옵션은 다음과 같습니다:

  • 오픈 소스 Transport Layer Security (TLS): 암호화는 인증서 제공자를 선택하여 활성화할 수 있습니다:

  • PEM: PEM 인증서를 수동으로 생성하고 zip 파일로 번들링하여 S3 버킷에서 참조해야 합니다.

  • Custom: 사용자 정의 Java 클래스를 인증서 제공자로 추가하여 암호화 아티팩트를 제공합니다.

TLS 인증서 제공자가 보안 구성에 통합되면 EMR 버전에 따라 다음과 같은 애플리케이션별 암호화 기능을 활성화할 수 있습니다:

  • Hadoop:

  • TLS를 사용하여 암호화된 셔플을 줄일 수 있습니다.

  • Simple Authentication Security Layer와 AES-256을 사용한 HDFS 블록 전송과 함께 저장 시 암호화가 활성화됩니다.

  • Presto (EMR 버전 5.6.0+):

  • Presto 노드 간의 내부 통신은 SSL 및 TLS를 사용하여 보안이 유지됩니다.

  • Tez Shuffle Handler:

  • TLS를 사용하여 암호화합니다.

  • Spark:

  • Akka 프로토콜에 TLS를 사용합니다.

  • Simple Authentication Security Layer와 3DES를 사용하여 블록 전송 서비스를 제공합니다.

  • 외부 셔플 서비스는 Simple Authentication Security Layer로 보안이 유지됩니다.

이러한 기능은 특히 저장 및 전송 단계에서 데이터 보호와 관련하여 EMR 클러스터의 보안 태세를 향상시킵니다.

Enumeration

aws emr list-clusters
aws emr describe-cluster --cluster-id <id>
aws emr list-instances --cluster-id <id>
aws emr list-instance-fleets --cluster-id <id>
aws emr list-steps --cluster-id <id>
aws emr list-notebook-executions
aws emr list-security-configurations
aws emr list-studios #Get studio URLs

Privesc

AWS - EMR Privesc

References

HackTricks 지원하기

Last updated