AWS - Firewall Manager Enum

Supporta HackTricks

Firewall Manager

AWS Firewall Manager semplifica la gestione e la manutenzione di AWS WAF, AWS Shield Advanced, Amazon VPC security groups e Network Access Control Lists (ACLs), e AWS Network Firewall, AWS Route 53 Resolver DNS Firewall e firewall di terze parti su più account e risorse. Ti consente di configurare le regole del firewall, le protezioni Shield Advanced, i security groups VPC e le impostazioni del Network Firewall una sola volta, con il servizio che applica automaticamente queste regole e protezioni su tutti i tuoi account e risorse, inclusi quelli appena aggiunti.

Il servizio offre la capacità 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 appena aggiunte nel tuo account.

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

AWS Firewall Manager fornisce liste gestite di applicazioni e protocolli per semplificare la configurazione e la gestione delle politiche dei security groups. Queste liste ti permettono di definire i protocolli e le applicazioni consentiti o negati dalle tue politiche. Esistono 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 personalizzate di applicazioni e protocolli 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, permettendoti di crearle, modificarle ed eliminarle secondo necessità.

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

Prerequisiti

I seguenti passaggi prerequisiti 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 di base 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 dove si prevede di implementare le politiche di AWS Firewall Manager. Questo consente la gestione centralizzata delle risorse e delle politiche su 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 auditare le configurazioni e le modifiche delle risorse, facilitando una migliore gestione della sicurezza.

  4. Per le Politiche di Terze Parti, Sottoscrivi nel AWS Marketplace e Configura le Impostazioni di Terze Parti: Se prevedi di utilizzare politiche di firewall di terze parti, sottoscrivile nel AWS Marketplace e configura le impostazioni necessarie. Questo passaggio garantisce che Firewall Manager possa integrare e applicare politiche da fornitori di terze parti affidabili.

  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 firewall ai VPC e alla risoluzione DNS della tua organizzazione, migliorando la sicurezza della rete.

  6. Per utilizzare AWS Firewall Manager nelle Regioni disabilitate per impostazione predefinita: Se intendi utilizzare Firewall Manager nelle regioni AWS disabilitate per impostazione predefinita, assicurati di prendere 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, consulta: Getting started with AWS Firewall Manager AWS WAF policies.

Tipi di politiche di protezione

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

  1. AWS WAF Policy: 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 prima e dopo nel web ACL. Inoltre, i proprietari degli account possono aggiungere regole e gruppi di regole da eseguire tra questi set.

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

  3. Amazon VPC Security Group Policy: Con questa politica, puoi gestire i security groups utilizzati in tutta la tua organizzazione, applicando un set di regole di base nel tuo ambiente AWS per controllare l'accesso alla rete.

  4. Amazon VPC Network Access Control List (ACL) Policy: Questo tipo di politica ti dà il controllo sulle ACL di rete utilizzate nella tua organizzazione, permettendoti di applicare un set di base di ACL di rete nel tuo ambiente AWS.

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

  6. Amazon Route 53 Resolver DNS Firewall Policy: Questa politica applica protezioni DNS Firewall ai VPC della tua organizzazione, aiutando a bloccare i tentativi di risoluzione di domini dannosi e ad applicare politiche di sicurezza per il traffico DNS.

  7. Third-Party Firewall Policy: Questo tipo di politica applica protezioni da firewall di terze parti, disponibili tramite abbonamento tramite la console AWS Marketplace. Ti consente di integrare misure di sicurezza aggiuntive da fornitori affidabili nel tuo ambiente AWS.

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

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

Account amministratori

AWS Firewall Manager offre flessibilità nella gestione delle risorse 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 amministratori aggiuntivi 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 l'accesso a tutti i tipi di risorse, regioni e tipi di politiche specificati. 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 privilegio minimo.

Esistono due tipi distinti 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 a Firewall Manager.

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

  • Serve come 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 pieno accesso a tutti i tipi di risorse e funzionalità amministrative, opera allo stesso livello degli altri amministratori se vengono utilizzati più amministratori all'interno dell'organizzazione.

  • Amministratori di Firewall Manager:

  • Questi amministratori possono gestire risorse all'interno dell'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 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 privilegio minimo. Assegnando ruoli amministrativi appropriati, le organizzazioni possono garantire una gestione efficace della sicurezza mantenendo un controllo granulare sull'accesso alle risorse sensibili.

È importante sottolineare che solo un account all'interno di un'organizzazione può servire come amministratore predefinito di Firewall Manager, aderendo al principio del "primo dentro, ultimo fuori". Per designare un nuovo amministratore predefinito, è necessario seguire una serie di passaggi:

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

  • Successivamente, l'amministratore predefinito esistente può revocare il proprio account, disattivando efficacemente 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 il nuovo amministratore predefinito di Firewall Manager.

Enumerazione

# 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 di Firewall Manager. Con il permesso fms:PutAdminAccount, un attaccante sarebbe in grado di creare o aggiornare un account amministratore di Firewall Manager e con il permesso fms:DisassociateAdminAccount, un potenziale attaccante potrebbe rimuovere l'associazione dell'account amministratore corrente di Firewall Manager.

  • La disassociazione dell'amministratore predefinito di Firewall Manager segue la politica first-in-last-out. Tutti gli amministratori di Firewall Manager devono disassociarsi prima che l'amministratore predefinito di Firewall Manager possa disassociare l'account.

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

  • La creazione di un account amministratore di 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 della gestione centralizzata, elusione delle policy, violazioni della 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 policy 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 policy permissiva attraverso un security group permissivo, al fine di bypassare la rilevazione, 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, elusione delle policy, violazioni della 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 disassociare risorse da un set di risorse di Firewall Manager rispettivamente. Inoltre, i permessi fms:PutResourceSet e fms:DeleteResourceSet permetterebbero a un attaccante di creare, modificare o eliminare questi set 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 un'interruzione delle risorse, elusione delle policy, violazioni della 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 ottenere accesso al pubblico generale, oppure 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 risultare in configurazioni errate, elusione delle policy, 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 le liste di protocolli da AWS Firewall Manager. Analogamente alle liste di 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 causare configurazioni errate, elusione delle policy, violazioni della 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 l'argomento 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 dell'argomento 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 permettere al principale del 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 disassociare firewall di terze parti dalla gestione centralizzata 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]

Potenziale Impatto: La disassociazione porterebbe a un'evasione delle policy, violazioni della conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente. L'associazione, d'altra parte, porterebbe a una disgregazione dei costi e dell'allocazione 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, il tracciamento delle risorse e le politiche di controllo degli accessi basate sui tag della tua organizzazione.

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, del tracciamento delle risorse e delle politiche di controllo degli accessi basate su tag.

Riferimenti

Supporta HackTricks

Last updated