AWS - Firewall Manager Enum

Support HackTricks

Firewall Manager

AWS Firewall Manager semplifica la gestione e la manutenzione di AWS WAF, AWS Shield Advanced, gruppi di sicurezza Amazon VPC e liste di controllo degli accessi di rete (ACL), e AWS Network Firewall, AWS Route 53 Resolver DNS Firewall e firewall di terze parti attraverso più account e risorse. Ti consente di configurare le regole del firewall, le protezioni Shield Advanced, i gruppi di sicurezza VPC e le impostazioni del Network Firewall una sola volta, con il servizio che applica automaticamente queste regole e protezioni ai tuoi account e risorse, comprese quelle aggiunte di recente.

Il servizio offre la possibilità di raggruppare e proteggere risorse specifiche insieme, come quelle che condividono un tag comune o tutte le tue distribuzioni CloudFront. Un vantaggio significativo di Firewall Manager è la sua capacità di estendere automaticamente la protezione alle risorse aggiunte di recente nel tuo account.

Un gruppo di regole (una raccolta di regole WAF) può essere incorporato in una Politica di AWS Firewall Manager, che è poi collegata a risorse AWS specifiche come distribuzioni CloudFront o bilanciatori di carico delle applicazioni.

AWS Firewall Manager fornisce liste di applicazioni e protocolli gestiti per semplificare la configurazione e la gestione delle politiche dei gruppi di sicurezza. Queste liste ti consentono di definire i protocolli e le applicazioni consentiti o negati dalle tue politiche. Ci sono due tipi di liste gestite:

  • Liste gestite da Firewall Manager: Queste liste includono FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed e FMS-Default-Protocols-Allowed. Sono gestite da Firewall Manager e includono applicazioni e protocolli comunemente usati che dovrebbero essere consentiti o negati al pubblico generale. Non è possibile modificarle o eliminarle, tuttavia, puoi scegliere la loro versione.

  • Liste gestite personalizzate: Gestisci queste liste tu stesso. Puoi creare liste di applicazioni e protocolli personalizzate su misura per le esigenze della tua organizzazione. A differenza delle liste gestite da Firewall Manager, queste liste non hanno versioni, ma hai il pieno controllo sulle liste personalizzate, consentendoti di crearle, modificarle ed eliminarle secondo necessità.

È importante notare che le politiche di Firewall Manager consentono solo azioni "Block" o "Count" per un gruppo di regole, senza un'opzione "Allow".

Prerequisites

I seguenti passaggi preliminari devono essere completati prima di procedere alla configurazione di Firewall Manager per iniziare a proteggere efficacemente le risorse della tua organizzazione. Questi passaggi forniscono la configurazione fondamentale necessaria affinché Firewall Manager possa applicare le politiche di sicurezza e garantire la conformità nel tuo ambiente AWS:

  1. Unisciti e configura AWS Organizations: Assicurati che il tuo account AWS faccia parte dell'organizzazione AWS Organizations in cui si prevede di implementare le politiche di AWS Firewall Manager. Questo consente una gestione centralizzata delle risorse e delle politiche attraverso più account AWS all'interno dell'organizzazione.

  2. Crea un account amministratore predefinito di AWS Firewall Manager: Stabilisci un account amministratore predefinito specificamente per la gestione delle politiche di sicurezza di Firewall Manager. Questo account sarà responsabile della configurazione e dell'applicazione delle politiche di sicurezza in tutta l'organizzazione. Solo l'account di gestione dell'organizzazione è in grado di creare account amministratori predefiniti di Firewall Manager.

  3. Abilita AWS Config: Attiva AWS Config per fornire a Firewall Manager i dati di configurazione e le informazioni necessarie per applicare efficacemente le politiche di sicurezza. AWS Config aiuta ad analizzare, auditare, monitorare e controllare le configurazioni e le modifiche delle risorse, facilitando una migliore gestione della sicurezza.

  4. Per le politiche di terze parti, iscriviti nel AWS Marketplace e configura le impostazioni di terze parti: Se prevedi di utilizzare politiche di firewall di terze parti, iscriviti a esse nel AWS Marketplace e configura le impostazioni necessarie. Questo passaggio garantisce che Firewall Manager possa integrare e applicare politiche da fornitori di terze parti fidati.

  5. Per le politiche di Network Firewall e DNS Firewall, abilita la condivisione delle risorse: Abilita la condivisione delle risorse specificamente per le politiche di Network Firewall e DNS Firewall. Questo consente a Firewall Manager di applicare protezioni del firewall alle VPC della tua organizzazione e alla risoluzione DNS, migliorando la sicurezza della rete.

  6. Per utilizzare AWS Firewall Manager in regioni disabilitate per impostazione predefinita: Se intendi utilizzare Firewall Manager in regioni AWS disabilitate per impostazione predefinita, assicurati di seguire i passaggi necessari per abilitare la sua funzionalità in quelle regioni. Questo garantisce un'applicazione coerente della sicurezza in tutte le regioni in cui opera la tua organizzazione.

