AWS - Firewall Manager Enum

Support HackTricks

Firewall Manager

AWS Firewall Manager upraszcza zarządzanie i utrzymanie AWS WAF, AWS Shield Advanced, grup bezpieczeństwa Amazon VPC oraz list kontroli dostępu do sieci (ACL), a także AWS Network Firewall, AWS Route 53 Resolver DNS Firewall i zapory stron trzecich w wielu kontach i zasobach. Umożliwia skonfigurowanie reguł zapory, ochrony Shield Advanced, grup bezpieczeństwa VPC oraz ustawień Network Firewall tylko raz, a usługa automatycznie egzekwuje te reguły i ochrony w Twoich kontach i zasobach, w tym nowo dodanych.

Usługa oferuje możliwość grupowania i zabezpieczania konkretnych zasobów, takich jak te, które mają wspólny tag lub wszystkie Twoje dystrybucje CloudFront. Znaczną zaletą Firewall Managera jest jego zdolność do automatycznego rozszerzania ochrony na nowo dodane zasoby w Twoim koncie.

Grupa reguł (zbiór reguł WAF) może być włączona do Polityki AWS Firewall Manager, która jest następnie powiązana z konkretnymi zasobami AWS, takimi jak dystrybucje CloudFront lub load balancery aplikacji.

AWS Firewall Manager zapewnia zarządzane listy aplikacji i protokołów, aby uprościć konfigurację i zarządzanie politykami grup bezpieczeństwa. Te listy pozwalają zdefiniować protokoły i aplikacje dozwolone lub zabronione przez Twoje polityki. Istnieją dwa rodzaje zarządzanych list:

  • Zarządzane listy Firewall Manager: Te listy obejmują FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed i FMS-Default-Protocols-Allowed. Są zarządzane przez Firewall Manager i obejmują powszechnie używane aplikacje i protokoły, które powinny być dozwolone lub zabronione dla ogółu społeczeństwa. Nie można ich edytować ani usuwać, jednak można wybrać ich wersję.

  • Zarządzane listy niestandardowe: Te listy zarządzasz samodzielnie. Możesz tworzyć niestandardowe listy aplikacji i protokołów dostosowane do potrzeb Twojej organizacji. W przeciwieństwie do zarządzanych list Firewall Manager, te listy nie mają wersji, ale masz pełną kontrolę nad listami niestandardowymi, co pozwala na ich tworzenie, edytowanie i usuwanie w razie potrzeby.

Ważne jest, aby zauważyć, że polityki Firewall Manager zezwalają tylko na działania "Block" lub "Count" dla grupy reguł, bez opcji "Allow".

Prerequisites

Następujące kroki wstępne muszą być zakończone przed przystąpieniem do konfiguracji Firewall Manager, aby skutecznie chronić zasoby Twojej organizacji. Kroki te zapewniają podstawową konfigurację wymaganą do egzekwowania polityk bezpieczeństwa przez Firewall Manager i zapewnienia zgodności w Twoim środowisku AWS:

  1. Dołącz i skonfiguruj AWS Organizations: Upewnij się, że Twoje konto AWS jest częścią organizacji AWS Organizations, w której planowane jest wdrożenie polityk AWS Firewall Manager. Umożliwia to centralne zarządzanie zasobami i politykami w wielu kontach AWS w ramach organizacji.

  2. Utwórz domyślne konto administratora AWS Firewall Manager: Ustanów domyślne konto administratora specjalnie do zarządzania politykami bezpieczeństwa Firewall Manager. To konto będzie odpowiedzialne za konfigurowanie i egzekwowanie polityk bezpieczeństwa w całej organizacji. Tylko konto zarządzające organizacją może tworzyć domyślne konta administratora Firewall Manager.

  3. Włącz AWS Config: Aktywuj AWS Config, aby dostarczyć Firewall Managerowi niezbędne dane konfiguracyjne i informacje wymagane do skutecznego egzekwowania polityk bezpieczeństwa. AWS Config pomaga analizować, audytować, monitorować i kontrolować konfiguracje zasobów oraz zmiany, co ułatwia lepsze zarządzanie bezpieczeństwem.

  4. Dla polityk stron trzecich, subskrybuj w AWS Marketplace i skonfiguruj ustawienia stron trzecich: Jeśli planujesz korzystać z polityk zapory stron trzecich, subskrybuj je w AWS Marketplace i skonfiguruj niezbędne ustawienia. Ten krok zapewnia, że Firewall Manager może integrować i egzekwować polityki od zaufanych dostawców stron trzecich.

  5. Dla polityk Network Firewall i DNS Firewall, włącz udostępnianie zasobów: Włącz udostępnianie zasobów specjalnie dla polityk Network Firewall i DNS Firewall. Umożliwia to Firewall Managerowi stosowanie ochrony zapory do VPC Twojej organizacji i rozwiązywania DNS, co zwiększa bezpieczeństwo sieci.

  6. Aby używać AWS Firewall Manager w regionach, które są domyślnie wyłączone: Jeśli zamierzasz używać Firewall Manager w regionach AWS, które są domyślnie wyłączone, upewnij się, że podejmujesz niezbędne kroki, aby włączyć jego funkcjonalność w tych regionach. Zapewnia to spójną egzekucję bezpieczeństwa we wszystkich regionach, w których działa Twoja organizacja.

