# AWS - EMR Enum

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

## EMR

AWS-ova Elastic MapReduce (EMR) usluga, počevši od verzije 4.8.0, uvela je **konfiguraciju bezbednosti** koja poboljšava zaštitu podataka omogućavajući korisnicima da odrede podešavanja enkripcije za podatke u mirovanju i u tranzitu unutar EMR klastera, koji su skalabilne grupe EC2 instanci dizajnirane za obradu velikih podataka kao što su Apache Hadoop i Spark.

Ključne karakteristike uključuju:

- **Podrazumevana enkripcija klastera**: Po defaultu, podaci u mirovanju unutar klastera nisu enkriptovani. Međutim, omogućavanje enkripcije pruža pristup nekoliko funkcija:
- **Linux Unified Key Setup**: Enkriptuje EBS klaster volumene. Korisnici mogu izabrati AWS Key Management Service (KMS) ili prilagođenog provajdera ključeva.
- **Open-Source HDFS Enkripcija**: Nudi dve opcije enkripcije za Hadoop:
- Siguran Hadoop RPC (Remote Procedure Call), postavljen na privatnost, koristeći Simple Authentication Security Layer.
- HDFS Block transfer enkripcija, postavljena na true, koristi AES-256 algoritam.
- **Enkripcija u tranzitu**: Fokusira se na zaštitu podataka tokom prenosa. Opcije uključuju:
- **Open Source Transport Layer Security (TLS)**: Enkripcija se može omogućiti izborom provajdera sertifikata:
- **PEM**: Zahteva ručno kreiranje i pakovanje PEM sertifikata u zip datoteku, referenciranu iz S3 bucket-a.
- **Prilagođeno**: Uključuje dodavanje prilagođene Java klase kao provajdera sertifikata koji obezbeđuje enkripcijske artefakte.

Jednom kada je provajder TLS sertifikata integrisan u konfiguraciju bezbednosti, sledeće funkcije enkripcije specifične za aplikaciju mogu biti aktivirane, u zavisnosti od verzije EMR:

- **Hadoop**:
- Može smanjiti enkriptovani shuffle koristeći TLS.
- Siguran Hadoop RPC sa Simple Authentication Security Layer i HDFS Block Transfer sa AES-256 su aktivirani sa enkripcijom u mirovanju.
- **Presto** (EMR verzija 5.6.0+):
- Interna komunikacija između Presto čvorova je zaštićena koristeći SSL i TLS.
- **Tez Shuffle Handler**:
- Koristi TLS za enkripciju.
- **Spark**:
- Koristi TLS za Akka protokol.
- Koristi Simple Authentication Security Layer i 3DES za Block Transfer Service.
- Spoljašnja shuffle usluga je zaštićena sa Simple Authentication Security Layer.

Ove funkcije zajedno poboljšavaju bezbednosni položaj EMR klastera, posebno u vezi sa zaštitom podataka tokom faza skladištenja i prenosa.

#### 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
```
#### Privesc

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

## References

- [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}}