Per ulteriori informazioni, controlla: Getting started with AWS Firewall Manager AWS WAF policies.

Types of protection policies

AWS Firewall Manager gestisce diversi tipi di politiche per applicare controlli di sicurezza in vari aspetti dell'infrastruttura della tua organizzazione:

  1. Politica AWS WAF: Questo tipo di politica supporta sia AWS WAF che AWS WAF Classic. Puoi definire quali risorse sono protette dalla politica. Per le politiche AWS WAF, puoi specificare set di gruppi di regole da eseguire per primi e per ultimi nell'ACL web. Inoltre, i proprietari degli account possono aggiungere regole e gruppi di regole da eseguire tra questi set.

  2. Politica Shield Advanced: Questa politica applica protezioni Shield Advanced in tutta la tua organizzazione per tipi di risorse specificati. Aiuta a proteggere contro attacchi DDoS e altre minacce.

  3. Politica del Gruppo di Sicurezza Amazon VPC: Con questa politica, puoi gestire i gruppi di sicurezza utilizzati in tutta la tua organizzazione, applicando un insieme di regole di base nel tuo ambiente AWS per controllare l'accesso alla rete.

  4. Politica della Lista di Controllo degli Accessi di Rete (ACL) Amazon VPC: Questo tipo di politica ti consente di controllare le ACL di rete utilizzate nella tua organizzazione, permettendoti di applicare un insieme di base di ACL di rete nel tuo ambiente AWS.

  5. Politica del Network Firewall: Questa politica applica la protezione del AWS Network Firewall alle VPC della tua organizzazione, migliorando la sicurezza della rete filtrando il traffico in base a regole predefinite.

  6. Politica del DNS Firewall di Amazon Route 53 Resolver: Questa politica applica protezioni del DNS Firewall alle VPC della tua organizzazione, aiutando a bloccare tentativi di risoluzione di domini dannosi e applicando politiche di sicurezza per il traffico DNS.

  7. Politica del Firewall di Terze Parti: Questo tipo di politica applica protezioni da firewall di terze parti, disponibili tramite abbonamento attraverso la console del AWS Marketplace. Ti consente di integrare misure di sicurezza aggiuntive da fornitori fidati nel tuo ambiente AWS.

  8. Politica Palo Alto Networks Cloud NGFW: Questa politica applica protezioni e stack di regole del Palo Alto Networks Cloud Next Generation Firewall (NGFW) alle VPC della tua organizzazione, fornendo prevenzione avanzata delle minacce e controlli di sicurezza a livello di applicazione.

  9. Politica Fortigate Cloud Native Firewall (CNF) as a Service: Questa politica applica protezioni del Fortigate Cloud Native Firewall (CNF) as a Service, offrendo prevenzione delle minacce leader del settore, firewall per applicazioni web (WAF) e protezione API su misura per infrastrutture cloud.

Administrator accounts

AWS Firewall Manager offre flessibilità nella gestione delle risorse del firewall all'interno della tua organizzazione attraverso il suo ambito amministrativo e due tipi di account amministratori.

L'ambito amministrativo definisce le risorse che un amministratore di Firewall Manager può gestire. Dopo che un account di gestione di AWS Organizations ha integrato un'organizzazione in Firewall Manager, può creare ulteriori amministratori con diversi ambiti amministrativi. Questi ambiti possono includere:

  • Account o unità organizzative (OU) a cui l'amministratore può applicare politiche.

  • Regioni in cui l'amministratore può eseguire azioni.

  • Tipi di politiche di Firewall Manager che l'amministratore può gestire.

L'ambito amministrativo può essere completo o ristretto. L'ambito completo concede all'amministratore accesso a tutti i tipi di risorse specificati, regioni e tipi di politiche. Al contrario, l'ambito ristretto fornisce permessi amministrativi solo a un sottoinsieme di risorse, regioni o tipi di politiche. È consigliabile concedere agli amministratori solo i permessi necessari per svolgere efficacemente i loro ruoli. Puoi applicare qualsiasi combinazione di queste condizioni di ambito amministrativo a un amministratore, garantendo l'aderenza al principio del minimo privilegio.

