

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Jira 소프트웨어 AWS Security Hub CSPM 와 양방향으로 통합
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software"></a>

*Joaquin Rinaudo, Amazon Web Services*

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

이 솔루션은 AWS Security Hub CSPM 와 Jira 간의 양방향 통합을 지원합니다. 이 솔루션을 사용하면 Security Hub CSPM 조사 결과에서 Jira 티켓을 자동으로 수동으로 생성하고 업데이트할 수 있습니다. 보안팀은 이 통합을 사용하여 조치가 필요한 심각한 보안 조사 결과를 개발자 팀에 알릴 수 있습니다.

이 솔루션을 통해 다음을 수행할 수 있습니다.
+ Jira에서 티켓을 자동으로 생성하거나 업데이트할 Security Hub CSPM 제어를 선택합니다.
+ Security Hub CSPM 콘솔에서 Security Hub CSPM 사용자 지정 작업을 사용하여 Jira에서 티켓을 수동으로 에스컬레이션합니다.
+ 에 정의된 AWS 계정 태그를 기반으로 Jira에서 티켓을 자동으로 할당합니다 AWS Organizations. 이 태그가 정의되지 않은 경우 기본 담당자가 사용됩니다.
+ Jira에서 거짓 긍정 또는 수락된 위험으로 표시된 Security Hub CSPM 조사 결과를 자동으로 억제합니다.
+ 관련 결과가 Security Hub CSPM에 보관되면 Jira 티켓을 자동으로 닫습니다.
+ Security Hub CSPM 조사 결과가 다시 발생하면 Jira 티켓을 다시 엽니다.

**Jira 워크플로**

