AWS - Firewall Manager Enum

Apoya a HackTricks

Firewall Manager

AWS Firewall Manager simplifica la gestión y el mantenimiento de AWS WAF, AWS Shield Advanced, grupos de seguridad de Amazon VPC y Listas de Control de Acceso de Red (ACLs), y AWS Network Firewall, AWS Route 53 Resolver DNS Firewall y firewalls de terceros en múltiples cuentas y recursos. Te permite configurar tus reglas de firewall, protecciones de Shield Advanced, grupos de seguridad de VPC y configuraciones de Network Firewall una sola vez, con el servicio aplicando automáticamente estas reglas y protecciones en tus cuentas y recursos, incluyendo los recién añadidos.

El servicio ofrece la capacidad de agrupar y proteger recursos específicos juntos, como aquellos que comparten una etiqueta común o todas tus distribuciones de CloudFront. Una ventaja significativa de Firewall Manager es su capacidad para extender automáticamente la protección a los recursos recién añadidos en tu cuenta.

Un grupo de reglas (una colección de reglas WAF) puede ser incorporado en una Política de AWS Firewall Manager, que luego se vincula a recursos específicos de AWS como distribuciones de CloudFront o balanceadores de carga de aplicaciones.

AWS Firewall Manager proporciona listas de aplicaciones y protocolos gestionadas para simplificar la configuración y gestión de políticas de grupos de seguridad. Estas listas te permiten definir los protocolos y aplicaciones permitidos o denegados por tus políticas. Hay dos tipos de listas gestionadas:

  • Listas gestionadas por Firewall Manager: Estas listas incluyen FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed y FMS-Default-Protocols-Allowed. Son gestionadas por Firewall Manager e incluyen aplicaciones y protocolos comúnmente usados que deberían ser permitidos o denegados al público en general. No es posible editarlas o eliminarlas, sin embargo, puedes elegir su versión.

  • Listas gestionadas personalizadas: Tú gestionas estas listas. Puedes crear listas personalizadas de aplicaciones y protocolos adaptadas a las necesidades de tu organización. A diferencia de las listas gestionadas por Firewall Manager, estas listas no tienen versiones, pero tienes control total sobre las listas personalizadas, permitiéndote crear, editar y eliminarlas según sea necesario.

Es importante notar que las políticas de Firewall Manager solo permiten acciones de "Bloquear" o "Contar" para un grupo de reglas, sin una opción de "Permitir".

Requisitos previos

Los siguientes pasos previos deben completarse antes de proceder a configurar Firewall Manager para comenzar a proteger eficazmente los recursos de tu organización. Estos pasos proporcionan la configuración fundamental requerida para que Firewall Manager aplique políticas de seguridad y asegure el cumplimiento en todo tu entorno AWS:

  1. Unirse y configurar AWS Organizations: Asegúrate de que tu cuenta de AWS sea parte de la organización de AWS Organizations donde se planea implantar las políticas de AWS Firewall Manager. Esto permite la gestión centralizada de recursos y políticas en múltiples cuentas de AWS dentro de la organización.

  2. Crear una Cuenta de Administrador Predeterminada de AWS Firewall Manager: Establece una cuenta de administrador predeterminada específicamente para gestionar las políticas de seguridad de Firewall Manager. Esta cuenta será responsable de configurar y aplicar políticas de seguridad en toda la organización. Solo la cuenta de gestión de la organización puede crear cuentas de administrador predeterminadas de Firewall Manager.

  3. Habilitar AWS Config: Activa AWS Config para proporcionar a Firewall Manager los datos de configuración e información necesarios para aplicar eficazmente las políticas de seguridad. AWS Config ayuda a analizar, auditar, monitorear y auditar configuraciones y cambios de recursos, facilitando una mejor gestión de la seguridad.

  4. Para Políticas de Terceros, Suscribirse en el AWS Marketplace y Configurar Configuraciones de Terceros: Si planeas utilizar políticas de firewall de terceros, suscríbete a ellas en el AWS Marketplace y configura las configuraciones necesarias. Este paso asegura que Firewall Manager pueda integrar y aplicar políticas de proveedores de terceros confiables.

  5. Para Políticas de Network Firewall y DNS Firewall, habilitar el uso compartido de recursos: Habilita el uso compartido de recursos específicamente para políticas de Network Firewall y DNS Firewall. Esto permite que Firewall Manager aplique protecciones de firewall a las VPCs y resolución DNS de tu organización, mejorando la seguridad de la red.

  6. Para usar AWS Firewall Manager en Regiones que están deshabilitadas por defecto: Si planeas usar Firewall Manager en regiones de AWS que están deshabilitadas por defecto, asegúrate de tomar los pasos necesarios para habilitar su funcionalidad en esas regiones. Esto asegura una aplicación consistente de la seguridad en todas las regiones donde opera tu organización.

