AWS - Firewall Manager Enum

Wspieraj HackTricks

Firewall Manager

AWS Firewall Manager upraszcza zarządzanie i utrzymanie AWS WAF, AWS Shield Advanced, Amazon VPC security groups i Network Access Control Lists (ACLs), oraz AWS Network Firewall, AWS Route 53 Resolver DNS Firewall i zapory innych firm w wielu kontach i zasobach. Umożliwia skonfigurowanie reguł zapory, ochrony Shield Advanced, grup bezpieczeństwa VPC i ustawień Network Firewall tylko raz, a usługa automatycznie egzekwuje te reguły i ochrony w całych kontach i zasobach, w tym nowo dodanych.

Usługa oferuje możliwość grupowania i zabezpieczania określonych zasobów razem, takich jak te dzielące wspólny tag lub wszystkie dystrybucje CloudFront. Znaczącą zaletą Firewall Manager 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 określonymi zasobami AWS, takimi jak dystrybucje CloudFront lub load balancery aplikacji.

AWS Firewall Manager dostarcza zarządzane listy aplikacji i protokołów, aby uprościć konfigurację i zarządzanie politykami grup bezpieczeństwa. Te listy pozwalają na definiowanie protokołów i aplikacji dozwolonych lub zabronionych przez Twoje polityki. Istnieją dwa rodzaje zarządzanych list:

  • Listy zarządzane przez 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 zawierają 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ę.

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

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

Wymagania wstępne

Następujące kroki wstępne muszą zostać ukończone przed przystąpieniem do konfiguracji Firewall Manager, aby skutecznie chronić zasoby Twojej organizacji. Te kroki zapewniają podstawową konfigurację wymaganą do egzekwowania polityk bezpieczeństwa przez Firewall Manager i zapewnienia zgodności w całym ś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. To pozwala na centralne zarządzanie zasobami i politykami w wielu kontach AWS w 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 Manager niezbędnych danych konfiguracyjnych i wglądu wymaganego do skutecznego egzekwowania polityk bezpieczeństwa. AWS Config pomaga analizować, audytować, monitorować i audytować konfiguracje zasobów i zmiany, ułatwiając lepsze zarządzanie bezpieczeństwem.

  4. Dla polityk innych firm, subskrybuj w AWS Marketplace i skonfiguruj ustawienia innych firm: Jeśli planujesz korzystać z polityk zapór innych firm, 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 zewnętrznych.

  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. To pozwala Firewall Manager na zastosowanie ochrony zapory do VPC i rozwiązywania DNS Twojej organizacji, zwiększając 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 podejmiesz niezbędne kroki, aby włączyć jego funkcjonalność w tych regionach. To zapewnia spójne egzekwowanie bezpieczeństwa we wszystkich regionach, w których działa Twoja organizacja.

Więcej informacji znajdziesz tutaj: Getting started with AWS Firewall Manager AWS WAF policies.

Rodzaje polityk ochrony

AWS Firewall Manager zarządza kilkoma rodzajami polityk, aby egzekwować kontrole bezpieczeństwa w różnych aspektach infrastruktury Twojej organizacji:

  1. AWS WAF Policy: Ten typ polityki obsługuje zarówno AWS WAF, jak i AWS WAF Classic. Możesz określić, 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 uruchamiania pomiędzy tymi zestawami.

  2. Shield Advanced Policy: 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. Amazon VPC Security Group Policy: 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, aby kontrolować dostęp do sieci.

  4. Amazon VPC Network Access Control List (ACL) Policy: Ten typ polityki daje Ci kontrolę nad ACL sieciowymi używanymi w Twojej organizacji, pozwalając na egzekwowanie podstawowego zestawu ACL sieciowych w całym środowisku AWS.

  5. Network Firewall Policy: 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. Amazon Route 53 Resolver DNS Firewall Policy: 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. Third-Party Firewall Policy: Ten typ polityki stosuje ochrony z zapór innych firm, które są dostępne poprzez subskrypcję w konsoli AWS Marketplace. Pozwala na integrację dodatkowych środków bezpieczeństwa od zaufanych dostawców w Twoim środowisku AWS.

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

  9. Fortigate Cloud Native Firewall (CNF) as a Service Policy: Ta polityka stosuje ochrony Fortigate Cloud Native Firewall (CNF) as a Service, oferując wiodącą w branży ochronę przed zagrożeniami, zaporę aplikacji webowych (WAF) i ochronę API dostosowaną do infrastruktury chmurowej.

Konta administratorów

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

Zakres administracyjny definiuje zasoby, którymi administrator Firewall Manager 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 (OUs), do których administrator może stosować polityki.

  • Regiony, w których administrator może wykonywać 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 daje 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 wykonywania ich ról. Możesz zastosować dowolną kombinację tych warunków zakresu administracyjnego do administratora, zapewniając zgodność z zasadą najmniejszych uprawnień.

