AWS - Firewall Manager Enum

Support HackTricks

Firewall Manager

AWS Firewall Manager simplifica a gestão e manutenção do AWS WAF, AWS Shield Advanced, grupos de segurança do Amazon VPC e Listas de Controle de Acesso de Rede (ACLs), e AWS Network Firewall, AWS Route 53 Resolver DNS Firewall e firewalls de terceiros em várias contas e recursos. Ele permite que você configure suas regras de firewall, proteções do Shield Advanced, grupos de segurança do VPC e configurações do Network Firewall apenas uma vez, com o serviço aplicando automaticamente essas regras e proteções em suas contas e recursos, incluindo os recém-adicionados.

O serviço oferece a capacidade de agrupar e proteger recursos específicos juntos, como aqueles que compartilham uma tag comum ou todas as suas distribuições do CloudFront. Uma vantagem significativa do Firewall Manager é sua capacidade de estender automaticamente a proteção a recursos recém-adicionados em sua conta.

Um grupo de regras (uma coleção de regras do WAF) pode ser incorporado em uma Política do AWS Firewall Manager, que é então vinculada a recursos específicos da AWS, como distribuições do CloudFront ou balanceadores de carga de aplicativos.

O AWS Firewall Manager fornece listas de aplicativos e protocolos gerenciados para simplificar a configuração e gestão de políticas de grupos de segurança. Essas listas permitem que você defina os protocolos e aplicativos permitidos ou negados por suas políticas. Existem dois tipos de listas gerenciadas:

  • Listas gerenciadas pelo Firewall Manager: Essas listas incluem FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed e FMS-Default-Protocols-Allowed. Elas são gerenciadas pelo Firewall Manager e incluem aplicativos e protocolos comumente usados que devem ser permitidos ou negados ao público em geral. Não é possível editá-las ou excluí-las, no entanto, você pode escolher sua versão.

  • Listas gerenciadas personalizadas: Você gerencia essas listas por conta própria. Você pode criar listas de aplicativos e protocolos personalizadas adaptadas às necessidades de sua organização. Ao contrário das listas gerenciadas pelo Firewall Manager, essas listas não têm versões, mas você tem controle total sobre listas personalizadas, permitindo que você as crie, edite e exclua conforme necessário.

É importante notar que as políticas do Firewall Manager permitem apenas ações "Block" ou "Count" para um grupo de regras, sem uma opção "Allow".

Pré-requisitos

Os seguintes passos pré-requisitos devem ser concluídos antes de prosseguir para configurar o Firewall Manager para começar a proteger efetivamente os recursos de sua organização. Esses passos fornecem a configuração básica necessária para que o Firewall Manager aplique políticas de segurança e garanta conformidade em seu ambiente AWS:

  1. Junte-se e configure o AWS Organizations: Certifique-se de que sua conta AWS faz parte da organização do AWS Organizations onde as políticas do AWS Firewall Manager estão planejadas para serem implantadas. Isso permite a gestão centralizada de recursos e políticas em várias contas AWS dentro da organização.

  2. Crie uma Conta de Administrador Padrão do AWS Firewall Manager: Estabeleça uma conta de administrador padrão especificamente para gerenciar políticas de segurança do Firewall Manager. Esta conta será responsável por configurar e aplicar políticas de segurança em toda a organização. Apenas a conta de gerenciamento da organização pode criar contas de administrador padrão do Firewall Manager.

  3. Ative o AWS Config: Ative o AWS Config para fornecer ao Firewall Manager os dados de configuração e insights necessários para aplicar efetivamente as políticas de segurança. O AWS Config ajuda a analisar, auditar, monitorar e auditar configurações e mudanças de recursos, facilitando uma melhor gestão de segurança.

  4. Para Políticas de Terceiros, Assine no AWS Marketplace e Configure as Configurações de Terceiros: Se você planeja utilizar políticas de firewall de terceiros, assine-as no AWS Marketplace e configure as configurações necessárias. Este passo garante que o Firewall Manager possa integrar e aplicar políticas de fornecedores de terceiros confiáveis.

  5. Para Políticas de Network Firewall e DNS Firewall, habilite o compartilhamento de recursos: Habilite o compartilhamento de recursos especificamente para políticas de Network Firewall e DNS Firewall. Isso permite que o Firewall Manager aplique proteções de firewall aos VPCs e à resolução DNS de sua organização, melhorando a segurança da rede.

  6. Para usar o AWS Firewall Manager em Regiões que estão desativadas por padrão: Se você pretende usar o Firewall Manager em regiões da AWS que estão desativadas por padrão, certifique-se de tomar as medidas necessárias para habilitar sua funcionalidade nessas regiões. Isso garante a aplicação consistente de segurança em todas as regiões onde sua organização opera.

