# AWS - Config Enum

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

## AWS Config

AWS Config **beleži promene resursa**, tako da se svaka promena na resursu koji podržava Config može zabeležiti, što će **zabeležiti šta se promenilo zajedno sa drugim korisnim metapodacima, sve u datoteci poznatoj kao konfiguracijski element**, CI. Ova usluga je **specifična za region**.

Konfiguracijski element ili **CI**, kako se naziva, je ključna komponenta AWS Config-a. Sastoji se od JSON datoteke koja **sadrži informacije o konfiguraciji, informacije o odnosima i druge metapodatke kao trenutni pregled podržanog resursa**. Sve informacije koje AWS Config može zabeležiti za resurs su zabeležene unutar CI. CI se kreira **svaki put** kada se na podržanom resursu izvrši bilo kakva promena u konfiguraciji. Pored beleženja detalja o pogođenom resursu, AWS Config će takođe zabeležiti CIs za sve direktno povezane resurse kako bi se osiguralo da promena nije uticala i na te resurse.

- **Metapodaci**: Sadrži detalje o samom konfiguracijskom elementu. ID verzije i ID konfiguracije, koji jedinstveno identifikuje CI. Druge informacije mogu uključivati MD5Hash koji vam omogućava da uporedite druge CIs već zabeležene za isti resurs.
- **Atributi**: Ovo sadrži zajedničke **informacije o atributima u odnosu na stvarni resurs**. U okviru ovog odeljka, takođe imamo jedinstveni ID resursa i sve ključne oznake koje su povezane sa resursom. Tip resursa je takođe naveden. Na primer, ako je ovo bio CI za EC2 instancu, tipovi resursa koji su navedeni mogli bi biti mrežni interfejs ili elastična IP adresa za tu EC2 instancu.
- **Odnos**: Ovo sadrži informacije o bilo kojem povezanom **odnosu koji resurs može imati**. Tako da bi u ovom odeljku bila prikazana jasna opisna informacija o bilo kojem odnosu sa drugim resursima koje je ovaj resurs imao. Na primer, ako je CI bio za EC2 instancu, odeljak o odnosima može prikazati vezu sa VPC-om zajedno sa podmrežom u kojoj se EC2 instanca nalazi.
- **Trenutna konfiguracija:** Ovo će prikazati iste informacije koje bi bile generisane ako biste izvršili opis ili listu API poziva napravljenih od strane AWS CLI. AWS Config koristi iste API pozive da dobije iste informacije.
- **Povezani događaji**: Ovo se odnosi na AWS CloudTrail. Ovo će prikazati **AWS CloudTrail ID događaja koji je povezan sa promenom koja je pokrenula kreiranje ovog CI**. Novi CI se pravi za svaku promenu izvršenu na resursu. Kao rezultat, biće kreirani različiti CloudTrail ID događaja.

**Istorija konfiguracije**: Moguće je dobiti istoriju konfiguracije resursa zahvaljujući konfiguracijskim elementima. Istorija konfiguracije se isporučuje svake 6 sati i sadrži sve CI-e za određeni tip resursa.

**Konfiguracijski tokovi**: Konfiguracijski elementi se šalju na SNS temu kako bi omogućili analizu podataka.

**Konfiguracijski snimci**: Konfiguracijski elementi se koriste za kreiranje trenutnog snimka svih podržanih resursa.

**S3 se koristi za skladištenje** datoteka istorije konfiguracije i bilo kojih konfiguracijskih snimaka vaših podataka unutar jedne kante, koja je definisana unutar snimača konfiguracije. Ako imate više AWS naloga, možda ćete želeti da agregirate datoteke istorije konfiguracije u istu S3 kantu za vaš primarni nalog. Međutim, moraćete da dodelite pristup za pisanje za ovaj servisni princip, config.amazonaws.com, i vaše sekundarne naloge sa pristupom za pisanje u S3 kantu u vašem primarnom nalogu.

### Funkcionisanje

- Kada izvršite promene, na primer, na sigurnosnoj grupi ili listi kontrole pristupa kante —> pokreće se kao događaj koji preuzima AWS Config
- Skladišti sve u S3 kanti
- U zavisnosti od postavki, čim se nešto promeni, može pokrenuti lambda funkciju ili zakazati lambda funkciju da periodično pregleda AWS Config postavke
- Lambda se vraća Config-u
- Ako je pravilo prekršeno, Config pokreće SNS

![](<../../../../images/image (126).png>)

### Config pravila

Config pravila su odličan način da vam pomognu da **sprovodite specifične provere usklađenosti** **i kontrole preko vaših resursa**, i omogućavaju vam da usvojite idealnu specifikaciju implementacije za svaki od vaših tipova resursa. Svako pravilo **je u suštini lambda funkcija** koja, kada se pozove, procenjuje resurs i sprovodi neku jednostavnu logiku da odredi rezultat usklađenosti sa pravilom. **Svaki put kada se izvrši promena** na jednom od vaših podržanih resursa, **AWS Config će proveriti usklađenost sa bilo kojim config pravilima koja imate na snazi**.\
AWS ima niz **predefinisanih pravila** koja spadaju pod sigurnosni kišobran i spremna su za korišćenje. Na primer, Rds-storage-encrypted. Ovo proverava da li je enkripcija skladišta aktivirana od strane vaših RDS baza podataka. Encrypted-volumes. Ovo proverava da li su svi EBS volumeni koji imaju stanje povezano enkriptovani.

- **AWS upravljana pravila**: Skup predefinisanih pravila koja pokrivaju mnogo najboljih praksi, tako da uvek vredi prvo pregledati ova pravila pre nego što postavite svoja, jer postoji šansa da pravilo već postoji.
- **Prilagođena pravila**: Možete kreirati svoja pravila da proverite specifične prilagođene konfiguracije.

Limit od 50 config pravila po regionu pre nego što morate kontaktirati AWS za povećanje.\
Neusaglašeni rezultati se NE brišu.

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