Aby uzyskać więcej informacji, sprawdź: Getting started with AWS Firewall Manager AWS WAF policies.

Types of protection policies

AWS Firewall Manager zarządza kilkoma rodzajami polityk w celu egzekwowania kontroli bezpieczeństwa w różnych aspektach infrastruktury Twojej organizacji:

  1. Polityka AWS WAF: Ten typ polityki obsługuje zarówno AWS WAF, jak i AWS WAF Classic. Możesz zdefiniować, które zasoby są chronione przez politykę. Dla polityk AWS WAF możesz określić zestawy grup reguł, które mają być uruchamiane jako pierwsze i ostatnie w web ACL. Dodatkowo, właściciele kont mogą dodawać reguły i grupy reguł do uruchomienia pomiędzy tymi zestawami.

  2. Polityka Shield Advanced: Ta polityka stosuje ochrony Shield Advanced w całej Twojej organizacji dla określonych typów zasobów. Pomaga chronić przed atakami DDoS i innymi zagrożeniami.

  3. Polityka grup bezpieczeństwa Amazon VPC: Dzięki tej polityce możesz zarządzać grupami bezpieczeństwa używanymi w całej Twojej organizacji, egzekwując podstawowy zestaw reguł w całym środowisku AWS w celu kontrolowania dostępu do sieci.

  4. Polityka listy kontroli dostępu do sieci (ACL) Amazon VPC: Ten typ polityki daje Ci kontrolę nad ACL używanymi w Twojej organizacji, pozwalając na egzekwowanie podstawowego zestawu ACL w całym środowisku AWS.

  5. Polityka Network Firewall: Ta polityka stosuje ochronę AWS Network Firewall do VPC Twojej organizacji, zwiększając bezpieczeństwo sieci poprzez filtrowanie ruchu na podstawie zdefiniowanych reguł.

  6. Polityka Amazon Route 53 Resolver DNS Firewall: Ta polityka stosuje ochrony DNS Firewall do VPC Twojej organizacji, pomagając blokować złośliwe próby rozwiązywania domen i egzekwować polityki bezpieczeństwa dla ruchu DNS.

  7. Polityka zapory stron trzecich: Ten typ polityki stosuje ochrony z zapór stron trzecich, które są dostępne w subskrypcji przez konsolę AWS Marketplace. Umożliwia to integrację dodatkowych środków bezpieczeństwa od zaufanych dostawców w Twoim środowisku AWS.

  8. Polityka Palo Alto Networks Cloud NGFW: Ta polityka stosuje ochrony i zestawy reguł Palo Alto Networks Cloud Next Generation Firewall (NGFW) do VPC Twojej organizacji, zapewniając zaawansowaną ochronę przed zagrożeniami i kontrolę bezpieczeństwa na poziomie aplikacji.

  9. Polityka Fortigate Cloud Native Firewall (CNF) jako usługa: Ta polityka stosuje ochrony Fortigate Cloud Native Firewall (CNF) jako usługi, oferując wiodącą w branży ochronę przed zagrożeniami, zaporę aplikacyjną (WAF) i ochronę API dostosowaną do infrastruktury chmurowej.

Administrator accounts

AWS Firewall Manager oferuje elastyczność w zarządzaniu zasobami zapory w Twojej organizacji poprzez swój zakres administracyjny i dwa typy kont administratorów.

Zakres administracyjny definiuje zasoby, którymi administrator Firewall Managera może zarządzać. Po tym, jak konto zarządzające AWS Organizations wprowadzi organizację do Firewall Manager, może tworzyć dodatkowych administratorów z różnymi zakresami administracyjnymi. Te zakresy mogą obejmować:

  • Konta lub jednostki organizacyjne (OU), do których administrator może stosować polityki.

  • Regiony, w których administrator może podejmować działania.

  • Typy polityk Firewall Manager, którymi administrator może zarządzać.

