# AWS - EMR Enum

{{#include ../../../banners/hacktricks-training.md}}

## 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用の2つの暗号化オプションを提供します：
- セキュアHadoop RPC（リモートプロシージャコール）、プライバシーに設定され、Simple Authentication Security Layerを活用します。
- HDFSブロック転送暗号化、trueに設定され、AES-256アルゴリズムを利用します。
- **転送中の暗号化**：転送中のデータを保護することに焦点を当てています。オプションには以下が含まれます：
- **オープンソースTransport Layer Security (TLS)**：証明書提供者を選択することで暗号化を有効にできます：
- **PEM**：PEM証明書を手動で作成し、zipファイルにバンドルしてS3バケットから参照する必要があります。
- **カスタム**：暗号化アーティファクトを提供する証明書提供者としてカスタムJavaクラスを追加します。

TLS証明書提供者がセキュリティ構成に統合されると、EMRバージョンに応じて以下のアプリケーション固有の暗号化機能を有効にできます：

- **Hadoop**：
- TLSを使用して暗号化されたシャッフルを減少させる可能性があります。
- 静止データ暗号化が有効な場合、Simple Authentication Security Layerを使用したセキュアHadoop RPCと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
```bash
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
```
#### プライバシー昇格

{{#ref}}
../aws-privilege-escalation/aws-emr-privesc/README.md
{{#endref}}

## 参考文献

- [https://cloudacademy.com/course/domain-three-designing-secure-applications-and-architectures/elastic-mapreduce-emr-encryption-1/](https://cloudacademy.com/course/domain-three-designing-secure-applications-and-architectures/elastic-mapreduce-emr-encryption-1/)

{{#include ../../../banners/hacktricks-training.md}}