Ci sono due distinti tipi di account amministratori, ciascuno con ruoli e responsabilità specifici:

  • Amministratore Predefinito:

  • L'account amministratore predefinito è creato dall'account di gestione dell'organizzazione AWS Organizations durante il processo di integrazione in Firewall Manager.

  • Questo account ha la capacità di gestire firewall di terze parti e possiede un ambito amministrativo completo.

  • Funziona come l'account amministratore principale per Firewall Manager, responsabile della configurazione e dell'applicazione delle politiche di sicurezza in tutta l'organizzazione.

  • Sebbene l'amministratore predefinito abbia accesso completo a tutti i tipi di risorse e funzionalità amministrative, opera allo stesso livello di pari con altri amministratori se più amministratori vengono utilizzati all'interno dell'organizzazione.

  • Amministratori di Firewall Manager:

  • Questi amministratori possono gestire risorse nell'ambito designato dall'account di gestione di AWS Organizations, come definito dalla configurazione dell'ambito amministrativo.

  • Gli amministratori di Firewall Manager sono creati per svolgere ruoli specifici all'interno dell'organizzazione, consentendo la delega delle responsabilità mantenendo standard di sicurezza e conformità.

  • Al momento della creazione, Firewall Manager verifica con AWS Organizations per determinare se l'account è già un amministratore delegato. In caso contrario, Firewall Manager chiama Organizations per designare l'account come amministratore delegato per Firewall Manager.

La gestione di questi account amministratori comporta la loro creazione all'interno di Firewall Manager e la definizione dei loro ambiti amministrativi in base ai requisiti di sicurezza dell'organizzazione e al principio del minimo privilegio. Assegnando ruoli amministrativi appropriati, le organizzazioni possono garantire una gestione efficace della sicurezza mantenendo un controllo granulare sull'accesso a risorse sensibili.

È importante sottolineare che solo un account all'interno di un'organizzazione può fungere da amministratore predefinito di Firewall Manager, aderendo al principio di "primo dentro, ultimo fuori". Per designare un nuovo amministratore predefinito, deve essere seguita una serie di passaggi:

  • Prima, ogni account amministratore di Firewall deve revocare il proprio account.

  • Poi, l'amministratore predefinito esistente può revocare il proprio account, disimpegnando effettivamente l'organizzazione da Firewall Manager. Questo processo comporta l'eliminazione di tutte le politiche di Firewall Manager create dall'account revocato.

  • Per concludere, l'account di gestione di AWS Organizations deve designare l'amministratore predefinito di Firewall Manager.

Enumeration

# Users/Administrators

## Get the AWS Organizations account that is associated with AWS Firewall Manager as the AWS Firewall Manager default administrator
aws fms get-admin-account

## List of Firewall Manager administrators within the organization
aws fms list-admin-accounts-for-organization # ReadOnlyAccess policy is not enough for this

## Return a list of the member accounts in the FM administrator's AWS organization
aws fms list-member-accounts # Only a Firewall Manager administrator or the Organization's management account can make this request

## List the accounts that are managing the specified AWS Organizations member account
aws fms list-admins-managing-account # ReadOnlyAccess policy is not enough for this

# Resources

## Get the resources that a Firewall Manager administrator can manage
aws fms get-admin-scope --admin-account <value> # ReadOnlyAccess policy is not enough for this

## Returns the summary of the resource sets used
aws fms list-resource-sets # ReadOnlyAccess policy is not enough for this

## Get information about a specific resource set
aws fms get-resource-set --identifier <value>  # ReadOnlyAccess policy is not enough for this

## Retrieve the list of tags for a given resource
aws fms list-tags-for-resource --resource-arn <value>

## List of the resources in the AWS Organization's accounts that are available to be associated with a FM resource set. Only one account is supported per request.
aws fms list-compliance-status --member-account-ids <value> --resource-type <value> # ReadOnlyAccess policy is not enough for this

## List the resources that are currently associated to a resource set
aws fms list-resource-set-resources --identifier <value> # ReadOnlyAccess policy is not enough for this

# Policies

## Returns the list of policies
aws fms list-policies

## Get information about the specified AWS Firewall Manager policy
aws fms get-policy --policy-id <value>

## List all of the third-party firewall policies that are associated with the third-party firewall administrator's account
aws fms list-third-party-firewall-firewall-policies --third-party-firewall <PALO_ALTO_NETWORKS_CLOUD_NGFW|FORTIGATE_CLOUD_NATIVE_FIREWALL> # ReadOnlyAccess policy is not enough for this

# AppsList

## Return a list of apps list
aws fms list-apps-lists --max-results [1-100]

## Get information about the specified AWS Firewall Manager applications list
aws fms get-apps-list --list-id <value>

# Protocols