이 솔루션은 개발자가 위험을 관리하고 문서화할 수 있는 사용자 지정 Jira 워크플로를 사용합니다. 워크플로를 통해 문제가 진행됨에 따라 양방향 통합을 통해 두 서비스의 워크플로에서 Jira 티켓 및 Security Hub CSPM 결과의 상태가 동기화됩니다. 이 워크플로는 [Apache License 버전 2.0](https://www.apache.org/licenses/LICENSE-2.0)에 따라 라이선스가 부여된 Dinis Cruz의 *SecDevOps 위험 워크플로*에서 파생된 것입니다. 보안 팀 구성원만 티켓 상태를 변경할 수 있도록 Jira 워크플로 조건을 추가하는 것을 권장합니다.

![\[Jira 문제의 워크플로 다이어그램. 문제를 해결하거나, 위험을 허용하거나, 오탐으로 표시할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/10b08232-437e-4b0a-b6a5-b5ef4d415ac5.png)


이 솔루션으로 자동으로 생성되는 Jira 티켓의 예는 이 패턴의 [추가 정보](#bidirectionally-integrate-aws-security-hub-with-jira-software-additional) 섹션을 참고하십시오.

## 사전 조건 및 제한 사항
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-prereqs"></a>

**사전 조건 **
+ 다중 계정 AWS 환경에이 솔루션을 배포하려는 경우:
  + 다중 계정 환경은 활성 상태이며에서 관리합니다 AWS Organizations.
  + Security Hub CSPM은에서 활성화됩니다 AWS 계정.
  + 에서 Security Hub CSPM 관리자 계정을 지정 AWS Organizations했습니다.
  +  AWS Organizations 관리 계정에 대한 `AWSOrganizationsReadOnlyAccess` 권한이 있는 교차 계정 AWS Identity and Access Management (IAM) 역할이 있습니다.
  + (선택 사항) AWS 계정 에 태그를 지정했습니다`SecurityContactID`. 이 태그는 정의된 보안 연락처에 Jira 티켓을 할당하는 데 사용됩니다.
+ 이 솔루션을 단일 내에 배포하려는 경우 AWS 계정:
  + 활성 AWS 계정이 있습니다.
  + Security Hub CSPM은에서 활성화됩니다 AWS 계정.
+ Jira 데이터 센터 인스턴스
**중요**  
이 솔루션은 Jira Cloud 사용을 지원합니다. 하지만, Jira Cloud는 XML 워크플로 가져오기를 지원하지 않으므로 Jira에서 워크플로를 수동으로 다시 만들어야 합니다. GitHub 리포지토리에서 전환 및 상태를 찾을 수 있습니다.
+ Jira의 관리자 권한
+ 다음 Jira 토큰 중 하나:
  + Jira Enterprise의 경우 개인용 액세스 토큰(PAT). 자세한 내용은 [개인용 액세스 토큰 사용](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html)(Atlassian 지원)을 참고하십시오.
  + Jira Cloud의 경우 Jira API 토큰입니다. 자세한 내용은 [API 토큰 관리](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)(Atlassian 지원)를 참고하십시오.

## 아키텍처
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-architecture"></a>

이 섹션에서는 개발자와 보안 엔지니어가 위험을 허용하거나 문제를 해결하기로 결정하는 경우와 같은 다양한 시나리오에서의 솔루션 아키텍처를 보여줍니다.

*시나리오 1: 개발자가 문제를 해결*

1. Security Hub CSPM은 [AWS 기본 보안 모범 사례 표준](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)과 같은 지정된 보안 제어에 대한 결과를 생성합니다.

1. 결과 및 `CreateJIRA` 작업과 연결된 Amazon CloudWatch 이벤트는 AWS Lambda 함수를 시작합니다.

1. Lambda 함수는 구성 파일과 조사 결과의 `GeneratorId` 필드를 사용하여 조사 결과를 에스컬레이션해야 하는지 여부를 평가합니다.

1. Lambda 함수는 결과를 에스컬레이션해야 한다고 결정하고 AWS 관리 `SecurityContactID` 계정의 AWS Organizations 에서 계정 태그를 가져옵니다. 이 ID는 개발자와 연결되며 Jira 티켓의 담당자 ID로 사용됩니다.

1. Lambda 함수는에 저장된 자격 증명을 사용하여 Jira에서 티켓을 AWS Secrets Manager 생성합니다. Jira가 개발자에게 알립니다.

1. 개발자가 기본 보안 조사 결과를 해결하고 Jira에서 티켓 상태를 `TEST FIX`로 변경합니다.

1. Security Hub CSPM은 결과를 로 업데이트`ARCHIVED`하고 새 이벤트가 생성됩니다. 이 이벤트로 인해 Lambda 함수가 Jira 티켓을 자동으로 종료합니다.

![\[개발자가 문제를 해결할 때 Jira와 Security Hub 통합을 보여주는 아키텍처 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/18d9a6ce-dd38-4d36-a95d-270fce776c30.png)


*시나리오 2: 개발자가 위험을 허용하기로 결정*

1. Security Hub CSPM은 [AWS 기본 보안 모범 사례 표준](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)과 같은 지정된 보안 제어에 대한 결과를 생성합니다.

1. 조사 결과 및 `CreateJIRA` 작업과 관련된 CloudWatch 이벤트가 Lambda 함수를 시작합니다.

1. Lambda 함수는 구성 파일과 조사 결과의 `GeneratorId` 필드를 사용하여 조사 결과를 에스컬레이션해야 하는지 여부를 평가합니다.

1. Lambda 함수는 결과를 에스컬레이션해야 한다고 결정하고 AWS 관리 `SecurityContactID` 계정의 AWS Organizations 에서 계정 태그를 가져옵니다. 이 ID는 개발자와 연결되며 Jira 티켓의 담당자 ID로 사용됩니다.

1. Lambda 함수는 Secrets Manager에 저장된 보안 인증 정보를 사용하여 Jira에서 티켓을 생성합니다. Jira가 개발자에게 알립니다.

1. 개발자가 위험을 허용하기로 결정하고 Jira에서 티켓 상태를 `AWAITING RISK ACCEPTANCE`로 변경합니다.

1. 보안 엔지니어가 요청을 검토하고 적절한 비즈니스 근거를 찾습니다. 보안 엔지니어가 Jira 티켓의 상태를 `ACCEPTED RISK`로 변경합니다. 이렇게 하면 Jira 티켓이 종료됩니다.

1. CloudWatch 일일 이벤트는 닫힌 Jira 티켓을 식별하고 관련 Security Hub CSPM 결과를 로 업데이트하는 새로 고침 Lambda 함수를 시작합니다`SUPPRESSED`.

![\[개발자가 조사 결과의 위험을 허용할 때 Jira와 Security Hub 통합을 보여주는 아키텍처 다이어그램입니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/206b9907-c2a3-4142-90bf-d4eabee534c0/images/d5a2f946-9c79-4661-96c1-74c813cbf406.png)


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

**AWS 서비스**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)를 사용하면 AWS 리소스를 설정하고, 빠르고 일관되게 프로비저닝하고, AWS 계정 및 리전의 수명 주기 동안 리소스를 관리할 수 있습니다.
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)를 사용하면 규칙을 사용하여 이벤트를 일치시키고 함수 또는 스트림으로 라우팅하여 AWS 리소스에 대한 시스템 이벤트를 모니터링할 수 있습니다.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 데 도움이 되는 컴퓨팅 서비스입니다. 필요할 때만 코드를 실행하며 자동으로 확장이 가능하므로 사용한 컴퓨팅 시간만큼만 비용을 지불합니다.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)는 여러을 생성하여 중앙에서 관리하는 조직 AWS 계정 으로 통합하는 데 도움이 되는 계정 관리 서비스입니다.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)를 이용하면 코드의 시크릿을 포함해 하드 코딩된 보안 인증을 Secrets Manager에서 프로그래밍 방식으로 시크릿을 검색하도록 하는 API 호출로 바꿀 수 있습니다.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)는의 보안 상태에 대한 포괄적인 보기를 제공합니다 AWS. 또한 보안 업계 표준 및 모범 사례를 기준으로 AWS 환경을 확인하는 데 도움이 됩니다.

**코드 리포지토리**

