

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Integración bidireccional AWS Security Hub CSPM con el software de Jira
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software"></a>

*Joaquin Rinaudo, Amazon Web Services*

## Resumen
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-summary"></a>

Esta solución admite una integración bidireccional entre Jira y Jira. AWS Security Hub CSPM Con esta solución, puedes crear y actualizar los tickets de Jira de forma automática y manual a partir de las conclusiones del CSPM de Security Hub. Los equipos de seguridad pueden usar esta integración para notificar a los equipos de desarrollo cualquier resultado grave en materia de seguridad que requiera la adopción de medidas.

La solución le permite:
+ Selecciona qué controles de CSPM de Security Hub crean o actualizan automáticamente los tickets en Jira.
+ En la consola CSPM de Security Hub, usa las acciones personalizadas de CSPM de Security Hub para escalar manualmente los tickets en Jira.
+ Asigna automáticamente los tickets en Jira en función de las etiquetas definidas en. Cuenta de AWS AWS Organizations Si esta etiqueta no está definida, se asignan de forma predeterminada.
+ Suprime automáticamente los hallazgos de CSPM de Security Hub que estén marcados como falsos positivos o riesgos aceptados en Jira.
+ Cierra automáticamente un ticket de Jira cuando su hallazgo relacionado esté archivado en Security Hub CSPM.
+ Vuelva a abrir los tickets de Jira cuando se repitan los hallazgos de CSPM de Security Hub.

**Flujo de trabajo de Jira**