Para mais informações, consulte: Introdução ao AWS Firewall Manager AWS WAF policies.

Tipos de políticas de proteção

O AWS Firewall Manager gerencia vários tipos de políticas para aplicar controles de segurança em diferentes aspectos da infraestrutura de sua organização:

  1. Política do AWS WAF: Este tipo de política suporta tanto o AWS WAF quanto o AWS WAF Classic. Você pode definir quais recursos são protegidos pela política. Para políticas do AWS WAF, você pode especificar conjuntos de grupos de regras para serem executados primeiro e por último no ACL da web. Além disso, os proprietários da conta podem adicionar regras e grupos de regras para serem executados entre esses conjuntos.

  2. Política do Shield Advanced: Esta política aplica proteções do Shield Advanced em sua organização para tipos de recursos especificados. Ajuda a proteger contra ataques DDoS e outras ameaças.

  3. Política de Grupo de Segurança do Amazon VPC: Com esta política, você pode gerenciar grupos de segurança usados em toda a sua organização, aplicando um conjunto básico de regras em seu ambiente AWS para controlar o acesso à rede.

  4. Política de Lista de Controle de Acesso de Rede (ACL) do Amazon VPC: Este tipo de política dá a você controle sobre as ACLs de rede usadas em sua organização, permitindo que você aplique um conjunto básico de ACLs de rede em seu ambiente AWS.

  5. Política de Network Firewall: Esta política aplica proteção do AWS Network Firewall aos VPCs de sua organização, melhorando a segurança da rede filtrando o tráfego com base em regras predefinidas.

  6. Política de DNS Firewall do Amazon Route 53 Resolver: Esta política aplica proteções do DNS Firewall aos VPCs de sua organização, ajudando a bloquear tentativas de resolução de domínio maliciosas e aplicar políticas de segurança para o tráfego DNS.

  7. Política de Firewall de Terceiros: Este tipo de política aplica proteções de firewalls de terceiros, que estão disponíveis por assinatura através do console do AWS Marketplace. Permite que você integre medidas de segurança adicionais de fornecedores confiáveis em seu ambiente AWS.

  8. Política de Palo Alto Networks Cloud NGFW: Esta política aplica proteções e pilhas de regras do Palo Alto Networks Cloud Next Generation Firewall (NGFW) aos VPCs de sua organização, fornecendo prevenção avançada contra ameaças e controles de segurança em nível de aplicativo.

  9. Política de Fortigate Cloud Native Firewall (CNF) como Serviço: Esta política aplica proteções do Fortigate Cloud Native Firewall (CNF) como Serviço, oferecendo prevenção de ameaças líder do setor, firewall de aplicativo web (WAF) e proteção de API adaptadas para infraestruturas em nuvem.

Contas de administrador

O AWS Firewall Manager oferece flexibilidade na gestão de recursos de firewall dentro de sua organização através de seu escopo administrativo e dois tipos de contas de administrador.

O escopo administrativo define os recursos que um administrador do Firewall Manager pode gerenciar. Após uma conta de gerenciamento do AWS Organizations integrar uma organização ao Firewall Manager, ela pode criar administradores adicionais com diferentes escopos administrativos. Esses escopos podem incluir:

  • Contas ou unidades organizacionais (OUs) às quais o administrador pode aplicar políticas.

  • Regiões onde o administrador pode realizar ações.

  • Tipos de políticas do Firewall Manager que o administrador pode gerenciar.