Zakres administracyjny może być pełny lub ograniczony. Pełny zakres przyznaje administratorowi dostęp do wszystkich określonych typów zasobów, regionów i typów polityk. W przeciwieństwie do tego, ograniczony zakres zapewnia uprawnienia administracyjne tylko do podzbioru zasobów, regionów lub typów polityk. Zaleca się przyznawanie administratorom tylko tych uprawnień, które są im potrzebne do skutecznego wypełniania ich ról. Możesz zastosować dowolną kombinację tych warunków zakresu administracyjnego do administratora, zapewniając przestrzeganie zasady najmniejszych uprawnień.

Istnieją dwa odrębne typy kont administratorów, z których każde pełni określone role i odpowiedzialności:

  • Domyślny administrator:

  • Domyślne konto administratora jest tworzone przez konto zarządzające organizacją AWS Organizations podczas procesu wprowadzania do Firewall Manager.

  • To konto ma możliwość zarządzania zaporami stron trzecich i posiada pełny zakres administracyjny.

  • Służy jako główne konto administratora dla Firewall Manager, odpowiedzialne za konfigurowanie i egzekwowanie polityk bezpieczeństwa w całej organizacji.

  • Chociaż domyślny administrator ma pełny dostęp do wszystkich typów zasobów i funkcji administracyjnych, działa na tym samym poziomie co inni administratorzy, jeśli w organizacji korzysta się z wielu administratorów.

  • Administratorzy Firewall Manager:

  • Ci administratorzy mogą zarządzać zasobami w zakresie określonym przez konto zarządzające AWS Organizations, zgodnie z konfiguracją zakresu administracyjnego.

  • Administratorzy Firewall Manager są tworzeni w celu wypełnienia określonych ról w organizacji, co pozwala na delegowanie odpowiedzialności przy jednoczesnym zachowaniu standardów bezpieczeństwa i zgodności.

  • Po utworzeniu Firewall Manager sprawdza z AWS Organizations, aby ustalić, czy konto jest już delegowanym administratorem. Jeśli nie, Firewall Manager wywołuje Organizations, aby wyznaczyć konto jako delegowanego administratora dla Firewall Manager.

Zarządzanie tymi kontami administratorów polega na ich tworzeniu w Firewall Manager i definiowaniu ich zakresów administracyjnych zgodnie z wymaganiami bezpieczeństwa organizacji oraz zasadą najmniejszych uprawnień. Przez przypisanie odpowiednich ról administracyjnych organizacje mogą zapewnić skuteczne zarządzanie bezpieczeństwem, jednocześnie zachowując szczegółową kontrolę nad dostępem do wrażliwych zasobów.

Ważne jest, aby podkreślić, że tylko jedno konto w organizacji może pełnić rolę domyślnego administratora Firewall Manager, przestrzegając zasady "pierwszy wchodzi, ostatni wychodzi". Aby wyznaczyć nowego domyślnego administratora, należy wykonać szereg kroków:

  • Najpierw każde konto administratora Firewall musi cofnąć swoje własne konto.

  • Następnie istniejący domyślny administrator może cofnąć swoje własne konto, skutecznie wycofując organizację z Firewall Manager. Proces ten skutkuje usunięciem wszystkich polityk Firewall Manager stworzonych przez cofnięte konto.

  • Na koniec konto zarządzające AWS Organizations musi wyznaczyć domyślnego administratora 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)

Napastnik z uprawnieniem fms:AssociateAdminAccount mógłby ustawić domyślne konto administratora Firewall Manager. Z uprawnieniem fms:PutAdminAccount, napastnik mógłby utworzyć lub zaktualizować konto administratora Firewall Manager, a z uprawnieniem fms:DisassociateAdminAccount, potencjalny napastnik mógłby usunąć aktualne powiązanie konta administratora Firewall Manager.

  • Rozłączenie domyślnego administratora Firewall Managera podlega zasadzie pierwsze wchodzi, ostatnie wychodzi. Wszyscy administratorzy Firewall Manager muszą się rozłączyć, zanim domyślny administrator Firewall Managera będzie mógł rozłączyć konto.

  • Aby utworzyć administratora Firewall Managera za pomocą PutAdminAccount, konto musi należeć do organizacji, która wcześniej została wprowadzona do Firewall Managera za pomocą AssociateAdminAccount.

  • Utworzenie konta administratora Firewall Managera może być dokonane tylko przez konto zarządzające organizacją.

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

Potencjalny wpływ: Utrata centralnego zarządzania, unikanie polityki, naruszenia zgodności oraz zakłócenie kontroli bezpieczeństwa w środowisku.

fms:PutPolicy, fms:DeletePolicy

Atakujący z uprawnieniami fms:PutPolicy, fms:DeletePolicy byłby w stanie tworzyć, modyfikować lub trwale usuwać politykę 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]

Przykład polityki o dużej swobodzie poprzez grupę zabezpieczeń o dużej swobodzie, w celu obejścia wykrywania, może być następujący:

{
"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": []
}

Potencjalny wpływ: Demontaż kontroli bezpieczeństwa, unikanie polityki, naruszenia zgodności, zakłócenia operacyjne oraz potencjalne naruszenia danych w środowisku.

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

Atakujący z uprawnieniami fms:BatchAssociateResource i fms:BatchDisassociateResource byłby w stanie odpowiednio powiązać lub rozwiązać powiązania zasobów z zestawem zasobów Firewall Manager. Dodatkowo, uprawnienia fms:PutResourceSet i fms:DeleteResourceSet pozwoliłyby atakującemu na tworzenie, modyfikowanie lub usuwanie tych zestawów zasobów z 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>

Potencjalny wpływ: Dodanie niepotrzebnej ilości elementów do zestawu zasobów zwiększy poziom hałasu w usłudze, co może spowodować DoS. Dodatkowo, zmiany w zestawach zasobów mogą prowadzić do zakłóceń w zasobach, omijania polityk, naruszeń zgodności oraz zakłóceń w kontrolach bezpieczeństwa w środowisku.

fms:PutAppsList, fms:DeleteAppsList

Atakujący z uprawnieniami fms:PutAppsList i fms:DeleteAppsList mógłby tworzyć, modyfikować lub usuwać listy aplikacji z AWS Firewall Manager. Może to być krytyczne, ponieważ nieautoryzowane aplikacje mogłyby uzyskać dostęp do ogółu społeczeństwa, lub dostęp do autoryzowanych aplikacji mógłby być zablokowany, co powodowałoby DoS.

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

Potencjalny wpływ: Może to prowadzić do błędnych konfiguracji, omijania polityk, naruszeń zgodności oraz zakłóceń w kontrolach bezpieczeństwa w środowisku.

fms:PutProtocolsList, fms:DeleteProtocolsList

Atakujący z uprawnieniami fms:PutProtocolsList i fms:DeleteProtocolsList mógłby tworzyć, modyfikować lub usuwać listy protokołów z AWS Firewall Manager. Podobnie jak w przypadku list aplikacji, może to być krytyczne, ponieważ nieautoryzowane protokoły mogłyby być używane przez ogół społeczeństwa, lub użycie autoryzowanych protokołów mogłoby być zablokowane, co spowodowałoby DoS.

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

Potencjalny wpływ: Może to prowadzić do błędnych konfiguracji, unikania polityki, naruszeń zgodności oraz zakłóceń w kontrolach bezpieczeństwa w środowisku.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Atakujący z uprawnieniami fms:PutNotificationChannel i fms:DeleteNotificationChannel mógłby usunąć i wyznaczyć rolę IAM oraz temat Amazon Simple Notification Service (SNS), które Firewall Manager wykorzystuje do rejestrowania logów SNS.

Aby użyć fms:PutNotificationChannel poza konsolą, musisz skonfigurować politykę dostępu do tematu SNS, pozwalając określonemu SnsRoleName na publikowanie logów SNS. Jeśli podane SnsRoleName jest rolą inną niż AWSServiceRoleForFMS, wymaga to skonfigurowania relacji zaufania, aby umożliwić głównemu podmiotowi usługi Firewall Manager fms.amazonaws.com przyjęcie tej roli.

Aby uzyskać informacje na temat konfigurowania polityki dostępu do SNS:

https://github.com/HackTricks-wiki/hacktricks-cloud/blob/pl/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

Potencjalny wpływ: Może to prowadzić do pominięcia alertów bezpieczeństwa, opóźnionej reakcji na incydenty, potencjalnych naruszeń danych oraz zakłóceń operacyjnych w środowisku.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Atakujący z uprawnieniami fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall mógłby powiązać lub rozwiązać powiązanie zapór ogniowych stron trzecich, które są zarządzane centralnie przez AWS Firewall Manager.

Tylko domyślny administrator może tworzyć i zarządzać zaporami ogniowymi stron trzecich.

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]

Potencjalny wpływ: Rozłączenie prowadziłoby do unikania polityki, naruszeń zgodności oraz zakłócenia kontroli bezpieczeństwa w środowisku. Z kolei powiązanie prowadziłoby do zakłócenia alokacji kosztów i budżetu.

fms:TagResource, fms:UntagResource

Napastnik mógłby dodać, zmodyfikować lub usunąć tagi z zasobów Firewall Manager, zakłócając alokację kosztów, śledzenie zasobów i polityki kontroli dostępu oparte na tagach.

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

Potencjalny wpływ: Zakłócenie alokacji kosztów, śledzenia zasobów i polityk kontroli dostępu opartych na tagach.

Odniesienia

Wsparcie dla HackTricks

Last updated