이 패턴의 코드는 [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/) 리포지토리의 GitHub에서 사용할 수 있습니다. 여기에는 이 솔루션의 샘플 코드와 Jira 워크플로가 포함됩니다.

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

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


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 워크플로를 가져옵니다. | Jira의 관리자로서 `issue-workflow.xml` 파일을 Jira 데이터 센터 인스턴스로 가져옵니다. Jira Cloud를 사용하는 경우 `assets/jira-cloud-transitions.png` 및 `assets/jira-cloud-status.png` 파일에 따라 워크플로를 생성해야 합니다.파일은 GitHub의 [aws-securityhub-jira-software-integration](https://github.com/aws-samples/aws-securityhub-jira-software-integration/) 리포지토리에서 찾을 수 있습니다. 지침은 [XML을 사용하여 워크플로 만들기](https://confluence.atlassian.com/adminjiraserver/using-xml-to-create-a-workflow-938847525.html)(Jira 설명서)를 참고하십시오. | Jira 관리자 | 
| 워크플로를 활성화하고 할당합니다. | 워크플로는 사용자가 이를 워크플로 체계에 할당할 때까지 비활성화됩니다. 그런 다음 프로젝트에 워크플로 체계를 할당합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | Jira 관리자 | 

### 솔루션 매개변수 설정
<a name="set-up-the-solution-parameters"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 솔루션 매개변수를 구성합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | 시스템 관리자 | 
| 자동화하려는 조사 결과를 파악합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) |  | 
| 구성 파일에 조사 결과를 추가합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html)다음의 코드 예제는 `aws-foundational-security-best-practices/v/1.0.0/SNS.1` 및 `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>각 결과에 대해 서로 다른 결과를 자동화하도록 선택할 수 있습니다 AWS 리전. 조사 결과 중복을 방지하는 데 도움이 되는 좋은 방법은 IAM 관련 제어 생성을 자동화할 단일 리전을 선택하는 것입니다. | AWS 시스템 관리자 | 

### 통합 배포
<a name="deploy-the-integration"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 통합을 배포합니다. | 명령줄 터미널에 다음 명령을 입력합니다.<pre>./deploy.sh prod</pre> | AWS 시스템 관리자 | 
| Secrets Manager에 Jira 보안 인증 업로드 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | AWS 시스템 관리자 | 
| Security Hub CSPM 사용자 지정 작업을 생성합니다. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/bidirectionally-integrate-aws-security-hub-with-jira-software.html) | 시스템 관리자 | 

## 관련 리소스
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-resources"></a>
+ [AWS Jira 서비스 관리용 서비스 관리 커넥터](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/integrations-jiraservicedesk.html)
+ [AWS 기본 보안 모범 사례 표준](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)

## 추가 정보
<a name="bidirectionally-integrate-aws-security-hub-with-jira-software-additional"></a>

**Jira 티켓의 예**

지정된 Security Hub CSPM 조사 결과가 발생하면이 솔루션은 Jira 티켓을 자동으로 생성합니다. 티켓에 포함되는 정보는 다음과 같습니다.
+ **제목** — 제목은 다음과 같은 형식으로 보안 문제를 식별합니다.

  ```
  AWS Security Issue :: <AWS account ID> :: <Security Hub finding title>
  ```
+ **설명** - 티켓의 설명 섹션에서는 조사 결과와 관련된 보안 제어를 설명하고, Security Hub CSPM 콘솔의 조사 결과에 대한 링크를 포함하고, Jira 워크플로에서 보안 문제를 처리하는 방법에 대한 간략한 설명을 제공합니다.

다음은 자동으로 생성된 Jira 티켓의 예입니다.


|  | 
| --- |
| 제목 | AWS 보안 문제:: 012345678912:: Lambda.1 Lambda 함수 정책은 퍼블릭 액세스를 금지해야 합니다. | 
| --- |--- |
| **설명** | **어떤 문제가 있습니까?** 귀하가 맡고 있는 AWS 계정 012345678912에서 보안 감지 조사 결과를 발견했습니다.이 제어는 Lambda 리소스에 연결된 AWS Lambda 함수 정책이 퍼블릭 액세스를 금지하는지 확인합니다. Lambda 함수 정책에서 공개 액세스를 허용하는 경우 제어가 실패합니다.<Security Hub CSPM 조사 결과에 대한 링크>**티켓을 가지고 어떻게 해야 합니까?**계정에 접속하여 구성을 확인합니다. “수정하기 위해 할당됨”으로 이동하여 티켓 작업을 확인합니다. 수정이 완료되면 보안 팀에서 문제가 해결되었는지 확인할 수 있도록 테스트 수정으로 이동합니다.위험을 허용해야 한다고 생각되면 “위험 허용 대기 중”으로 이동합니다. 이를 위해서는 보안 엔지니어의 검토가 필요합니다.오탐이라고 생각되면 “오탐으로 표시”로 전환합니다. 보안 엔지니어가 검토한 후 상황에 맞게 재개/종료됩니다. | 

 