O escopo administrativo pode ser total ou restrito. O escopo total concede ao administrador acesso a todos os tipos de recursos, regiões e tipos de políticas especificados. Em contraste, o escopo restrito fornece permissão administrativa apenas a um subconjunto de recursos, regiões ou tipos de políticas. É aconselhável conceder aos administradores apenas as permissões necessárias para cumprir suas funções de forma eficaz. Você pode aplicar qualquer combinação dessas condições de escopo administrativo a um administrador, garantindo a adesão ao princípio do menor privilégio.

Existem dois tipos distintos de contas de administrador, cada uma servindo a papéis e responsabilidades específicas:

  • Administrador Padrão:

  • A conta de administrador padrão é criada pela conta de gerenciamento da organização do AWS Organizations durante o processo de integração ao Firewall Manager.

  • Esta conta tem a capacidade de gerenciar firewalls de terceiros e possui escopo administrativo total.

  • Ela serve como a conta de administrador principal para o Firewall Manager, responsável por configurar e aplicar políticas de segurança em toda a organização.

  • Embora o administrador padrão tenha acesso total a todos os tipos de recursos e funcionalidades administrativas, ele opera no mesmo nível de par que outros administradores se múltiplos administradores forem utilizados dentro da organização.

  • Administradores do Firewall Manager:

  • Esses administradores podem gerenciar recursos dentro do escopo designado pela conta de gerenciamento do AWS Organizations, conforme definido pela configuração do escopo administrativo.

  • Administradores do Firewall Manager são criados para cumprir papéis específicos dentro da organização, permitindo a delegação de responsabilidades enquanto mantêm padrões de segurança e conformidade.

  • Ao serem criados, o Firewall Manager verifica com o AWS Organizations para determinar se a conta já é um administrador delegado. Se não, o Firewall Manager chama o Organizations para designar a conta como um administrador delegado para o Firewall Manager.

Gerenciar essas contas de administrador envolve criá-las dentro do Firewall Manager e definir seus escopos administrativos de acordo com os requisitos de segurança da organização e o princípio do menor privilégio. Ao atribuir papéis administrativos apropriados, as organizações podem garantir uma gestão de segurança eficaz enquanto mantêm controle granular sobre o acesso a recursos sensíveis.

É importante destacar que apenas uma conta dentro de uma organização pode servir como o administrador padrão do Firewall Manager, aderindo ao princípio de "primeiro a entrar, último a sair". Para designar um novo administrador padrão, uma série de passos deve ser seguida:

  • Primeiro, cada conta de administrador do Firewall deve revogar sua própria conta.

  • Em seguida, o administrador padrão existente pode revogar sua própria conta, efetivamente desintegrando a organização do Firewall Manager. Este processo resulta na exclusão de todas as políticas do Firewall Manager criadas pela conta revogada.

  • Para concluir, a conta de gerenciamento do AWS Organizations deve designar o administrador padrão do Firewall Manager.

Enumeração

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

Pós Exploração / Bypass Detection

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

Um atacante com a permissão fms:AssociateAdminAccount seria capaz de definir a conta de administrador padrão do Firewall Manager. Com a permissão fms:PutAdminAccount, um atacante poderia criar ou atualizar uma conta de administrador do Firewall Manager e, com a permissão fms:DisassociateAdminAccount, um potencial atacante poderia remover a associação da conta de administrador atual do Firewall Manager.

  • A desassociação do administrador padrão do Firewall Manager segue a política de primeiro a entrar, último a sair. Todos os administradores do Firewall Manager devem se desassociar antes que o administrador padrão do Firewall Manager possa desassociar a conta.

  • Para criar um administrador do Firewall Manager por meio do PutAdminAccount, a conta deve pertencer à organização que foi previamente integrada ao Firewall Manager usando AssociateAdminAccount.

  • A criação de uma conta de administrador do Firewall Manager só pode ser feita pela conta de gerenciamento da organização.

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

Impacto Potencial: Perda de gerenciamento centralizado, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutPolicy, fms:DeletePolicy