La solución emplea un flujo de trabajo de Jira personalizado que permite a los desarrolladores gestionar y documentar los riesgos. A medida que el problema avanza en el flujo de trabajo, la integración bidireccional garantiza que el estado del ticket de Jira y la búsqueda de CSPM de Security Hub estén sincronizados en todos los flujos de trabajo de ambos servicios. [Este flujo de trabajo es un derivado de *SecDevOps Risk Workflow* de Dinis Cruz, licenciado bajo la licencia Apache versión 2.0.](https://www.apache.org/licenses/LICENSE-2.0) Recomendamos añadir una condición de flujo de trabajo de Jira para que solo los miembros de su equipo de seguridad puedan cambiar el estado del ticket.

![\[Diagrama de flujo de trabajo de un problema de Jira. Puede solucionar el problema, aceptar el riesgo o marcarlo como falso positivo.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/10b08232-437e-4b0a-b6a5-b5ef4d415ac5.png)


Para ver un ejemplo de ticket de Jira generado automáticamente por esta solución, consulte la sección de [Información adicional](#bidirectionally-integrate-aws-security-hub-with-jira-software-additional) de este patrón.

## Requisitos previos y limitaciones
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-prereqs"></a>

**Requisitos previos **
+ Si desea implementar esta solución en un entorno de múltiples cuentas AWS :
  + Su entorno de múltiples cuentas está activo y gestionado por. AWS Organizations
  + El CSPM de Security Hub está activado en su. Cuentas de AWS
  + En AWS Organizations, ha designado una cuenta de administrador CSPM de Security Hub.
  + Tiene una función multicuenta AWS Identity and Access Management (IAM) que tiene `AWSOrganizationsReadOnlyAccess` permisos para acceder a la cuenta de administración. AWS Organizations 
  + (Opcional) La has etiquetado con. Cuentas de AWS `SecurityContactID` Esta etiqueta se usa para asignar tickets de Jira a los contactos de seguridad definidos.
+ Si desea implementar esta solución en una sola unidad Cuenta de AWS:
  + Usted tiene una Cuenta de AWS activa.
  + El CSPM de Security Hub está activado en su. Cuenta de AWS
+ Una instancia del centro de datos de Jira
**importante**  
Esta solución es compatible con el uso de Jira Cloud. Sin embargo, Jira Cloud no admite la importación de flujos de trabajo XML, por lo que deberá volver a crear el flujo de trabajo manualmente en Jira. Puede encontrar las transiciones y el estado en el GitHub repositorio.
+ Permisos de administrador en Jira
+ Uno de los siguientes tokens de Jira:
  + Para Jira Enterprise, un token de acceso personal (PAT). Para obtener más información, consulte [Uso de tokens de acceso personal](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html) (soporte de Atlassian).
  + Para Jira Cloud, un token de la API de Jira. Para obtener más información, consulte [Gestionar tokens de API](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) (soporte de Atlassian).

## Arquitectura
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-architecture"></a>

Esta sección ilustra la arquitectura de la solución en distintos escenarios, por ejemplo, cuando el desarrollador y el ingeniero de seguridad deciden aceptar el riesgo o deciden solucionar el problema.

*Escenario 1: el desarrollador aborda el problema*

1. Security Hub CSPM genera una conclusión contra un control de seguridad específico, como los del estándar [AWS Foundational Security Best](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) Practices.

1. Un CloudWatch evento de Amazon asociado al hallazgo y a la `CreateJIRA` acción inicia una AWS Lambda función.

1. La función de Lambda usa su archivo de configuración y el campo `GeneratorId` del resultado para evaluar el escalado del resultado.

1. La función Lambda determina que el hallazgo debe escalarse y obtiene la etiqueta de la `SecurityContactID` cuenta de administración AWS Organizations . AWS Esta ID está asociada al desarrollador y se usa como ID de asignación del ticket de Jira.

1. La función Lambda usa las credenciales almacenadas AWS Secrets Manager para crear un ticket en Jira. Jira notifica al desarrollador.

1. El desarrollador aborda el problema de seguridad subyacente en el resultado y, en Jira, cambia el estado del ticket a `TEST FIX`.

1. Security Hub CSPM actualiza el hallazgo a medida que `ARCHIVED` se genera un nuevo evento. Este evento hace que la función de Lambda cierre automáticamente el ticket de Jira.

![\[Diagrama de arquitectura que muestra la integración de Jira y Security Hub cuando un desarrollador soluciona un problema.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/18d9a6ce-dd38-4d36-a95d-270fce776c30.png)


*Escenario 2: el desarrollador decide aceptar el riesgo*

1. Security Hub CSPM genera una conclusión contra un control de seguridad específico, como los del estándar [AWS Foundational Security Best](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) Practices.

1. Un CloudWatch evento asociado al hallazgo y a la `CreateJIRA` acción inicia una función Lambda.

1. La función de Lambda usa su archivo de configuración y el campo `GeneratorId` del resultado para evaluar el escalado del resultado.

1. La función Lambda determina que el hallazgo debe escalarse y obtiene la etiqueta de la `SecurityContactID` cuenta de administración AWS Organizations . AWS Esta ID está asociada al desarrollador y se usa como ID de asignación del ticket de Jira.

1. La función de Lambda usa las credenciales almacenadas en AWS Secrets Manager para crear un ticket en Jira. Jira notifica al desarrollador.

1. El desarrollador decide aceptar el riesgo y, en Jira, cambia el estado del ticket a `AWAITING RISK ACCEPTANCE`.

1. El ingeniero de seguridad revisa la solicitud y considera que la justificación empresarial es adecuada. El ingeniero de seguridad cambia el estado del ticket de Jira a `ACCEPTED RISK`. El ticket de Jira se cierra.

1. Un evento CloudWatch diario inicia la función Lambda de actualización, que identifica los tickets de Jira cerrados y actualiza los hallazgos relacionados con el CSPM de Security Hub como. `SUPPRESSED`

![\[Un diagrama de arquitectura que muestra la integración de Jira y Security Hub cuando un desarrollador acepta el riesgo de un resultado.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/d5a2f946-9c79-4661-96c1-74c813cbf406.png)


## Tools (Herramientas)
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-tools"></a>

**Servicios de AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de su ciclo de vida en todas las regiones. Cuentas de AWS 
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) le ayuda a supervisar los eventos del sistema para sus AWS recursos mediante el uso de reglas para hacer coincidir los eventos y enrutarlos a funciones o transmisiones.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)es un servicio de administración de cuentas que le ayuda a consolidar múltiples cuentas Cuentas de AWS en una organización que usted crea y administra de forma centralizada.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) lo ayuda a reemplazar las credenciales codificadas en su código, incluidas contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)proporciona una visión completa del estado de su seguridad en AWS. También le ayuda a comparar su AWS entorno con los estándares y las mejores prácticas del sector de la seguridad.

**Repositorio de código**

El código de este patrón está disponible en GitHub el repositorio [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/). Incluye el código de muestra y el flujo de trabajo de Jira para esta solución.

## Epics
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-epics"></a>

### Configure Jira
<a name="configure-jira"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Importe el flujo de trabajo. | Como administrador de Jira, importe el archivo `issue-workflow.xml` a su instancia del centro de datos de Jira. Si utiliza Jira Cloud, debe crear el flujo de trabajo según los archivos `assets/jira-cloud-transitions.png` y `assets/jira-cloud-status.png`. Los archivos se encuentran en el repositorio [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/) en. GitHub Para obtener más instrucciones, consulte [Usar XML para crear un flujo de trabajo](https://confluence.atlassian.com/adminjiraserver/using-xml-to-create-a-workflow-938847525.html) (documentación de Jira). | Administrador de Jira | 
| Active y asigne el flujo de trabajo. | Los flujos de trabajo estarán inactivos hasta que los asigne a un esquema de flujo de trabajo. A continuación, asigne el esquema de flujo de trabajo a un proyecto.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de Jira | 

### Configure los parámetros de la solución
<a name="set-up-the-solution-parameters"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure los parámetros de la solución. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas de AWS | 
| Identifique los resultados que desea automatizar. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) |  | 
| Agregue los resultados al archivo de configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html)En el siguiente ejemplo de código se muestra la automatización de los resultados `aws-foundational-security-best-practices/v/1.0.0/SNS.1` y `aws-foundational-security-best-practices/v/1.0.0/S3.1`.<pre>{<br />    "Controls" : {<br />        "eu-west-1": [<br />         "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0/rule/1.22" <br />     ],<br />        "default": [<br />aws-foundational-security-best-practices/v/1.0.0/SNS.1,<br />aws-foundational-security-best-practices/v/1.0.0/S3.1<br />     ]<br />    } <br /> }</pre>Puede optar por automatizar diferentes hallazgos para cada uno de ellos. Región de AWS Una práctica recomendada para evitar la duplicación de resultados es seleccionar una sola región para automatizar la creación de controles relacionados con IAM. | Administrador de sistemas de AWS | 