## Get the details of the Firewall Manager protocols list.
aws fms list-protocols-lists

## Get information about the specified AWS Firewall Manager Protocols list
aws fms get-protocols-list --list-id <value>

# Compliance

## Return a summary of which member accounts are protected by the specified policy
aws fms list-compliance-status --policy-id <policy-id>

## Get detailed compliance information about the specified member account (resources that are in and out of compliance with the specified policy)
aws fms get-compliance-detail --policy-id <value> --member-account <value>

# Other useful info

## Get information about the SNS topic that is used to record AWS Firewall Manager SNS logs (if any)
aws fms get-notification-channel

## Get policy-level attack summary information in the event of a potential DDoS attack
aws fms get-protection-status --policy-id <value> # Just for Shield Advanced policy

## Get the onboarding status of a Firewall Manager admin account to third-party firewall vendor tenant.
aws fms get-third-party-firewall-association-status --third-party-firewall <PALO_ALTO_NETWORKS_CLOUD_NGFW|FORTIGATE_CLOUD_NATIVE_FIREWALL> # ReadOnlyAccess policy is not enough for this

## Get violations' details for a resource based on the specified AWS Firewall Manager policy and AWS account.
aws fms get-violation-details --policy-id <value> --member-account <value> --resource-id <value> --resource-type <value>

Post Exploitation / Bypass Detection

organizations:DescribeOrganization & (fms:AssociateAdminAccount, fms:DisassociateAdminAccount, fms:PutAdminAccount)

Un attaccante con il permesso fms:AssociateAdminAccount sarebbe in grado di impostare l'account amministratore predefinito del Firewall Manager. Con il permesso fms:PutAdminAccount, un attaccante sarebbe in grado di creare o aggiornare un account amministratore del Firewall Manager e con il permesso fms:DisassociateAdminAccount, un potenziale attaccante potrebbe rimuovere l'associazione dell'attuale account amministratore del Firewall Manager.

  • La disassociazione dell'amministratore predefinito del Firewall Manager segue la politica del primo entrato, ultimo uscito. Tutti gli amministratori del Firewall Manager devono disassociarsi prima che l'amministratore predefinito del Firewall Manager possa disassociare l'account.

  • Per creare un amministratore del Firewall Manager tramite PutAdminAccount, l'account deve appartenere all'organizzazione che è stata precedentemente registrata nel Firewall Manager utilizzando AssociateAdminAccount.

  • La creazione di un account amministratore del Firewall Manager può essere effettuata solo dall'account di gestione dell'organizzazione.

aws fms associate-admin-account --admin-account <value>
aws fms disassociate-admin-account
aws fms put-admin-account --admin-account <value>

Impatto Potenziale: Perdita di gestione centralizzata, evasione delle politiche, violazioni di conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutPolicy, fms:DeletePolicy

Un attaccante con i permessi fms:PutPolicy, fms:DeletePolicy sarebbe in grado di creare, modificare o eliminare permanentemente una politica di AWS Firewall Manager.

aws fms put-policy --policy <value> | --cli-input-json file://<policy.json> [--tag-list <value>]
aws fms delete-policy --policy-id <value> [--delete-all-policy-resources | --no-delete-all-policy-resources]

Un esempio di politica permissiva attraverso un gruppo di sicurezza permissivo, al fine di eludere il rilevamento, potrebbe essere il seguente:

{
"Policy": {
"PolicyName": "permisive_policy",
"SecurityServicePolicyData": {
"Type": "SECURITY_GROUPS_COMMON",
"ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_COMMON\",\"securityGroups\":[{\"id\":\"<permisive_security_group_id>\"}], \"applyToAllEC2InstanceENIs\":\"true\",\"IncludeSharedVPC\":\"true\"}"
},
"ResourceTypeList": ["AWS::EC2::Instance", "AWS::EC2::NetworkInterface", "AWS::EC2::SecurityGroup", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancing::LoadBalancer"],
"ResourceType": "AWS::EC2::SecurityGroup",
"ExcludeResourceTags": false,
"ResourceTags": [],
"RemediationEnabled": true
},
"TagList": []
}

Impatto Potenziale: Smantellamento dei controlli di sicurezza, evasione delle politiche, violazioni di conformità, interruzioni operative e potenziali violazioni dei dati all'interno dell'ambiente.

fms:BatchAssociateResource, fms:BatchDisassociateResource, fms:PutResourceSet, fms:DeleteResourceSet

Un attaccante con i permessi fms:BatchAssociateResource e fms:BatchDisassociateResource sarebbe in grado di associare o dissociare risorse da un insieme di risorse di Firewall Manager rispettivamente. Inoltre, i permessi fms:PutResourceSet e fms:DeleteResourceSet consentirebbero a un attaccante di creare, modificare o eliminare questi insiemi di risorse da AWS Firewall Manager.

# Associate/Disassociate resources from a resource set
aws fms batch-associate-resource --resource-set-identifier <value> --items <value>
aws fms batch-disassociate-resource --resource-set-identifier <value> --items <value>

# Create, modify or delete a resource set
aws fms put-resource-set --resource-set <value> [--tag-list <value>]
aws fms delete-resource-set --identifier <value>

Impatto Potenziale: L'aggiunta di un numero eccessivo di elementi a un set di risorse aumenterà il livello di rumore nel Servizio, potenzialmente causando un DoS. Inoltre, le modifiche ai set di risorse potrebbero portare a una interruzione delle risorse, evasione delle politiche, violazioni di conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutAppsList, fms:DeleteAppsList

Un attaccante con i permessi fms:PutAppsList e fms:DeleteAppsList sarebbe in grado di creare, modificare o eliminare elenchi di applicazioni da AWS Firewall Manager. Questo potrebbe essere critico, poiché applicazioni non autorizzate potrebbero essere autorizzate ad accedere al pubblico generale, o l'accesso ad applicazioni autorizzate potrebbe essere negato, causando un DoS.

aws fms put-apps-list --apps-list <value> [--tag-list <value>]
aws fms delete-apps-list --list-id <value>

Impatto Potenziale: Questo potrebbe portare a configurazioni errate, evasione delle politiche, violazioni di conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutProtocolsList, fms:DeleteProtocolsList

Un attaccante con i permessi fms:PutProtocolsList e fms:DeleteProtocolsList sarebbe in grado di creare, modificare o eliminare elenchi di protocolli da AWS Firewall Manager. Allo stesso modo degli elenchi delle applicazioni, questo potrebbe essere critico poiché protocolli non autorizzati potrebbero essere utilizzati dal pubblico generale, o l'uso di protocolli autorizzati potrebbe essere negato, causando un DoS.

aws fms put-protocols-list --apps-list <value> [--tag-list <value>]
aws fms delete-protocols-list --list-id <value>

Impatto Potenziale: Questo potrebbe portare a configurazioni errate, evasione delle politiche, violazioni di conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Un attaccante con i permessi fms:PutNotificationChannel e fms:DeleteNotificationChannel sarebbe in grado di eliminare e designare il ruolo IAM e il topic Amazon Simple Notification Service (SNS) che Firewall Manager utilizza per registrare i log SNS.

Per utilizzare fms:PutNotificationChannel al di fuori della console, è necessario configurare la policy di accesso del topic SNS, consentendo al SnsRoleName specificato di pubblicare i log SNS. Se il SnsRoleName fornito è un ruolo diverso da AWSServiceRoleForFMS, richiede una relazione di fiducia configurata per consentire al principale di servizio Firewall Manager fms.amazonaws.com di assumere questo ruolo.

Per informazioni sulla configurazione di una policy di accesso SNS:

https://github.com/HackTricks-wiki/hacktricks-cloud/blob/it/pentesting-cloud/aws-security/aws-services/aws-services/aws-sns-enum.md
aws fms put-notification-channel --sns-topic-arn <value> --sns-role-name <value>
aws fms delete-notification-channel

Impatto Potenziale: Questo potrebbe portare a perdere avvisi di sicurezza, ritardi nella risposta agli incidenti, potenziali violazioni dei dati e interruzioni operative all'interno dell'ambiente.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Un attaccante con i permessi fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall sarebbe in grado di associare o dissociare firewall di terze parti dalla gestione centrale tramite AWS Firewall Manager.

Solo l'amministratore predefinito può creare e gestire firewall di terze parti.

aws fms associate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL]
aws fms disassociate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL]

Impatto Potenziale: La disassociazione porterebbe a un'evasione della politica, violazioni di conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente. L'associazione, d'altra parte, porterebbe a un'interruzione dell'allocazione dei costi e del budget.

fms:TagResource, fms:UntagResource

Un attaccante sarebbe in grado di aggiungere, modificare o rimuovere tag dalle risorse di Firewall Manager, interrompendo l'allocazione dei costi della tua organizzazione, il tracciamento delle risorse e le politiche di controllo degli accessi basate sui tag.

aws fms tag-resource --resource-arn <value> --tag-list <value>
aws fms untag-resource --resource-arn <value> --tag-keys <value>

Impatto Potenziale: Interruzione dell'allocazione dei costi, tracciamento delle risorse e politiche di controllo degli accessi basate sui tag.

Riferimenti

Supporta HackTricks

Last updated