Istnieją dwa różne typy kont administratorów, z których każdy pełni określone role i obowiązki:

  • 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 innych firm 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 jest używanych wielu administratorów.

  • Administratorzy Firewall Manager:

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

  • Administratorzy Firewall Manager są tworzeni, aby pełnić określone role w organizacji, umożliwiając delegowanie obowiązków przy jednoczesnym utrzymaniu standardów bezpieczeństwa i zgodności.

  • Po utworzeniu Firewall Manager sprawdza z AWS Organizations, 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 obejmuje ich tworzenie w Firewall Manager i definiowanie ich zakresów administracyjnych zgodnie z wymaganiami bezpieczeństwa organizacji i zasadą najmniejszych uprawnień. Przydzielając odpowiednie role administracyjne, organizacje mogą zapewnić skuteczne zarządzanie bezpieczeństwem przy jednoczesnym utrzymaniu szczegółowej kontroli 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, zgodnie z zasadą "pierwszy na wejściu, ostatni na wyjściu". Aby wyznaczyć nowego domyślnego administratora, należy wykonać szereg kroków:

  • Najpierw każde konto administratora Firewall Manager musi odwołać swoje własne konto.

  • Następnie istniejący domyślny administrator może odwołać swoje własne konto, skutecznie wycofując organizację z Firewall Manager. Ten proces skutkuje usunięciem wszystkich polityk Firewall Manager utworzonych przez odwołane konto.

  • Na koniec konto zarządzające AWS Organizations musi wyznaczyć nowego domyślnego administratora Firewall Manager.

Enumeracja

# 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)

Atakujący z uprawnieniem fms:AssociateAdminAccount mógłby ustawić domyślne konto administratora Firewall Manager. Z uprawnieniem fms:PutAdminAccount atakujący mógłby utworzyć lub zaktualizować konto administratora Firewall Manager, a z uprawnieniem fms:DisassociateAdminAccount potencjalny atakujący mógłby usunąć bieżące powiązanie konta administratora Firewall Manager.

  • Dissociation of the Firewall Manager default administrator follows the first-in-last-out policy. Wszyscy administratorzy Firewall Manager muszą się odłączyć, zanim domyślny administrator Firewall Manager będzie mógł odłączyć konto.

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

  • Utworzenie konta administratora Firewall Manager 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 scentralizowanego zarządzania, unikanie polityki, naruszenia zgodności i zakłócenia 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 permisywnej poprzez permisywną grupę zabezpieczeń, aby obejść wykrywanie, 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 i potencjalne wycieki 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 odłączyć zasoby od zestawu 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 liczby elementów do zestawu zasobów zwiększy poziom szumu w usłudze, co może spowodować DoS. Ponadto, zmiany w zestawach zasobów mogą prowadzić do zakłóceń zasobów, omijania polityki, naruszeń zgodności i zakłóceń kontroli bezpieczeństwa w środowisku.

fms:PutAppsList, fms:DeleteAppsList

Atakujący z uprawnieniami fms:PutAppsList i fms:DeleteAppsList byłby w stanie 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 zostać odmówiony, powodując 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 skutkować błędnymi konfiguracjami, omijaniem polityk, naruszeniami zgodności oraz zakłóceniem kontroli bezpieczeństwa w środowisku.

fms:PutProtocolsList, fms:DeleteProtocolsList

Atakujący z uprawnieniami fms:PutProtocolsList i fms:DeleteProtocolsList byłby w stanie tworzyć, modyfikować lub usuwać listy protokołów w 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ć zabronione, powodując 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 skutkować błędnymi konfiguracjami, omijaniem polityk, naruszeniami zgodności i zakłóceniami kontroli bezpieczeństwa w środowisku.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Atakujący z uprawnieniami fms:PutNotificationChannel i fms:DeleteNotificationChannel będzie w stanie usunąć i wyznaczyć rolę IAM oraz temat Amazon Simple Notification Service (SNS), którego Firewall Manager używa do rejestrowania logów SNS.

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

Informacje na temat konfigurowania polityki dostępu 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 potencjalnie prowadzić do pominięcia alertów bezpieczeństwa, opóźnionej reakcji na incydenty, potencjalnych wycieków danych i zakłóceń operacyjnych w środowisku.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Atakujący z uprawnieniami fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall byłby w stanie powiązać lub odłączyć zapory innych firm od centralnego zarządzania przez AWS Firewall Manager.

Tylko domyślny administrator może tworzyć i zarządzać zaporami innych firm.

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 i zakłóceń kontroli bezpieczeństwa w środowisku. Z kolei połączenie prowadziłoby do zakłóceń w alokacji kosztów i budżetu.

fms:TagResource, fms:UntagResource

Atakujący mógłby dodawać, modyfikować lub usuwać tagi z zasobów Firewall Manager, zakłócając alokację kosztów, śledzenie zasobów i polityki kontroli dostępu oparte na tagach w Twojej organizacji.

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.

Odnośniki

Wspieraj HackTricks

Last updated