### Implemente la integración
<a name="deploy-the-integration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la integración. | En un terminal con línea de comandos, escriba el siguiente comando:<pre>./deploy.sh prod</pre> | Administrador de sistemas de AWS | 
| Cargue las credenciales de Jira en Secrets Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas de AWS | 
| Cree la acción personalizada CSPM de Security Hub. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas de AWS | 

## Recursos relacionados
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-resources"></a>
+ [AWS Conector de administración de servicios para Jira Service Management](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/integrations-jiraservicedesk.html)
+ [AWS Estándar fundamental de mejores prácticas de seguridad](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)

## Información adicional
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-additional"></a>

**Ejemplo de un ticket de Jira**

Cuando se detecta un CSPM específico de Security Hub, esta solución crea automáticamente un ticket de Jira. El ticket contiene la información siguiente:
+ **Título**: el título identifica el problema de seguridad en el siguiente formato:

  ```
  AWS Security Issue :: <AWS account ID> :: <Security Hub finding title>
  ```
+ **Descripción**: la sección de descripción del ticket describe el control de seguridad asociado al hallazgo, incluye un enlace al hallazgo en la consola CSPM de Security Hub y proporciona una breve descripción de cómo gestionar el problema de seguridad en el flujo de trabajo de Jira.

El siguiente es un ejemplo de ticket de Jira generado de manera automática.


|  | 
| --- |
| Title | AWS Problema de seguridad:: 012345678912:: Lambda.1 Las políticas de funciones de Lambda deberían prohibir el acceso público. | 
| --- |--- |
| **Descripción** | **¿Cuál es el problema?** Hemos detectado un resultado de seguridad en la cuenta de Cuenta de AWS 012345678912 de la que es responsable.Este control comprueba si la política de AWS Lambda funciones adjunta al recurso de Lambda prohíbe el acceso público. Si la política de función de Lambda permite el acceso público, se produce un error en el control.<Link to Security Hub CSPM finding>**¿Qué debo hacer con el ticket?**Acceda a la cuenta y verifique la configuración. Confirme que está trabajando en el ticket moviéndolo a “Asignado para solucionar”. Una vez solucionado el problema, páselo a la fase de solución de prueba para que el equipo de seguridad valide la resolución el problema.Si cree que se debe aceptar el riesgo, muévalo a “Esperando aceptación del riesgo”. Esto requerirá la revisión de un ingeniero de seguridad.Si cree que es un falso positivo, cámbielo a “Marcar como falso positivo”. Esto será revisado por un ingeniero de seguridad y reopened/closed en consecuencia. | 

 