Para más información, consulta: Empezando con las políticas de AWS Firewall Manager AWS WAF.

Tipos de políticas de protección

AWS Firewall Manager gestiona varios tipos de políticas para aplicar controles de seguridad en diferentes aspectos de la infraestructura de tu organización:

  1. Política de AWS WAF: Este tipo de política soporta tanto AWS WAF como AWS WAF Classic. Puedes definir qué recursos están protegidos por la política. Para las políticas de AWS WAF, puedes especificar conjuntos de grupos de reglas para ejecutar primero y último en el web ACL. Además, los propietarios de cuentas pueden agregar reglas y grupos de reglas para ejecutar entre estos conjuntos.

  2. Política de Shield Advanced: Esta política aplica protecciones de Shield Advanced en toda tu organización para tipos de recursos especificados. Ayuda a proteger contra ataques DDoS y otras amenazas.

  3. Política de Grupo de Seguridad de Amazon VPC: Con esta política, puedes gestionar los grupos de seguridad utilizados en toda tu organización, aplicando un conjunto básico de reglas en tu entorno AWS para controlar el acceso a la red.

  4. Política de Lista de Control de Acceso de Red (ACL) de Amazon VPC: Este tipo de política te da control sobre las ACLs de red utilizadas en tu organización, permitiéndote aplicar un conjunto básico de ACLs de red en tu entorno AWS.

  5. Política de Network Firewall: Esta política aplica la protección de AWS Network Firewall a las VPCs de tu organización, mejorando la seguridad de la red al filtrar el tráfico basado en reglas predefinidas.

  6. Política de Amazon Route 53 Resolver DNS Firewall: Esta política aplica protecciones de DNS Firewall a las VPCs de tu organización, ayudando a bloquear intentos de resolución de dominios maliciosos y aplicar políticas de seguridad para el tráfico DNS.

  7. Política de Firewall de Terceros: Este tipo de política aplica protecciones de firewalls de terceros, que están disponibles por suscripción a través de la consola de AWS Marketplace. Te permite integrar medidas de seguridad adicionales de proveedores confiables en tu entorno AWS.

  8. Política de Palo Alto Networks Cloud NGFW: Esta política aplica protecciones y reglas de Palo Alto Networks Cloud Next Generation Firewall (NGFW) a las VPCs de tu organización, proporcionando prevención avanzada de amenazas y controles de seguridad a nivel de aplicación.

  9. Política de Fortigate Cloud Native Firewall (CNF) as a Service: Esta política aplica protecciones de Fortigate Cloud Native Firewall (CNF) as a Service, ofreciendo prevención de amenazas líder en la industria, firewall de aplicaciones web (WAF) y protección de API adaptada para infraestructuras en la nube.

Cuentas de administrador

AWS Firewall Manager ofrece flexibilidad en la gestión de recursos de firewall dentro de tu organización a través de su alcance administrativo y dos tipos de cuentas de administrador.

El alcance administrativo define los recursos que un administrador de Firewall Manager puede gestionar. Después de que una cuenta de gestión de AWS Organizations incorpore una organización a Firewall Manager, puede crear administradores adicionales con diferentes alcances administrativos. Estos alcances pueden incluir:

  • Cuentas o unidades organizativas (OUs) a las que el administrador puede aplicar políticas.

  • Regiones donde el administrador puede realizar acciones.

  • Tipos de políticas de Firewall Manager que el administrador puede gestionar.

