

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Integre bidirecionalmente AWS Security Hub CSPM com o software Jira
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software"></a>

*Joaquin Rinaudo, Amazon Web Services*

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

Essa solução oferece suporte a uma integração bidirecional entre AWS Security Hub CSPM e o Jira. Usando essa solução, você pode criar e atualizar tíquetes do Jira de forma automática e manual a partir das descobertas do CSPM do Security Hub. As equipes de segurança podem usar essa integração para notificar as equipes de desenvolvedores sobre descobertas graves de segurança que exigem ação.

A solução permite que você:
+ Selecione quais controles CSPM do Security Hub criam ou atualizam tickets automaticamente no Jira.
+ No console CSPM do Security Hub, use as ações personalizadas do CSPM do Security Hub para escalar manualmente os tíquetes no Jira.
+ Atribua tickets automaticamente no Jira com base nas Conta da AWS tags definidas em AWS Organizations. Se essa tag não for definida, um destinatário padrão será usado.
+ Suprima automaticamente as descobertas de CSPM do Security Hub marcadas como falso positivo ou risco aceito no Jira.
+ Feche automaticamente um ticket do Jira quando sua descoberta relacionada for arquivada no CSPM do Security Hub.
+ Reabra os tíquetes do Jira quando as descobertas do CSPM do Security Hub ocorrerem novamente.

**Fluxo de trabalho do Jira**

