Saltar a contenido

Import your Powerpipe results into AWS SecurityHub

Continuado con lo que vimos en Automate your Steampipe AWS configuration with AWS Organizations, hemos desarrollado una powerpipe-securityhub-importer para importar los resultados de vuestros controles en AWS SecurityHub.

Powerpipe nos permite ejecutar benchmarks que, a través de Steampipe, nos permite saber el resultado de nuestros controles.

architecture architecture

Powerpipe permite exportar el resultado de tus benchmark o controles en formato ASFF. Si ejecutamos estos controles en una organización de AWS, obtendremos el resultado de todas las cuentas y regiones en un único fichero.

Pero no podemos importarlos directamente en nuestra SecurityHub centralizado, tenemos importar cada finding en la cuenta y región en la que se encuentra el recurso escaneado.

Para facilitar este proceso, y añadir alguna feature extra, hemos publicado powerpipe-securityhub-importer .

Requisitos

Para poder usarla, necesitaréis:

  1. Un IAM Role creado en todas las cuentas de tu organización con:
    • Una Trust Policy que permita sts:AssumeRole desde un Role centralizado.
    • Una policy con permisos para importar findings en SecurityHub:
      {
        "Sid": "SecurityHubImport",
        "Effect": "Allow",
        "Action": [
          "securityhub:BatchImportFindings"
        ],
        "Resource": "*"
      }
      
  2. Credenciales de AWS con los que puedas asumir el Role requerido en el punto 1.:
    {
      "Sid": "AssumeSecurityImportRole",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": "arn:aws:iam::*:role/role-name-with-path"
    }
    

Tip

Para más detalle de cómo hacer esto podéis echar un ojo a nuestro post Deploy IAM Roles across an AWS Organization as code.

Features

  • Importa los resultados de Powerpipe en ASFF en AWS SecurityHub por cuenta y región de AWS.
  • Permite ignorar los findings cuyo estado sea PASSED o NOT_AVAILABLE.
  • Es rápido! 🚀

Cómo funciona?

  1. Parsea el fichero con los findings en ASFF.
  2. Agrupa los findings por cuenta y región.
  3. Asume el Role por cada cuenta.
  4. Importa los findings en AWS SecurityHub cada cuenta y región.

flow flow

Cómo usarlo?

./powerpipe_securityhub_importer -findings findings.asff.json -role role-name-with-path

Para ignorar los findings cuyo estado sea PASSED o NOT_AVAILABLE, añadir la flag -failed.

Important

Revisa el repositorio powerpipe-securityhub-importer para ver todas las opciones disponibles. Allí siempre tendrás toda la info actualizada.


Y esto es todo amigos! Si os queda alguna duda o tenéis algún comentario no dudéis en escribirnos.

Saludos, y que la fuerza os acompañe.