El alcance administrativo puede ser completo o restringido. El alcance completo otorga al administrador acceso a todos los tipos de recursos, regiones y tipos de políticas especificados. En contraste, el alcance restringido proporciona permiso administrativo solo a un subconjunto de recursos, regiones o tipos de políticas. Es aconsejable otorgar a los administradores solo los permisos que necesitan para cumplir eficazmente sus roles. Puedes aplicar cualquier combinación de estas condiciones de alcance administrativo a un administrador, asegurando la adherencia al principio de privilegio mínimo.

Hay dos tipos distintos de cuentas de administrador, cada una con roles y responsabilidades específicos:

  • Administrador Predeterminado:

  • La cuenta de administrador predeterminada es creada por la cuenta de gestión de la organización de AWS Organizations durante el proceso de incorporación a Firewall Manager.

  • Esta cuenta tiene la capacidad de gestionar firewalls de terceros y posee un alcance administrativo completo.

  • Sirve como la cuenta de administrador principal para Firewall Manager, responsable de configurar y aplicar políticas de seguridad en toda la organización.

  • Mientras que el administrador predeterminado tiene acceso completo a todos los tipos de recursos y funcionalidades administrativas, opera al mismo nivel que otros administradores si se utilizan múltiples administradores dentro de la organización.

  • Administradores de Firewall Manager:

  • Estos administradores pueden gestionar recursos dentro del alcance designado por la cuenta de gestión de AWS Organizations, según lo definido por la configuración del alcance administrativo.

  • Los administradores de Firewall Manager se crean para cumplir roles específicos dentro de la organización, permitiendo la delegación de responsabilidades mientras se mantienen los estándares de seguridad y cumplimiento.

  • Al crearse, Firewall Manager verifica con AWS Organizations para determinar si la cuenta ya es un administrador delegado. Si no, Firewall Manager llama a Organizations para designar la cuenta como un administrador delegado para Firewall Manager.

Gestionar estas cuentas de administrador implica crearlas dentro de Firewall Manager y definir sus alcances administrativos según los requisitos de seguridad de la organización y el principio de privilegio mínimo. Al asignar roles administrativos apropiados, las organizaciones pueden asegurar una gestión efectiva de la seguridad mientras mantienen un control granular sobre el acceso a recursos sensibles.

Es importante destacar que solo una cuenta dentro de una organización puede servir como el administrador predeterminado de Firewall Manager, adhiriéndose al principio de "primero en, último en salir". Para designar un nuevo administrador predeterminado, se deben seguir una serie de pasos:

  • Primero, cada cuenta de administrador de Firewall Manager debe revocar su propia cuenta.

  • Luego, el administrador predeterminado existente puede revocar su propia cuenta, desincorporando efectivamente a la organización de Firewall Manager. Este proceso resulta en la eliminación de todas las políticas de Firewall Manager creadas por la cuenta revocada.

  • Para concluir, la cuenta de gestión de AWS Organizations debe designar al administrador predeterminado de Firewall Manager.

Enumeración

# 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 Explotación / Evadir Detección

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

Un atacante con el permiso fms:AssociateAdminAccount podría establecer la cuenta de administrador predeterminada de Firewall Manager. Con el permiso fms:PutAdminAccount, un atacante podría crear o actualizar una cuenta de administrador de Firewall Manager y con el permiso fms:DisassociateAdminAccount, un atacante potencial podría eliminar la asociación de la cuenta de administrador de Firewall Manager actual.

  • La disociación del administrador predeterminado de Firewall Manager sigue la política de primero en entrar, último en salir. Todos los administradores de Firewall Manager deben disociarse antes de que el administrador predeterminado de Firewall Manager pueda disociar la cuenta.

  • Para crear un administrador de Firewall Manager mediante PutAdminAccount, la cuenta debe pertenecer a la organización que previamente se incorporó a Firewall Manager usando AssociateAdminAccount.

  • La creación de una cuenta de administrador de Firewall Manager solo puede ser realizada por la cuenta de gestión de la organización.

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

Impacto Potencial: Pérdida de gestión centralizada, evasión de políticas, violaciones de cumplimiento y interrupción de controles de seguridad dentro del entorno.

fms:PutPolicy, fms:DeletePolicy

