# AWS - Config Enum

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

## AWS Config

AWS Config **cattura le modifiche alle risorse**, quindi qualsiasi modifica a una risorsa supportata da Config può essere registrata, il che **registrerà cosa è cambiato insieme ad altri metadati utili, tutti contenuti in un file noto come elemento di configurazione**, un CI. Questo servizio è **specifico per regione**.

Un elemento di configurazione o **CI**, come è noto, è un componente chiave di AWS Config. È composto da un file JSON che **contiene le informazioni di configurazione, le informazioni sulle relazioni e altri metadati come una vista istantanea di un momento nel tempo di una risorsa supportata**. Tutte le informazioni che AWS Config può registrare per una risorsa sono catturate all'interno del CI. Un CI viene creato **ogni volta** che una risorsa supportata subisce una modifica alla sua configurazione in qualsiasi modo. Oltre a registrare i dettagli della risorsa interessata, AWS Config registrerà anche i CI per tutte le risorse direttamente correlate per garantire che la modifica non abbia influenzato anche quelle risorse.

- **Metadati**: Contiene dettagli sull'elemento di configurazione stesso. Un ID versione e un ID configurazione, che identificano univocamente il CI. Altre informazioni possono includere un MD5Hash che consente di confrontare altri CI già registrati contro la stessa risorsa.
- **Attributi**: Questo contiene informazioni comuni **sugli attributi rispetto alla risorsa effettiva**. All'interno di questa sezione, abbiamo anche un ID risorsa unico e eventuali tag di valore chiave associati alla risorsa. Anche il tipo di risorsa è elencato. Ad esempio, se questo fosse un CI per un'istanza EC2, i tipi di risorsa elencati potrebbero essere l'interfaccia di rete o l'indirizzo IP elastico per quell'istanza EC2.
- **Relazioni**: Questo contiene informazioni su qualsiasi **relazione connessa che la risorsa potrebbe avere**. Quindi, all'interno di questa sezione, mostrerebbe una chiara descrizione di qualsiasi relazione con altre risorse che questa risorsa aveva. Ad esempio, se il CI fosse per un'istanza EC2, la sezione delle relazioni potrebbe mostrare la connessione a una VPC insieme alla subnet in cui risiede l'istanza EC2.
- **Configurazione attuale:** Questo mostrerà le stesse informazioni che verrebbero generate se si eseguisse una chiamata API di descrizione o elenco effettuata dal AWS CLI. AWS Config utilizza le stesse chiamate API per ottenere le stesse informazioni.
- **Eventi correlati**: Questo si riferisce ad AWS CloudTrail. Questo mostrerà l'**ID evento di AWS CloudTrail che è correlato alla modifica che ha attivato la creazione di questo CI**. Viene creato un nuovo CI per ogni modifica apportata a una risorsa. Di conseguenza, verranno creati diversi ID evento di CloudTrail.

**Storia della configurazione**: È possibile ottenere la storia della configurazione delle risorse grazie agli elementi di configurazione. Una storia della configurazione viene fornita ogni 6 ore e contiene tutti i CI per un particolare tipo di risorsa.

**Flussi di configurazione**: Gli elementi di configurazione vengono inviati a un argomento SNS per abilitare l'analisi dei dati.

**Snapshot di configurazione**: Gli elementi di configurazione vengono utilizzati per creare un'istantanea nel tempo di tutte le risorse supportate.

**S3 viene utilizzato per memorizzare** i file della storia della configurazione e qualsiasi snapshot di configurazione dei tuoi dati all'interno di un singolo bucket, che è definito all'interno del registratore di configurazione. Se hai più account AWS, potresti voler aggregare i tuoi file di storia della configurazione nello stesso bucket S3 per il tuo account principale. Tuttavia, dovrai concedere l'accesso in scrittura per questo principio di servizio, config.amazonaws.com, e ai tuoi account secondari con accesso in scrittura al bucket S3 nel tuo account principale.

### Funzionamento

- Quando apporti modifiche, ad esempio al gruppo di sicurezza o all'elenco di controllo degli accessi del bucket —> attiva un evento rilevato da AWS Config
- Memorizza tutto nel bucket S3
- A seconda della configurazione, non appena qualcosa cambia potrebbe attivare una funzione lambda O pianificare una funzione lambda per esaminare periodicamente le impostazioni di AWS Config
- Lambda restituisce a Config
- Se la regola è stata violata, Config attiva un SNS

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

### Regole di Config

Le regole di Config sono un ottimo modo per aiutarti a **applicare controlli e verifiche di conformità specifici** **sulle tue risorse**, e ti consentono di adottare una specifica di distribuzione ideale per ciascuno dei tuoi tipi di risorsa. Ogni regola **è essenzialmente una funzione lambda** che, quando viene chiamata, valuta la risorsa e svolge una logica semplice per determinare il risultato di conformità con la regola. **Ogni volta che viene apportata una modifica** a una delle tue risorse supportate, **AWS Config controllerà la conformità rispetto a qualsiasi regola di configurazione che hai in atto**.\
AWS ha un certo numero di **regole predefinite** che rientrano sotto l'ombrello della sicurezza e sono pronte per essere utilizzate. Ad esempio, Rds-storage-encrypted. Questa verifica se la crittografia dello storage è attivata dalle tue istanze di database RDS. Encrypted-volumes. Questa verifica se ci sono volumi EBS che hanno uno stato allegato e sono crittografati.

- **Regole gestite da AWS**: Set di regole predefinite che coprono molte delle migliori pratiche, quindi vale sempre la pena esaminare prima queste regole prima di impostare le tue, poiché c'è la possibilità che la regola esista già.
- **Regole personalizzate**: Puoi creare le tue regole per controllare configurazioni personalizzate specifiche.

Limite di 50 regole di configurazione per regione prima di dover contattare AWS per un aumento.\
I risultati non conformi NON vengono eliminati.

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