A solução usa um fluxo de trabalho personalizado do Jira que permite aos desenvolvedores gerenciar e documentar riscos. À medida que o problema avança no fluxo de trabalho, a integração bidirecional garante que o status do ticket do Jira e da descoberta do CSPM do Security Hub seja sincronizado entre os fluxos de trabalho em ambos os serviços. Este fluxo de trabalho é um derivado do *SecDevOps Risk Workflow* de Dinis Cruz, licenciado sob a versão 2.0 da [Licença Apache](https://www.apache.org/licenses/LICENSE-2.0). Recomendamos adicionar uma condição de fluxo de trabalho do Jira para que somente membros da sua equipe de segurança possam alterar o status do tíquete.

![\[Um diagrama do fluxo de trabalho de um problema do Jira. Você pode corrigir o problema, aceitar o risco ou marcá-lo como falso positivo.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/10b08232-437e-4b0a-b6a5-b5ef4d415ac5.png)


Para ver um exemplo de um tíquete do Jira gerado automaticamente por essa solução, consulte a seção [Informações adicionais](#bidirectionally-integrate-aws-security-hub-with-jira-software-additional) desse padrão.

## Pré-requisitos e limitações
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-prereqs"></a>

**Pré-requisitos **
+ Se você quiser implantar essa solução em um AWS ambiente com várias contas:
  + Seu ambiente de várias contas está ativo e é gerenciado por AWS Organizations.
  + O CSPM do Security Hub está habilitado em seu. Contas da AWS
  + Em AWS Organizations, você designou uma conta de administrador CSPM do Security Hub.
  + Você tem uma função entre contas AWS Identity and Access Management (IAM) que tem `AWSOrganizationsReadOnlyAccess` permissões para a conta AWS Organizations de gerenciamento.
  + (Opcional) Você marcou seu Contas da AWS com`SecurityContactID`. Essa tag é usada para atribuir tíquetes do Jira aos contatos de segurança definidos.
+ Se você quiser implantar essa solução em uma única solução Conta da AWS:
  + Você tem uma Conta da AWS ativa.
  + O CSPM do Security Hub está habilitado em seu. Conta da AWS
+ Uma instância do Jira Data Center
**Importante**  
Essa solução é compatível com o uso do Jira Cloud. No entanto, o Jira Cloud não suporta a importação de fluxos de trabalho XML, então você precisa recriar manualmente o fluxo de trabalho no Jira. Você pode encontrar as transições e o status no GitHub repositório.
+ Permissões de administrador no Jira
+ Use um dos seguintes tokens do Jira:
  + Para o Jira Enterprise, um token de acesso pessoal (PAT). Para obter mais informações, consulte [Uso de tokens de acesso pessoal](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html) (suporte da Atlassian).
  + Para o Jira Cloud, um token da API do Jira. Para obter mais informações, consulte [Gerenciamento de tokens de API](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) (suporte da Atlassian).

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

Esta seção ilustra a arquitetura da solução em vários cenários, como quando o desenvolvedor e o engenheiro de segurança decidem aceitar o risco ou resolver o problema.

*Cenário 1: o desenvolvedor resolve o problema*

1. O Security Hub CSPM gera uma descoberta em relação a um controle de segurança especificado, como os do padrão [AWS Foundational Security Best](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) Practices.

1. Um CloudWatch evento da Amazon associado à descoberta e à `CreateJIRA` ação inicia uma AWS Lambda função.

1. A função do Lambda usa seu arquivo de configuração e o campo `GeneratorId` da descoberta para avaliar se ela deve escalar a descoberta.

1. A função Lambda determina que a descoberta deve ser escalada e obtém a etiqueta da conta AWS Organizations na `SecurityContactID` conta de gerenciamento. AWS Esse ID está associado ao desenvolvedor e é usado como ID do destinatário do tíquete do Jira.

1. A função Lambda usa as credenciais armazenadas AWS Secrets Manager para criar um ticket no Jira. O Jira notifica o desenvolvedor.

1. O desenvolvedor aborda a descoberta de segurança subjacente e, no Jira, altera o status do tíquete para `TEST FIX`.

1. O Security Hub CSPM atualiza a descoberta à medida `ARCHIVED` que um novo evento é gerado. Esse evento faz com que a função do Lambda encerre o tíquete do Jira automaticamente.

![\[Um diagrama de arquitetura mostrando a integração entre o Jira e o Security Hub quando um desenvolvedor corrige um problema.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/18d9a6ce-dd38-4d36-a95d-270fce776c30.png)


*Cenário 2: o desenvolvedor decide aceitar o risco*

1. O Security Hub CSPM gera uma descoberta em relação a um controle de segurança especificado, como os do padrão [AWS Foundational Security Best](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html) Practices.

1. Um CloudWatch evento associado à descoberta e à `CreateJIRA` ação inicia uma função Lambda.

1. A função do Lambda usa seu arquivo de configuração e o campo `GeneratorId` da descoberta para avaliar se ela deve escalar a descoberta.

1. A função Lambda determina que a descoberta deve ser escalada e obtém a etiqueta da conta AWS Organizations na `SecurityContactID` conta de gerenciamento. AWS Esse ID está associado ao desenvolvedor e é usado como ID do destinatário do tíquete do Jira.

1. A função do Lambda usa as credenciais armazenadas no Secrets Manager para criar um tíquete no Jira. O Jira notifica o desenvolvedor.

1. O desenvolvedor decide aceitar o risco e, no Jira, altera o status do tíquete para `AWAITING RISK ACCEPTANCE`.

1. O engenheiro de segurança analisa a solicitação e considera a justificativa comercial apropriada. O engenheiro de segurança altera o status do tíquete do Jira para `ACCEPTED RISK`. Isso fecha o tíquete do Jira.

1. Um evento CloudWatch diário inicia a função de atualização do Lambda, que identifica tickets fechados do Jira e atualiza suas descobertas relacionadas ao CSPM do Security Hub como. `SUPPRESSED`

![\[Um diagrama de arquitetura mostrando a integração entre o Jira e o Security Hub quando um desenvolvedor aceita o risco de uma descoberta.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/d5a2f946-9c79-4661-96c1-74c813cbf406.png)


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

**Serviços da AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)ajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los em todo o ciclo de vida em todas Contas da AWS as regiões.
+ [O Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) ajuda você a monitorar eventos do sistema para seus AWS recursos usando regras para combinar eventos e encaminhá-los para funções ou fluxos.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)é um serviço de gerenciamento de contas que ajuda você a consolidar várias Contas da AWS em uma organização que você cria e gerencia centralmente.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ajuda a substituir credenciais codificadas, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo por programação.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)fornece uma visão abrangente do seu estado de segurança em AWS. Também ajuda você a verificar seu AWS ambiente de acordo com os padrões e as melhores práticas do setor de segurança.

**Repositório de código**

O código desse padrão está disponível em GitHub, no repositório [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/). Ele inclui o código de amostra e o fluxo de trabalho do Jira para essa solução.

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

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


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implantar o fluxo de trabalho. | Como administrador no Jira, importe o arquivo `issue-workflow.xml` para sua instância do Jira Data Center. Se você usa o Jira Cloud, precisa criar o fluxo de trabalho de acordo com os arquivos `assets/jira-cloud-transitions.png` e `assets/jira-cloud-status.png`. Os arquivos podem ser encontrados no repositório [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/) em. GitHub Para obter instruções, consulte [Uso do XML para criar um fluxo de trabalho](https://confluence.atlassian.com/adminjiraserver/using-xml-to-create-a-workflow-938847525.html) (documentação do Jira). | Administrador do Jira | 
| Ative e atribua o fluxo de trabalho. | Os fluxos de trabalho ficam inativos até que você os atribua a um esquema de fluxo de trabalho. Em seguida, você atribui o esquema do fluxo de trabalho a um projeto.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador do Jira | 

### Estabeleça os parâmetros da solução
<a name="set-up-the-solution-parameters"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure os parâmetros da solução. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas AWS | 
| Identifique as descobertas que você deseja automatizar. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) |  | 
| Adicione as descobertas ao arquivo de configuração. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html)O exemplo de código a seguir mostra como automatizar as descobertas `aws-foundational-security-best-practices/v/1.0.0/SNS.1` e `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>Você pode optar por automatizar descobertas diferentes para cada uma Região da AWS. Uma boa prática para ajudar a evitar descobertas duplicadas é selecionar uma única região para automatizar a criação de controles relacionados ao IAM. | Administrador de sistemas AWS | 

### Implantar a integração
<a name="deploy-the-integration"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Implantar a integração. | Em um terminal de linha de comando, digite o seguinte comando:<pre>./deploy.sh prod</pre> | Administrador de sistemas AWS | 
| Faça upload das credenciais do Jira para o Secrets Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas AWS | 
| Crie a ação personalizada CSPM do Security Hub. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Administrador de sistemas AWS | 

## Recursos relacionados
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-resources"></a>
+ [AWS Conector de gerenciamento de serviços para o Jira Service Management](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/integrations-jiraservicedesk.html)
+ [AWS Padrão básico de melhores práticas de segurança](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)

## Mais informações
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-additional"></a>

**Exemplo de um tíquete do Jira**

Quando ocorre uma descoberta de CSPM especificada do Security Hub, essa solução cria automaticamente um ticket do Jira. O tíquete inclui as seguintes informações:
+ **Título**: o título identifica o problema de segurança no seguinte formato:

  ```
  AWS Security Issue :: <AWS account ID> :: <Security Hub finding title>
  ```
+ **Descrição** — A seção de descrição do ticket descreve o controle de segurança associado à descoberta, inclui um link para a descoberta no console CSPM do Security Hub e fornece uma breve descrição de como lidar com o problema de segurança no fluxo de trabalho do Jira.

Veja a seguir um exemplo de um tíquete do Jira gerado automaticamente.


|  | 
| --- |
| Título | AWS Problema de segurança:: 012345678912:: Lambda.1 As políticas da função Lambda devem proibir o acesso público. | 
| --- |--- |
| **Descrição** | **Qual é o problema?** Detectamos uma descoberta de segurança na Conta da AWS 012345678912 pela qual você é responsável.Esse controle verifica se a política de AWS Lambda função anexada ao recurso Lambda proíbe o acesso público. Se a política da função do Lambda permitir acesso público, o controle falhará.<Link to Security Hub CSPM finding>**O que devo fazer com o tíquete?**Acesse a conta e verifique a configuração. Reconheça o trabalho no tíquete movendo-o para “Alocado para correção”. Depois de corrigido, mova para o teste da correção, para que a segurança valide que o problema foi resolvido.Se você acha que o risco deve ser aceito, mova-o para “Aguardando aceitação do risco”. Isso exigirá a análise de um engenheiro de segurança.Se você achar que é um falso positivo, faça a transição para “Marcar como falso positivo”. Isso será revisado por um engenheiro de segurança e reopened/closed , consequentemente. | 

 