Un atacante con los permisos fms:PutPolicy, fms:DeletePolicy podría crear, modificar o eliminar permanentemente una política de 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 ejemplo de política permisiva a través de un grupo de seguridad permisivo, para eludir la detección, podría ser el siguiente:

{
"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: Desmantelamiento de controles de seguridad, evasión de políticas, violaciones de cumplimiento, interrupciones operativas y posibles filtraciones de datos dentro del entorno.

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

Un atacante con los permisos fms:BatchAssociateResource y fms:BatchDisassociateResource podría asociar o desasociar recursos de un conjunto de recursos de Firewall Manager respectivamente. Además, los permisos fms:PutResourceSet y fms:DeleteResourceSet permitirían a un atacante crear, modificar o eliminar estos conjuntos de recursos de 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: La adición de una cantidad innecesaria de elementos a un conjunto de recursos aumentará el nivel de ruido en el Servicio, lo que podría causar un DoS. Además, los cambios en los conjuntos de recursos podrían llevar a una interrupción de recursos, evasión de políticas, violaciones de cumplimiento y la interrupción de controles de seguridad dentro del entorno.

fms:PutAppsList, fms:DeleteAppsList

Un atacante con los permisos fms:PutAppsList y fms:DeleteAppsList podría crear, modificar o eliminar listas de aplicaciones de AWS Firewall Manager. Esto podría ser crítico, ya que aplicaciones no autorizadas podrían tener acceso al público en general, o el acceso a aplicaciones autorizadas podría ser denegado, causando un DoS.

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

Impacto Potencial: Esto podría resultar en configuraciones incorrectas, evasión de políticas, violaciones de cumplimiento y la interrupción de controles de seguridad dentro del entorno.

fms:PutProtocolsList, fms:DeleteProtocolsList

Un atacante con los permisos fms:PutProtocolsList y fms:DeleteProtocolsList podría crear, modificar o eliminar listas de protocolos de AWS Firewall Manager. De manera similar a las listas de aplicaciones, esto podría ser crítico ya que protocolos no autorizados podrían ser utilizados por el público en general, o el uso de protocolos autorizados podría ser denegado, causando un DoS.

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

Impacto Potencial: Esto podría resultar en configuraciones incorrectas, evasión de políticas, violaciones de cumplimiento y interrupción de los controles de seguridad dentro del entorno.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Un atacante con los permisos fms:PutNotificationChannel y fms:DeleteNotificationChannel podría eliminar y designar el rol de IAM y el tema de Amazon Simple Notification Service (SNS) que Firewall Manager utiliza para registrar los logs de SNS.

Para usar fms:PutNotificationChannel fuera de la consola, necesitas configurar la política de acceso del tema de SNS, permitiendo que el SnsRoleName especificado publique logs de SNS. Si el SnsRoleName proporcionado es un rol diferente al AWSServiceRoleForFMS, requiere una relación de confianza configurada para permitir que el principal del servicio Firewall Manager fms.amazonaws.com asuma este rol.

Para información sobre cómo configurar una política de acceso de SNS:

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

Impacto Potencial: Esto podría llevar a perder alertas de seguridad, retrasar la respuesta a incidentes, potenciales filtraciones de datos y disrupciones operativas dentro del entorno.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Un atacante con los permisos fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall podría asociar o desasociar firewalls de terceros para ser gestionados centralmente a través de AWS Firewall Manager.

Solo el administrador predeterminado puede crear y gestionar firewalls de terceros.

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: La disociación llevaría a una evasión de políticas, violaciones de cumplimiento y la interrupción de controles de seguridad dentro del entorno. La asociación, por otro lado, llevaría a una interrupción de la asignación de costos y presupuestos.

fms:TagResource, fms:UntagResource

Un atacante podría agregar, modificar o eliminar etiquetas de los recursos de Firewall Manager, interrumpiendo la asignación de costos, el seguimiento de recursos y las políticas de control de acceso basadas en etiquetas de tu organización.

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

Impacto Potencial: Disrupción de la asignación de costos, seguimiento de recursos y políticas de control de acceso basadas en etiquetas.

Referencias

Apoya HackTricks

Last updated