Um atacante com as permissões fms:PutPolicy, fms:DeletePolicy seria capaz de criar, modificar ou excluir permanentemente uma política do 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]

Um exemplo de política permissiva através de um grupo de segurança permissivo, a fim de contornar a detecção, poderia ser o seguinte:

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

Impacto Potencial: Desmantelamento de controles de segurança, evasão de políticas, violações de conformidade, interrupções operacionais e possíveis vazamentos de dados dentro do ambiente.

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

Um atacante com as permissões fms:BatchAssociateResource e fms:BatchDisassociateResource seria capaz de associar ou desassociar recursos de um conjunto de recursos do Firewall Manager, respectivamente. Além disso, as permissões fms:PutResourceSet e fms:DeleteResourceSet permitiriam que um atacante criasse, modificasse ou excluísse esses conjuntos de recursos do 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>

Impacto Potencial: A adição de uma quantidade desnecessária de itens a um conjunto de recursos aumentará o nível de ruído no Serviço, potencialmente causando um DoS. Além disso, mudanças nos conjuntos de recursos podem levar a uma interrupção de recursos, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutAppsList, fms:DeleteAppsList

Um atacante com as permissões fms:PutAppsList e fms:DeleteAppsList seria capaz de criar, modificar ou excluir listas de aplicativos do AWS Firewall Manager. Isso poderia ser crítico, pois aplicativos não autorizados poderiam ter acesso ao público em geral, ou o acesso a aplicativos autorizados poderia ser negado, causando um DoS.

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

Impacto Potencial: Isso poderia resultar em configurações incorretas, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutProtocolsList, fms:DeleteProtocolsList

Um atacante com as permissões fms:PutProtocolsList e fms:DeleteProtocolsList seria capaz de criar, modificar ou excluir listas de protocolos do AWS Firewall Manager. Da mesma forma que com listas de aplicativos, isso poderia ser crítico, uma vez que protocolos não autorizados poderiam ser usados pelo público em geral, ou o uso de protocolos autorizados poderia ser negado, causando um DoS.

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

Impacto Potencial: Isso pode resultar em configurações incorretas, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Um atacante com as permissões fms:PutNotificationChannel e fms:DeleteNotificationChannel seria capaz de excluir e designar o papel IAM e o tópico do Amazon Simple Notification Service (SNS) que o Firewall Manager usa para registrar logs do SNS.

Para usar fms:PutNotificationChannel fora do console, você precisa configurar a política de acesso do tópico SNS, permitindo que o SnsRoleName especificado publique logs do SNS. Se o SnsRoleName fornecido for um papel diferente do AWSServiceRoleForFMS, ele requer um relacionamento de confiança configurado para permitir que o principal de serviço do Firewall Manager fms.amazonaws.com assuma esse papel.

Para informações sobre como configurar uma política de acesso do SNS:

aws fms put-notification-channel --sns-topic-arn <value> --sns-role-name <value>
aws fms delete-notification-channel

Impacto Potencial: Isso poderia levar a alertas de segurança perdidos, resposta a incidentes atrasada, possíveis vazamentos de dados e interrupções operacionais dentro do ambiente.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Um atacante com as permissões fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall seria capaz de associar ou desassociar firewalls de terceiros para serem gerenciados centralmente através do AWS Firewall Manager.

Apenas o administrador padrão pode criar e gerenciar firewalls de terceiros.

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]

Impacto Potencial: A desassociação levaria a uma evasão de política, violações de conformidade e interrupção dos controles de segurança dentro do ambiente. A associação, por outro lado, levaria a uma interrupção da alocação de custos e orçamento.

fms:TagResource, fms:UntagResource

Um atacante seria capaz de adicionar, modificar ou remover tags dos recursos do Firewall Manager, interrompendo a alocação de custos da sua organização, o rastreamento de recursos e as políticas de controle de acesso baseadas em tags.

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

Impacto Potencial: Interrupção da alocação de custos, rastreamento de recursos e políticas de controle de acesso baseadas em tags.

Referências

Suporte ao HackTricks

Last updated