Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
aws-security-assessment-solution — Una herramienta de AWS para ayudarte a crear una evaluación puntual de tu cuenta de AWS usando Prowler. | Kitploit
Herramientas/GitHubGitHub/awslabs/aws-security-assessment-solution
Seguridad de Infraestructura en la NubeEscáneres de VulnerabilidadesAuditoría de ConfiguraciónSeguridad en la NubeDevSecOps
GitHubawslabs/aws-security-assessment-solution

aws-security-assessment-solution

Una herramienta de AWS para ayudarte a crear una evaluación puntual de tu cuenta de AWS usando Prowler.

Ver Repositorio
61511849hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
## Soluciones de evaluación de seguridad de autoservicio (v2.0)<!-- omit from toc -->

La ciberseguridad sigue siendo un tema muy importante y un punto de preocupación para muchos CIOs, CISOs y sus clientes. Para abordar estas importantes preocupaciones, AWS ha desarrollado un conjunto principal de servicios que los clientes deben utilizar para ayudar a proteger sus cuentas. Las revisiones de [Amazon GuardDuty](https://aws.amazon.com/guardduty/), [AWS Security Hub](https://aws.amazon.com/security-hub/), [AWS Config](https://aws.amazon.com/config/) y [AWS Well-Architected](https://aws.amazon.com/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc&wa-guidance-whitepapers.sort-by=item.additionalFields.sortDate&wa-guidance-whitepapers.sort-order=desc) ayudan a los clientes a mantener una postura de seguridad sólida en sus cuentas de AWS. A medida que más organizaciones se despliegan en la nube, especialmente si lo hacen rápidamente, y aún no han implementado los servicios recomendados de AWS, puede existir la necesidad de realizar una evaluación de seguridad rápida del entorno de nube.

Hemos desarrollado una solución económica, fácil de desplegar, segura y rápida para proporcionar a nuestros clientes un informe de evaluación de seguridad. Estos informes se generan utilizando el proyecto de código abierto [Prowler](https://github.com/prowler-cloud/prowler). Prowler realiza una evaluación de seguridad puntual basada en las mejores prácticas de AWS y puede ayudar a identificar rápidamente cualquier área de riesgo potencial en el entorno desplegado de un cliente. Si está interesado en realizar estas evaluaciones de forma continua, AWS recomienda habilitar el [estándar de mejores prácticas de seguridad fundamentales](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) de Security Hub. Si está interesado en integrar los resultados de su evaluación de Prowler con Security Hub, puede seguir las instrucciones en la [Documentación de Prowler](https://docs.prowler.cloud/en/latest/tutorials/aws/securityhub/).

>Nota: Prowler no es una solución propiedad de AWS. Los clientes deben revisar Prowler de forma independiente antes de ejecutar esta solución. Cualquier dependencia asociada con Prowler debe mantenerse actualizada. Esta solución instala una versión fijada de Prowler (actualmente 5.41.0) desde el instalador de paquetes pip, de modo que un cambio en el formato de salida de Prowler no pueda romper un escaneo sin previo aviso. Para pasar a una versión más reciente, edite la línea `pip3 install prowler==` en `2-sat2-codebuild-prowler.yaml`.

📕 Para obtener instrucciones paso a paso más detalladas, visite el módulo 2 en el [Taller SHIP](https://catalog.us-east-1.prod.workshops.aws/workshops/3bd6e4da-265a-4c79-ab47-639b7ef23c9d/en-US/20-satv2).

## Tabla de contenidos<!-- omit from toc -->
- [Descripción general](#overview)
- [Parámetros](#parameters)
- [Despliegue](#deployment)
- [Escaneo de una sola cuenta](#single-account-scan)
  - [AWS CloudShell](#aws-cloudshell)
    - [Desplegar la solución](#deploy-the-solution)
  - [Consola de AWS](#aws-console)
    - [Desplegar la solución](#deploy-the-solution-1)
- [Escaneo de múltiples cuentas](#multi-account-scan)
  - [AWS CloudShell](#aws-cloudshell-1)
    - [Paso 1: Desplegar el rol de requisito previo](#step-1-deploy-prerequisite-role)
    - [Paso 2: Desplegar la solución SATv2](#step-2-deploy-the-satv2-solution)
  - [Consola de AWS](#aws-console-1)
    - [Paso 1: Desplegar el rol de requisito previo](#step-1-deploy-prerequisite-role-1)
    - [Paso 2: Habilitar el administrador delegado para AWS Organizations](#step-2-enable-delegated-administrator-for-aws-organizations)
    - [Paso 3: Desplegar la solución SATv2](#step-3-deploy-the-satv2-solution)
- [Revisar los resultados](#review-the-results)
  - [Panel de SATv2 (recomendado)](#satv2-dashboard-recommended)
  - [Panel de Prowler](#prowler-dashboard)
- [Tipos de escaneo](#scan-types)
  - [Escaneo básico](#basic-scan)
  - [Escaneo intermedio](#intermediate-scan)
  - [Escaneo completo](#full-scan)
  - [Comprobaciones de secretos](#secrets-checks)
- [Notificaciones](#notifications)
- [Resumen de informes](#reporting-summary)
  - [Cómo se construye la tabla de Athena](#how-the-athena-table-is-built)
  - [Historial de escaneos y duplicados](#scan-history-and-duplicates)
- [Preguntas frecuentes (FAQ)](#frequently-asked-questions-faq)
- [Limpieza](#clean-up)
- [Seguridad](#security)
- [Licencia](#license)

## Descripción general
La solución se despliega con [AWS CloudFormation](https://aws.amazon.com/cloudformation/). Cuando se despliega, se crean un proyecto de [AWS CodeBuild](https://aws.amazon.com/codebuild/) y un bucket de [Amazon S3](https://aws.amazon.com/s3/) para almacenar los informes generados por Prowler. Luego se utiliza una función de [AWS Lambda](https://aws.amazon.com/lambda/) para iniciar el proyecto de AWS CodeBuild.

Los valores predeterminados de los parámetros (entrada del usuario) ejecutarán un escaneo básico en una sola cuenta. Sin embargo, puede elegir diferentes parámetros para ejecutar escaneos más exhaustivos o para escanear múltiples cuentas. El proceso de despliegue tarda menos de 5 minutos en completarse. Las plantillas de AWS CloudFormation de la solución se proporcionan para su revisión en este repositorio de Github.

Una vez que se despliega la plantilla, el proyecto de CodeBuild se ejecutará. La evaluación predeterminada tarda alrededor de 5 minutos en completarse. El tiempo para completar una evaluación de seguridad variará según la cantidad de recursos y las opciones de escaneo seleccionadas. Al final de las evaluaciones, los informes se entregan al bucket de S3 creado.

![diagrama de arquitectura](https://assets.kitploit.com/production/public/readmes/5740/f5c82cf8f1f6e4d30df0350af5b131fbeb01ccfcf3945ff93ffec3ab44ddb75a.png)

## Parámetros
SATv2 se puede personalizar actualizando los parámetros de CloudFormation. Esta sección resume las opciones disponibles y proporciona un enlace a la sección con más información.

| Parámetro                | Descripción                                                                                                                                                                                                                                                                                                                               | Más información                          |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
| ProwlerScanType          | Especifique qué tipo de escaneo realizar. Seleccionar full sin especificar diferentes ProwlerOptions realizará un escaneo completo. Para realizar una comprobación específica, elija Full y agregue -c <check> a ProwlerOptions.                                                                                                            | [Tipos de escaneo](#scan-types)                 |
| ExcludeSecretsChecks     | El valor predeterminado es true, lo que omite las comprobaciones de Prowler que buscan secretos codificados de forma rígida en el contenido de los recursos. Establezca en false para ejecutarlas.                                                                                                                                          | [Comprobaciones de secretos](#secrets-checks)         |
| MultiAccountScan         | Establezca esto en true si desea escanear todas las cuentas de su organización. Debe haber desplegado la plantilla de requisito previo para aprovisionar un rol, o especificar un ProwlerRole diferente con los permisos adecuados.                                                                                                        | [Escaneo de múltiples cuentas](#multi-account-scan) |
| Reporting                | Establezca esto en true si desea resumir los informes de Prowler en un único csv. Esto es útil al escanear múltiples cuentas.                                                                                                                                                                                                             | [Resumen de informes](#reporting-summary)   |
| EmailAddress             | Especifique una dirección si desea recibir un correo electrónico cuando finalice la evaluación.                                                                                                                                                                                                                                           | [Notificaciones](#notifications)           |
| **Parámetros avanzados**  |
| ConcurrentAccountScans   | Para escaneos de múltiples cuentas, especifique el número de cuentas a escanear de forma concurrente. Esto es útil para organizaciones grandes con muchas cuentas. Seleccionar más de tres cambia el tamaño de la instancia de CodeBuild y puede generar costos adicionales.                                                              |
| CodeBuildTimeout         | Establezca el tiempo de espera para el trabajo de CodeBuild. El valor predeterminado es 300 minutos (5 horas).                                                                                                                                                                                                                            |
| MultiAccountListOverride | Especifique una lista de cuentas a escanear delimitada por espacios. Dejar esto en blanco escaneará todas las cuentas de su organización. Asegúrese de haber establecido el parámetro `MultiAccountScan` anterior en true si desea escanear cuentas específicas. Si no puede proporcionar acceso delegado a ListAccount, puede proporcionar el parámetro MultiAccountListOverride. | [Escaneo de múltiples cuentas](#multi-account-scan) |
| ProwlerOptions           | Especifique los parámetros para Prowler. El --role y el ARN se agregarán automáticamente al final de los parámetros que especifique. Esto también se puede utilizar para especificar una única comprobación.                                                                                                                               | [Escaneo completo](#full-scan)                   |
| ProwlerRole              | El rol que Prowler debe asumir para realizar el escaneo. Cambie esto si desea especificar su propio rol con permisos diferentes.                                                                                                                                                                                                          |


## Despliegue
Puede utilizar este proyecto para ejecutar Prowler en múltiples cuentas de una organización de AWS, o en una sola cuenta. Proporcionamos instrucciones para usar AWS CloudShell o la consola de AWS. Elija una opción para comenzar.

| Tipo de despliegue | AWS CloudShell            | Consola de AWS            |
| --------------- | ------------------------- | ---------------------- |
| Una sola cuenta  | [Enlace](#aws-cloudshell)   | [Enlace](#aws-console)   |
| Múltiples cuentas   | [Enlace](#aws-cloudshell-1) | [Enlace](#aws-console-1) |


## Escaneo de una sola cuenta
Para ejecutar la solución de evaluación de seguridad de autoservicio (SATv2) en una sola cuenta, siga las instrucciones a continuación. Puede optar por usar la AWS CLI o la consola de AWS.

### AWS CloudShell

<details>
    <summary>Mostrar pasos</summary>

#### Desplegar la solución

1. Inicie sesión en su cuenta de AWS.

2. En la barra de navegación, elija [AWS CloudShell](https://console.aws.amazon.com/cloudshell/home).

3. Para descargar la plantilla de CloudFormation, ingrese el siguiente comando.
    ```bash
    wget https://raw.githubusercontent.com/awslabs/aws-security-assessment-solution/main/2-sat2-codebuild-prowler.yaml
    ```

4. Para crear un bucket de S3 para almacenar la plantilla, ingrese los siguientes comandos. La plantilla es mayor a 51,200 bytes, por lo que CloudFormation requiere que se cargue en S3 en lugar de pasarse en línea.

    ```bash
    TEMPLATE_BUCKET=sat2-cfn-templates-$(aws sts get-caller-identity --query Account --output text)-$AWS_REGION
    aws s3 mb s3://$TEMPLATE_BUCKET --region $AWS_REGION
    ```

5. Para desplegar la plantilla de CloudFormation, ingrese el siguiente comando. La opción `--s3-bucket` carga la plantilla en el bucket antes de crear la pila.

    ```bash
    aws cloudformation deploy --template-file 2-sat2-codebuild-prowler.yaml \
    --stack-name sat2 \
    --capabilities CAPABILITY_NAMED_IAM \
    --s3-bucket $TEMPLATE_BUCKET
    ```

6. Después de crear la pila, puede eliminar el bucket de almacenamiento temporal. Solo se utiliza para entregar la plantilla a CloudFormation.

    ```bash
    aws s3 rb s3://$TEMPLATE_BUCKET --force
    ```

</details>


### Consola de AWS

<details>
    <summary>Mostrar pasos</summary>

#### Desplegar la solución

1. Descargue la plantilla de CloudFormation [2-sat2-codebuild-prowler.yaml](https://github.com/awslabs/aws-security-assessment-solution/blob/main/2-sat2-codebuild-prowler.yaml).
2. Navegue a la [consola de AWS CloudFormation](https://console.aws.amazon.com/cloudformation).
3. En el panel de navegación, elija **Stacks**.
4. Elija **Create stack**.
5. En Specify template, seleccione **Upload a template file**.
6. Elija **2-sat2-codebuild-prowler.yaml** que descargó en el paso 1.
7. Elija **Next**.
8. Para Stack name, ingrese **sat2**.
9. Elija **Next**.
10. En la página Configure stack options, elija **Next**.
11. En la página Review SAS, seleccione la casilla **I acknowledge that AWS CloudFormation might create IAM resources.** y elija **Submit**.

</details>


## Escaneo de múltiples cuentas
La solución de evaluación de seguridad de autoservicio (SAT) también admite escaneos de múltiples cuentas. Debe desplegar un rol de requisito previo en cada cuenta en la que desee realizar el escaneo. Para ejecutar SATv2 en múltiples cuentas, siga las instrucciones a continuación. Puede optar por usar la AWS CLI o la consola de AWS.

Estas instrucciones asumen que ya cuenta con los requisitos previos para las operaciones de conjuntos de pilas. Para obtener más información, visite la [Guía del usuario de AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html).

>Nota: Los StackSets no se aplican a la cuenta de administración. Para evaluar la cuenta de administración, despliegue el 1-sat2-member-role como una pila de CloudFormation.

### AWS CloudShell

<details>
    <summary>Mostrar pasos</summary>

#### Paso 1: Desplegar el rol de requisito previo

1. Inicie sesión en su cuenta de administración de AWS.
2. En la barra de navegación, elija [AWS CloudShell](https://console.aws.amazon.com/cloudshell/home).
3. Identifique desde qué cuenta ejecutará el escaneo de Prowler. Los clientes suelen utilizar una cuenta de herramientas de seguridad o una cuenta de auditoría. Tome nota del ID de la cuenta para el parámetro **ProwlerAccountID**.
4. Para descargar la plantilla de CloudFormation, ingrese el siguiente comando.

    ```bash
    wget https://raw.githubusercontent.com/awslabs/aws-security-assessment-solution/main/1-sat2-member-roles.yaml
    ```


5. Despliegue la plantilla de CloudFormation a través de CloudFormation StackSets. Actualice los siguientes parámetros:
   - Reemplace **\<aws-account-id\>** con el ID de la cuenta desde la que ejecutará Prowler.
   - Reemplace **\<region\>** con la región en la que desea desplegar la plantilla.

    ```bash
    aws cloudformation create-stack-set --template-body file://1-sat2-member-roles.yaml \
    --stack-set-name sat2-member-roles \
    --permission-model SERVICE_MANAGED \
    --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=false \
    --capabilities CAPABILITY_NAMED_IAM \
    --parameters ParameterKey=ProwlerAccountID,ParameterValue=<aws-account-id> \
    --region <region>
    ```

6. Utilice el siguiente comando para crear instancias de pila para cada cuenta de su organización. Puede apuntar a una OU específica o a la OU raíz. Actualice los siguientes parámetros:
   - Reemplace **\<root-ou\>** con el [ID raíz de la organización](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html#orgs_view_root).
   - Reemplace **\<region\>** con la región en la que desea desplegar la plantilla.

    ```bash
    aws cloudformation create-stack-instances --stack-set-name sat2-member-roles \
    --deployment-targets OrganizationalUnitIds='["<root-ou>"]' \
    --regions '["<region>"]' \
    --operation-preferences FailureTolerancePercentage=100,MaxConcurrentPercentage=100 \
    --region <region>
    ```

7. Determine si tiene un administrador delegado o una política de recursos que ya exista para su cuenta de Prowler. Solo se necesita una opción y se recomienda la política de recursos, ya que es más granular.

    >Nota: Las políticas de recursos no están disponibles en GovCloud, por lo que deberá usar un administrador delegado.

    7a. Su cuenta de Prowler podría ya tener una delegación. Puede usar los siguientes comandos para verificarlo:

    ```bash
    aws organizations list-delegated-administrators
    ```

    7b. Su cuenta de Prowler podría ya tener una política de recursos. Puede usar los siguientes comandos para verificarlo:

    ```bash
    aws organizations describe-resource-policy
    ```

8. Si no tiene un administrador delegado ni una política de recursos, puede usar los siguientes comandos para agregar el acceso adecuado.

    >Nota: Si no puede proporcionar acceso delegado a ListAccount, puede proporcionar el parámetro MultiAccountListOverride en la `2-sat2-codebuild-prowler template`.

    >Nota: Si está utilizando GovCloud, use el paso 8a para crear un administrador delegado. Si está utilizando una región comercial, use el paso 8b para proporcionar acceso con privilegios mínimos a ListAccounts.

    8a. Use el siguiente comando para delegar un administrador si aún no tiene uno. Reemplace **\<aws-account-id\>** con el ID de la cuenta desde la que ejecutará Prowler.

    ```bash
    aws organizations register-delegated-administrator <aws-account-id>
    ```

    8b. Use los siguientes comandos para agregar una política de recursos.

    - Reemplace **\<aws-account-id\>** con el ID de la cuenta desde la que ejecutará Prowler.

        ```bash
        aws organizations put-resource-policy --content \
        '{
            "Version": "2012-10-17",
            "Statement": [
            {
                "Sid": "Statement",
                "Effect": "Allow",
                "Principal": {
                "AWS": "arn:aws:iam::<aws-account-id>:root"
                },
                "Action": [
                    "organizations:ListAccounts",
                    "organizations:DescribeAccount",
                    "organizations:ListTagsForResource",
                    "organizations:ListParents",
                    "organizations:DescribeOrganizationalUnit"
			    ],
                "Resource": "*"
            }
            ]
        }'
        ```

    >Nota: `ListParents` y `DescribeOrganizationalUnit` son los que completan las columnas `account_ou_uid` y `account_ou_name` en los hallazgos. Omítalos y el resto del escaneo seguirá funcionando, pero esas dos columnas volverán vacías.
#### Paso 2: Desplegar la solución SATv2

>Nota: Asegúrese de haber cambiado a la cuenta que especificó que ejecutará Prowler.

1. Para descargar la plantilla, abra AWS CloudShell en la **cuenta de Prowler** e ingrese el siguiente comando.

    ```bash
    wget https://raw.githubusercontent.com/awslabs/aws-security-assessment-solution/main/2-sat2-codebuild-prowler.yaml
    ```

2. Para crear un bucket de S3 para almacenar la plantilla, ingrese los siguientes comandos. La plantilla es mayor a 51,200 bytes, por lo que CloudFormation requiere que se cargue en S3 en lugar de pasarse en línea.

    ```bash
    TEMPLATE_BUCKET=sat2-cfn-templates-$(aws sts get-caller-identity --query Account --output text)-$AWS_REGION
    aws s3 mb s3://$TEMPLATE_BUCKET --region $AWS_REGION
    ```

3. Para desplegar la plantilla en la cuenta de Prowler. Establezca **MultiAccountScan** en **true** para escanear todas las cuentas de su organización. La opción `--s3-bucket` carga la plantilla en el bucket antes de crear la pila.

    ```bash
    aws cloudformation deploy --template-file 2-sat2-codebuild-prowler.yaml \
    --stack-name sat2-prowler \
    --capabilities CAPABILITY_NAMED_IAM \
    --s3-bucket $TEMPLATE_BUCKET \
    --parameter-overrides MultiAccountScan=true
    ```

4. Después de crear la pila, puede eliminar el bucket de almacenamiento temporal. Solo se utiliza para entregar la plantilla a CloudFormation.

    ```bash
    aws s3 rb s3://$TEMPLATE_BUCKET --force
    ```

</details>

### Consola de AWS

<details>
    <summary>Mostrar pasos</summary>#### Paso 1: Desplegar el rol de requisito previo

1. Descargue los archivos **1-sat2-member-roles.yaml** y **2-sat2-codebuild-prowler.yaml**.

2. Despliegue la plantilla de CloudFormation mediante CloudFormation StackSets. Actualice los siguientes parámetros:
   - Reemplace \<aws-account-id\> con el ID de la cuenta desde la que ejecutará Prowler.
   - Reemplace \<region\> con la Región en la que desea desplegar la plantilla.

3. Navegue a la [consola de AWS CloudFormation](https://console.aws.amazon.com/cloudformation).

4. En el panel de navegación, elija **StackSets**.

5. Elija **Create StackSet**.

6. En Permissions, deje seleccionado **Service-managed permissions**.

7. En Specify template, seleccione **Upload a template file**.

8. Elija **1-sat2-member-roles.yaml** que descargó en el paso 1-1.

9. Elija **Next**.

10. En Stack name, introduzca **sat2-member-role**.

11. En Parameters, introduzca lo siguiente:
      - ProwlerAccountID - El ID de la cuenta desde la que ejecutará Prowler.

12. Elija **Next**.

13. En la página Configure StackSet options, elija **Next**.

14. En Set deployment options, introduzca lo siguiente:
    1.  En **Deployment targets**, deje seleccionado **Deploy to organization**.
    2.  En **Specify regions**, elija **us-east-1**.
    3.  En **Region Concurrency**, elija **Parallel**.

15. Elija **Next**.

16. En la página **Review**, marque la casilla **I acknowledge that AWS CloudFormation might create IAM resources.** y elija **Submit**.

#### Paso 2: Habilitar el administrador delegado para AWS Organizations
Determine si ya existe un administrador delegado o una política de recursos para la cuenta en la que desea desplegar Prowler. Se recomienda ejecutar Prowler desde su cuenta de herramientas de seguridad (Audit). Para actualizar o verificar que la cuenta de auditoría tiene permisos para ListAccounts, siga estos pasos.

1. Navegue a la [consola de AWS Organization](https://console.aws.amazon.com/organizations).
2. En el panel de navegación, elija **Settings**.
3. En Delegated administrator for AWS Organizations, incluya la siguiente declaración.

    ```json
    {
        "Version": "2012-10-17",
        "Statement": [
        {
            "Sid": "Statement",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::<aws-account-id>:root"
            },
            "Action": [
                    "organizations:ListAccounts",
                    "organizations:DescribeAccount",
                    "organizations:ListTagsForResource",
                    "organizations:ListParents",
                    "organizations:DescribeOrganizationalUnit"
			    ],
            "Resource": "*"
        }
        ]
    }
    ```

    >Nota: `ListParents` y `DescribeOrganizationalUnit` son lo que rellena las columnas `account_ou_uid` y `account_ou_name` en los hallazgos. Omítalos y el resto del escaneo seguirá funcionando, pero esas dos columnas aparecerán vacías.

#### Paso 3: Desplegar la solución SATv2

1. Navegue a la [consola de AWS CloudFormation](https://console.aws.amazon.com/cloudformation) en la cuenta desde la que ejecutará la herramienta (ProwlerAccountID).

2. En el panel de navegación, elija **Stacks**.

3. Elija **Create stack**.

4. En Specify template, seleccione **Upload a template file**.

5. Elija **2-sat2-codebuild-prowler.yaml** que descargó en el paso 1-1.

6. Elija **Next**.

7. En Stack name, introduzca **sat2-prowler**.

8. En la sección Parameters, en **MultiAccountScan**, seleccione **true**.

9.  Opcionalmente, puede habilitar los informes para obtener un resumen de todas las cuentas en un único archivo csv. En **Reporting**, seleccione **true**.

10. Elija **Next**.

11. En la página Configure stack options, elija **Next**.

12. En la página Review SAS, marque la casilla **I acknowledge that AWS CloudFormation might create IAM resources.** y elija **Submit**.

</details>

## Revisar los resultados
Una vez desplegada la solución, una función Lambda inicia el proyecto de CodeBuild. Cuando el proyecto de CodeBuild termine de compilarse, los resultados de Prowler se cargarán en el bucket de Amazon S3 creado. Si configuró las [notificaciones](#notifications), recibirá un correo electrónico cuando finalice el escaneo de Prowler. Si configuró los [informes](#reporting-summary), tendrá un archivo csv consolidado en la carpeta /reports.

Si no configuró las alertas por correo electrónico, puede supervisar el progreso desde la [consola de CodeBuild](https://console.aws.amazon.com/codesuite/codebuild/projects).

Para revisar los resultados, siga estos pasos.

1. Navegue a la consola de Amazon S3 en la cuenta en la que desplegó Prowler.

2. Seleccione el bucket que comienza por **sat2-prowler-prowlerfindingsbucket-**

3. Elija la carpeta del formato de salida que desee y, a continuación, las carpetas `scan_date=` y `scan_time=` de la ejecución que quiera revisar.

    Cada formato de salida tiene su propia carpeta de nivel superior, y cada ejecución escribe en una subcarpeta `scan_date=YYYY-MM-DD/scan_time=HHMMSS` debajo de ella. La hora es la hora UTC a la que comenzó el escaneo:

    ```
    csv/scan_date=2026-09-01/scan_time=204955/         Prowler's CSV findings, as written
    html/scan_date=2026-09-01/scan_time=204955/        per-account HTML reports
    json/scan_date=2026-09-01/scan_time=204955/        per-account JSON
    ocsf-json/scan_date=2026-09-01/scan_time=204955/   per-account OCSF JSON
    parquet/scan_date=2026-09-01/scan_time=204955/     the copy Athena queries
    compliance/scan_date=2026-09-01/scan_time=204955/  compliance CSVs, when produced
    reports/                                           consolidated CSV and dashboard
    ```

    Cada ejecución tiene su propia carpeta, por lo que volver a ejecutar la solución nunca mezcla hallazgos nuevos con los antiguos, incluso cuando la ejecuta más de una vez el mismo día. Las ejecuciones anteriores se conservan para que pueda compararlas.

4. Para cada cuenta, habrá 4 tipos de archivo (csv, html, json, json-ocsf) con el formato `prowler-output-<aws-account-id>-<datetime>`.

5. Seleccione uno de los objetos html.

6. Elija **Open**.

   ![Prowler Output](https://assets.kitploit.com/production/public/readmes/5740/4200d8f48f957c25de4742ce4a266d910064a3bbc2ff12f2959ee2a355c729cf.png)

7. Se abrirá una nueva ventana con su informe. Puede usar los filtros para identificar y priorizar los hallazgos.

   ![Prowler findings](https://assets.kitploit.com/production/public/readmes/5740/78250f1539232ae0231038626f5319fcf52578a866ab611425e92b4e79ff370f.png)

### Panel de SATv2 (recomendado)
Si habilitó los informes, habrá un panel html estático en la carpeta de informes.

1. Seleccione el objeto **satv2-dashboard.html** y elija **Open**.
2. Seleccione el csv consolidado, elija **Actions**, **Share with a presigned URL**.
    >Nota: No comparta su URL prefirmada con nadie. Una URL prefirmada utiliza credenciales de seguridad para conceder permiso temporal para descargar objetos. La URL se puede introducir en un navegador o usar mediante un programa para descargar el objeto. Las credenciales utilizadas por la URL prefirmada son las del usuario de AWS que generó la URL. Para obtener más información, consulte Sharing objects with presigned URLs.
3. En **number of minutes**, introduzca **1**.
4. Pegue la URL en la página satv2-dashboard.html.
5. Revise un ejemplo de salida del panel en [img/satv2-dashboard.png](https://github.com/awslabs/aws-security-assessment-solution/blob/main/img/satv2-dashboard.png)

### Panel de Prowler
Prowler tiene un panel integrado para revisar los resultados. Para usar el panel de Prowler, Prowler debe estar instalado localmente y debe descargar los resultados de Prowler localmente.

Debe tener la Interfaz de Línea de Comandos (CLI) de AWS y credenciales válidas. Para obtener más información, consulte la [guía del usuario de la interfaz de línea de comandos de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

1. Instale Prowler. Para obtener más información, consulte las [instrucciones de instalación de Prowler](https://docs.prowler.com/projects/prowler-open-source/en/latest/#installation).

    ```
    pip install prowler
    ```

2. Obtenga el nombre del bucket de Amazon S3. El nombre del bucket está en la consola de CloudFormation como recurso ProwlerFindingsBucket. Alternativamente, navegue a la consola de S3 y busque un bucket con el formato `{stack_name}-prowlerfindingsbucket-{ID}`

3. Descargue los CSV y los datos de cumplimiento desde S3. Si no ejecutó un escaneo completo, es posible que no tenga datos de cumplimiento. Reemplace `{bucket_name}` con el nombre de su bucket, y `{scan_date}` y `{scan_time}` con la ejecución que desea cargar, por ejemplo `2026-09-01` y `204955`. Para listar las ejecuciones disponibles, use `aws s3 ls s3://{bucket_name}/csv/scan_date={scan_date}/`.

    ```
    aws s3 sync s3://{bucket_name}/compliance/scan_date={scan_date}/scan_time={scan_time}/ output/compliance/
    aws s3 sync s3://{bucket_name}/csv/scan_date={scan_date}/scan_time={scan_time}/ output/
    ```

    >Nota: Sincronice una ejecución a la vez. El panel de Prowler lee `output/*.csv` y no busca en subcarpetas, por lo que copiar las propias carpetas `scan_date=` en `output/` producirá un panel vacío. Cargar dos ejecuciones a la vez mostraría cada hallazgo dos veces.

4. Ejecute el panel. Use el siguiente comando para ejecutar el panel. De forma predeterminada, se iniciará en http://127.0.0.1:11666/.

    ```
    prowler dashboard
    ```

## Tipos de escaneo

De forma predeterminada, SAT2 ejecutará un escaneo intermedio, que ejecuta todas las comprobaciones de severidad crítica y alta. Puede optar por ejecutar un escaneo básico o completo eligiendo un valor diferente para el parámetro ProwlerScanType.

Por ejemplo, un escaneo de una sola cuenta usando la opción de escaneo intermedio usaría este comando:```bash
aws cloudformation deploy --template-file 2-sat2-codebuild-prowler.yaml \
--stack-name sat2-prowler \
--capabilities CAPABILITY_NAMED_IAM \
--s3-bucket $TEMPLATE_BUCKET \
--parameter-overrides ProwlerScanType=Intermediate
```
>Nota: La opción `--s3-bucket` es obligatoria porque la plantilla supera los 51.200 bytes, el máximo que CloudFormation acepta en línea. `$TEMPLATE_BUCKET` es el bucket de staging creado en los pasos de despliegue de CloudShell anteriores. Se aplica a todos los ejemplos de `aws cloudformation deploy` de este README.

Las comprobaciones se añaden con frecuencia; para ver las últimas comprobaciones, ejecute el comando `prowler aws --list-checks`. A continuación se proporciona un ejemplo para cada nivel de comprobación.

### Escaneo básico
Para ver una lista de comprobaciones, revise [comprobaciones básicas](https://github.com/awslabs/aws-security-assessment-solution/blob/main/checks/basic_checks.txt).

- Comprobación manual - Mantener los datos de contacto actualizados.
- Buscar runtimes de Lambda obsoletos.
- Asegurarse de que CloudTrail está habilitado en todas las regiones
```

---

[Read more](https://github.com/awslabs/aws-security-assessment-solution)
Descargar herramienta