

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

# 의 규정 준수 스캔 AWS OpsWorks for Chef Automate
<a name="opscm-chefcompliance"></a>

**중요**  
AWS OpsWorks for Chef Automate는 2024년 5월 5일에 수명이 종료되었으며 신규 및 기존 고객 모두에서 비활성화되었습니다. 기존 고객은 Chef SaaS 또는 대체 솔루션으로 마이그레이션하는 것이 좋습니다. 질문이 있는 경우 [AWS re:Post](https://repost.aws/) 또는 [AWS Premium Support](https://aws.amazon.com/support)를 통해 AWS Support 팀에 문의할 수 있습니다.

규정 준수 검사를 사용하면 *규칙*이라고도 하는 사전 정의된 정책을 기반으로 인프라에서 관리형 노드의 규정 준수를 추적할 수 있습니다. 규정 준수 보기를 통해 애플리케이션의 취약성 및 규칙 미준수 구성을 정기적으로 감사할 수 있습니다. Chef는 규정 준수 검사에서 사용할 수 있는 100개 이상의 사전 정의된 규정 준수 *프로필*(특정 노드 구성에 적용되는 규칙 모음)을 제공합니다. [Chef InSpec 언어](https://www.inspec.io/docs/)를 사용하여 고유의 사용자 지정 프로필을 생성할 수도 있습니다.

서버가 Chef Automate 2.0을 아직 실행하지 않는 경우 Audit 쿡북을 설치하여 [Chef Compliance](https://www.chef.io/solutions/compliance/)를 수동으로 설정할 수 있습니다.

**참고**  
 AWS OpsWorks for Chef Automate 서버와 연결된 노드에서 지원되는 Chef Infra 클라이언트 에이전트 소프트웨어(`chef-client`)의 최소 버전은 13.*x*입니다. 최신의 안정적인 `chef-client` 버전 또는 최소 14.10.9를 실행하는 것이 좋습니다.

**Topics**
+ [Chef Automate 2.0의 규정 준수](#opscm-compliance-ca20)
+ [Chef Automate 1.*x*의 규정 준수](#opscm-compliance-ca1x)
+ [규정 준수에 대한 업데이트](#opscm-chefcompliance-updates)
+ [커뮤니티 및 사용자 지정 규정 준수 프로필](#opscm-compliance-custom)
+ [참고](#opscm-compliance-seealso)

## Chef Automate 2.0의 규정 준수
<a name="opscm-compliance-ca20"></a>

 AWS OpsWorks for Chef Automate 서버가 Chef Automate 2.0을 실행하는 경우이 섹션의 절차에 따라 Chef Compliance를 설정합니다.

### Chef Automate 2.0을 사용하여 규정 준수 검사 작업 실행
<a name="opscm-compliance-scanjob"></a>

Chef Automate 2.0에는 이전에 수동 설정과 쿡북 구성이 필요했던 Chef InSpec 규정 준수 검사 기능이 포함되어 있습니다. Chef Automate 2.0을 실행하는 AWS OpsWorks for Chef Automate 서버에서 *스캔 작업을* 실행할 수 있습니다. 작업을 즉시(한 번) 실행하거나, 나중에 실행하도록 예약하거나, 매일 또는 두 시간에 한 번과 같은 지정된 간격으로 실행하도록 예약할 수 있습니다. 검사 작업의 결과는 규정 준수 보고에 전송됩니다. Chef Automate 대시보드에서 규정 준수 검사 결과를 보고 조치를 취할 수 있습니다. **규정 준수** 탭을 열고 보고서를 보려면 Chef Automate 대시보드의 **검사 작업** 탭에서 관리형 노드 열의 오른쪽에 있는 **보고서**를 선택합니다.

관리형 노드에서 검사 작업을 실행하려면 다음이 있어야 합니다.
+ 네임스페이스에 설치된 최소 하나의 규정 준수 프로필.
+ 수동으로 추가된 최소 하나의 대상 노드, 또는 [자동으로 추가된](opscm-unattend-assoc.md) EC2 인스턴스.

에서 AWS OpsWorks for Chef Automate스캔 작업은 다음 대상에서 지원됩니다.
+ 수동으로 추가된 노드
+ `aws-ec2` 인스턴스
+ AWS 리전

검사 작업을 실행하는 방법에 대한 자세한 내용은 Chef 설명서의 [Chef Automate 검사 작업](https://automate.chef.io/docs/scan-jobs/)을 참조하세요.

### (선택 사항, Chef Automate 2.0) Audit 쿡북을 사용하여 규정 준수 설정
<a name="opscm-chefcompliance-setup"></a>

모든 AWS OpsWorks for Chef Automate 서버에서 규정 준수를 구성할 수 있습니다. AWS OpsWorks for Chef Automate 서버를 시작한 후, Chef Automate 대시보드에서 프로필을 설치하거나 `Policyfile.rb` 정책 파일에서 Audit 쿡북 속성에 원하는 프로필을 추가합니다. 미리 채워진 `Policyfile.rb` 파일이 스타터 키트에 포함되어 있습니다.

프로파일을 감사 쿡북의 속성으로 사용하여 `Policyfile.rb`을 편집한 후에는 `chef push` 명령을 실행하여 `Policyfile.rb`에 지정된 [감사 쿡북](https://supermarket.chef.io/cookbooks/audit) 및 기타 쿡북을 Chef Automate 서버에 업로드합니다. Audit 쿡북을 설치하면 Chef에서 생성된 오픈 소스 테스트 및 감사 프레임워크인 [Chef InSpec](https://www.inspec.io/)용 Gem도 설치됩니다. Chef Automate [2.0](https://discourse.chef.io/t/automate-2-version-20190410001346-released/14930)의 경우 Audit 쿡북의 버전 7.1.0 이상을 선택합니다. InSpec Gem은 버전 2.2.102 이상이어야 합니다.

이 단원에서는 `opsworks-audit` 쿡북을 사용하는 방법을 설명합니다. Audit 쿡북은 Chef Automate 서버에서 지정된 프로필을 다운로드하고, **DevSec SSH Baseline** 프로필에 대해 노드를 평가하며, 모든 `chef-client` 실행에 대해 규정 준수 검사의 결과를 보고합니다.<a name="compliance-installprof"></a>

**규정 준수 프로필을 설치하려면**

1. 아직 시작하지 않은 경우 [Chef Automate 웹 기반 대시보드에 로그인합니다](opscm-chef-dashboard.md). AWS OpsWorks for Chef Automate 서버를 생성하면서 스타터 키트를 다운로드할 때 받은 자격 증명을 사용합니다.

1. Chef Automate 대시보드에서 **자산 스토어** 탭을 선택합니다.  
![\[규정 준수 프로필\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_profiles.png)

1. **사용 가능** 탭을 선택하여 사전 정의된 프로필을 봅니다.

1. 프로필 목록을 찾아봅니다. 하나 이상의 관리형 노드의 운영 체제 및 구성과 일치하는 프로필을 선택합니다. 프로필의 대상 위반 및 기본 규칙 코드에 대한 설명을 포함하여 프로필에 대한 세부 정보를 보려면 프로필 항목의 오른쪽에 있는 [**>**]를 선택합니다. 여러 프로필을 선택할 수 있습니다. 스타터 키트에서 예제를 설정하고 있는 경우 **DevSec SSH Baseline**을 선택합니다.  
![\[Chef Compliance 프로필 세부 정보 보기\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_rule.png)

1. Chef Automate 서버에 선택한 프로필을 설치하려면 [**가져오기**]를 선택합니다.

1. 프로필을 설치한 후에는 Chef Automate 대시보드의 **프로필** 탭에 프로필이 표시됩니다.<a name="opscm-compliance-setup-policyfile"></a>

**`Policyfile.rb`를 사용하여 쿡북을 설치하려면**

1. 스타터 키트에서 `Policyfile.rb`를 보고 Audit 쿡북에 대한 속성이 `['profiles']`에서 `ssh-baseline` 프로필을 지정하는지 확인합니다.

   ```
   # Define audit cookbook attributes
   default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate"
   default["opsworks-demo"]["audit"]["profiles"] = [
     {
       "name": "DevSec SSH Baseline",
       "compliance": "admin/ssh-baseline"
     }
   ]
   ```

1. `Policyfile.rb`에 정의된 쿡북을 다운로드하고 설치합니다.

   ```
   chef install
   ```

   모든 쿡북은 쿡북의 `metadata.rb` 파일에 버전이 지정되어 있습니다. 쿡북을 변경할 때마다 쿡북의 `metadata.rb`에 있는 쿡북 버전을 올려야 합니다.

1. `Policyfile.rb`에 정의된 `opsworks-demo` 정책을 서버에 푸시합니다.

   ```
   chef push opsworks-demo
   ```

1. 정책 설치를 확인합니다. 다음 명령을 실행합니다.

   ```
   chef show-policy
   ```

   결과는 다음과 비슷해야 합니다.

   ```
   opsworks-demo-webserver 
   ======================= 
   * opsworks-demo:  ec0fe46314
   ```

1. 관리할 서버에 노드를 추가하지 않았으면 추가합니다. 첫 번째 노드를 AWS OpsWorks for Chef Automate 서버에 연결하려면이 스타터 키트에 포함된 `userdata.sh` 스크립트를 사용합니다. `AssociateNode` API를 OpsWorks 사용하여 노드를 서버에 연결합니다.

   [에서 자동으로 노드 추가 AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md)의 단계를 수행하여 노드 연결을 자동화하거나, [노드를 개별적으로 추가](opscm-addnodes-individually.md)의 단계를 수행하여 한 번에 한 개의 노드를 추가할 수 있습니다.

1. 노드의 실행 목록을 업데이트하면 다음 실행 시 `chef-client` 에이전트가 지정된 레시피를 실행합니다. 이 작업은 기본적으로 1800초(30분)마다 수행됩니다. 실행 후 Chef Automate 대시보드의 **규정 준수** 탭에서 규정 준수 결과를 보고 조치를 취할 수 있습니다.  
![\[Chef 규정 준수 검사 결과\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_scan.png)

### 규정 준수 검사 실행
<a name="opscm-chefcompliance-scan"></a>

노드 실행 목록을 구성한 후 발생하는 에이전트가 처음 실행된 직후 Chef Automate 대시보드에 규정 준수 검사 결과가 표시됩니다.

![\[Chef Compliance 보고 페이지 보기\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_reporting.png)


Chef Automate 대시보드에서 [**규정 준수**] 탭을 선택합니다. 왼쪽 탐색 창에서 [**보고**]를 선택합니다. [**프로필**] 탭을 선택하고 [**결과 스캔**]을 선택한 다음 스캔 장애가 있는 노드를 선택하여 노드가 실패한 규칙에 대해 자세히 알아봅니다.

![\[실패한 결과의 규정 준수 목록\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_results.png)


새 노드는 아직 **DevSec SSH Baseline** 프로파일의 모든 규칙을 충족하지는 못하기 때문에 일반적으로 규정 미준수 검사 결과가 표시됩니다. 커뮤니티 기반 프로젝트인 [DevSec Hardening Framework](https://github.com/dev-sec)는 **DevSec SSH Baseline** 프로파일의 규칙을 위반하는 문제를 수정하는 쿡북을 제공합니다.

### (선택 사항) 규정 미준수 결과 해결
<a name="opscm-chefcompliance-resolve"></a>

스타터 키트에는 오픈 소스 쿡북 `ssh-hardening`이 들어 있으며, 이 쿡북을 실행하여 **DevSec SSH Baseline** 프로파일에 대한 규정 미준수 결과를 수정할 수 있습니다.

**참고**  
`ssh-hardening` 쿡북은 **DevSec SSH Baseline** 규칙을 준수하도록 노드를 변경합니다. 프로덕션 노드에서 이 쿡북을 실행하기 전에 Chef Automate 콘솔에서 **DevSec SSH Baseline** 프로파일에 대한 정보를 검토하여 쿡북이 검사하는 규칙 위반을 확인하세요. 오픈 소스 [https://github.com/dev-sec/chef-ssh-hardening](https://github.com/dev-sec/chef-ssh-hardening) 쿡북을 프로덕션 노드에서 실행하기 전에 쿡북에 대한 정보를 검토하세요.

**`ssh-hardening` 쿡북을 실행하려면**

1. 텍스트 편집기에서 `ssh-hardening` 쿡북을 `Policyfile.rb`의 실행 목록에 추가합니다. `Policyfile.rb` 실행 목록은 다음과 일치해야 합니다.

   ```
   run_list  'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
   ```

1. `Policyfile.rb`를 업데이트하고 AWS OpsWorks for Chef Automate 서버에 푸시합니다.

   ```
   chef update Policyfile.rb
      chef push opsworks-demo
   ```

1. `opsworks-demo` 정책과 관련된 노드가 실행 목록을 자동으로 업데이트하고 다음 번 `chef-client` 실행 시 `ssh-hardening` 쿡북을 적용합니다.

   `chef-client` 쿡북을 사용하기 때문에 노드는 정기적으로(기본 30분 간격) 체크인됩니다. 다음 체크인에서 `ssh-hardening` 쿡북이 실행되고 **DevSec SSH Baseline** 프로파일 규칙을 충족하도록 노드 보안이 강화됩니다.

1. `ssh-hardening` 쿡북을 처음 실행한 후 규정 준수 검사가 다시 실행될 때까지 30분 정도 기다립니다. Chef Automate 대시보드에서 결과를 확인합니다. **DevSec SSH Baseline** 검사를 처음 실행할 때 발생한 규정 미준수 결과는 해결해야 합니다.

## Chef Automate 1.*x*의 규정 준수
<a name="opscm-compliance-ca1x"></a>

 AWS OpsWorks for Chef Automate 서버가 Chef Automate 1.*x*를 실행하는 경우이 섹션의 절차를 사용하여 Chef Compliance를 설정합니다.

### (선택 사항, Chef Automate 1.*x*) Chef Compliance 설정
<a name="opscm-chefcompliance-setup"></a>

모든 AWS OpsWorks for Chef Automate 서버에서 Chef Compliance를 구성할 수 있습니다. AWS OpsWorks for Chef Automate 서버를 시작한 후 Chef Automate 대시보드의 프로필에서 실행할 프로필을 선택합니다. 프로필을 설치한 후 `berks` 명령을 실행하여 [Audit 쿡북](https://supermarket.chef.io/cookbooks/audit)을 Chef Automate 서버에 업로드합니다. Audit 쿡북을 설치하면 Chef가 제작한 오픈 소스 테스트 프레임워크인 [InSpec](https://www.inspec.io/)에 대한 Gem도 설치되므로, 자동화된 테스트를 배포 파이프라인의 모든 단계에 통합할 수 있습니다. Chef Automate 1.*x*의 경우 Audit 쿡북의 버전 5.0.1 이상을 선택합니다. InSpec Gem은 버전 1.24.0 이상이어야 합니다.

 AWS OpsWorks for Chef Automate 스타터 키트에는 올바른 버전의 Chef's Audit 쿡북을 다운로드하여 설치하는 래퍼 쿡북 `opsworks-audit`가 포함되어 있습니다. `opsworks-audit` 쿡북은 `chef-client` 에이전트에게 **DevSec SSH Baseline** 프로파일을 기준으로 노드를 평가하도록 지시합니다. 이 프로파일은 이 항목 뒷부분에 나오는 Chef's Compliance 콘솔에서 설치합니다. 쿡북을 사용하여 원하는 기본 설정으로 Compliance를 설정할 수 있습니다. 이 단원에서는 `opsworks-audit` 쿡북을 사용하는 방법을 설명합니다.<a name="compliance-installprof"></a>

**규정 준수 프로필을 설치하려면**

1. 아직 시작하지 않은 경우 [Chef Automate 웹 기반 대시보드에 로그인합니다](opscm-chef-dashboard.md). AWS OpsWorks for Chef Automate 서버를 생성할 때 스타터 키트를 다운로드할 때 받은 자격 증명을 사용합니다.

1. Chef Automate 대시보드에서 [**규정 준수**] 탭을 선택합니다.  
![\[Chef Compliance 프로필\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_profiles_ca1.png)

1. 왼쪽 탐색 모음에서 [**프로필 스토어**]를 선택한 다음 [**사용 가능**]을 선택하여 사전 정의된 프로필을 확인합니다.

1. 프로필 목록을 찾아봅니다. 하나 이상의 관리형 노드의 운영 체제 및 구성과 일치하는 프로필을 선택합니다. 프로필의 대상 위반 및 기본 규칙 코드에 대한 설명을 포함하여 프로필에 대한 세부 정보를 보려면 프로필 항목의 오른쪽에 있는 [**>**]를 선택합니다. 여러 프로필을 선택할 수 있습니다.  
![\[Chef Compliance 프로필 세부 정보 보기\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_rule_ca1.png)

1. Chef Automate 서버에 선택한 프로필을 설치하려면 [**가져오기**]를 선택합니다.

1. 다운로드가 완료되면 다음 절차로 이동합니다.<a name="opscm-compliance-setup-cookbook"></a>

**`opsworks-audit` 쿡북을 설치하고 설정하려면**

1. 이 단계는 선택 사항이지만, 6단계에서 노드 실행 목록에 레시피를 추가할 때 시간을 절약할 수 있습니다. AWS OpsWorks for Chef Automate 서버를 생성할 때 다운로드한 스타터 키트에 포함된 `roles/opsworks-example-role.rb` 파일을 편집합니다. 다음 행을 추가합니다. `ssh-hardening` 쿡북과 레시피를 추가하여 규정 준수 검사 실행 후 규정 미준수 노드를 해결하는 것은 선택 사항이기 때문에 마지막 행은 주석 처리되어 있습니다.

   ```
   run_list(
        "recipe[chef-client]",
        "recipe[apache2]",
        "recipe[opsworks-audit]"
        # "recipe[ssh-hardening]"
          )
   ```

1. 텍스트 편집기를 사용하여 원하는 쿡북을 Berksfile에 지정합니다. 스타터 키트에는 샘플 Berksfile이 제공됩니다. 이 예제에서는 Chef Infra 클라이언트(`chef-client`) 쿡북, `apache2` 쿡북, `opsworks-audit` 쿡북을 설치합니다. Berksfile은 다음과 유사합니다.

   ```
   source 'https://supermarket.chef.io
        cookbook 'chef-client'
        cookbook 'apache2', '~> 5.0.1'
        cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'
   ```

   모든 쿡북은 쿡북의 `metadata.rb` 파일에 버전이 지정되어 있습니다. 쿡북을 변경할 때마다 쿡북의 `metadata.rb`에 있는 쿡북 버전을 올려야 합니다.

1. 다음 명령을 실행하여 쿡북을 로컬 컴퓨터나 작업 컴퓨터의 `cookbooks` 폴더로 다운로드하고 설치합니다.

   ```
   berks vendor cookbooks
   ```

1. 다음 명령을 실행하여 벤더 쿡북을 AWS OpsWorks for Chef Automate 서버로 업로드합니다.

   ```
   knife upload .
   ```

1. 다음 명령을 실행하여 서버에서 현재 사용 가능한 쿡북 목록을 조회함으로써 `opsworks-audit` 쿡북의 설치를 확인합니다.

   ```
   knife cookbook list
   ```

1. 관리할 서버에 노드를 추가하지 않았으면 추가합니다. [에서 자동으로 노드 추가 AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md)의 단계를 수행하여 노드 연결을 자동화하거나, [노드를 개별적으로 추가](opscm-addnodes-individually.md)의 단계를 수행하여 한 번에 한 개의 노드를 추가할 수 있습니다. 노드의 실행 목록을 편집하여 1단계에서 지정한 `opsworks-example-role` 역할을 추가합니다. 이 예제에서는 `RUN_LIST` 스크립트에서 `userdata` 속성을 편집하여 노드 연결을 자동화합니다.

   ```
   RUN_LIST="role[opsworks-example-role]"
   ```

   1단계를 건너뛰고 역할을 설정하지 않은 경우 실행 목록에 개별 레시피 이름을 추가합니다. 변경 사항을 저장하고 [3단계: 무인 연결 스크립트를 사용하여 인스턴스 생성](opscm-unattend-assoc.md#opscm-unattend-script)의 단계를 따라 userdata 스크립트를 Amazon EC2 인스턴스에 적용합니다.

   ```
   RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
   ```

1. 노드의 실행 목록을 업데이트하면 다음 실행 시 `chef-client` 에이전트가 지정된 레시피를 실행합니다. 이 작업은 기본적으로 1800초(30분)마다 수행됩니다. 실행 후 Chef Automate 대시보드에 규정 준수 결과가 표시됩니다.

### 규정 준수 검사 실행
<a name="opscm-chefcompliance-scan"></a>

노드 실행 목록을 구성한 후 발생하는 에이전트 데몬이 처음 실행된 직후 Chef Automate 대시보드에서 규정 준수 검사 결과가 표시됩니다.

![\[Chef Compliance 보고 페이지 보기\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_reporting_ca1.png)


Chef Automate 대시보드에서 [**규정 준수**] 탭을 선택합니다. 왼쪽 탐색 창에서 [**보고**]를 선택합니다. [**프로필**] 탭을 선택하고 [**스캔 결과**]를 선택한 다음 스캔 장애가 있는 노드를 선택하여 노드가 실패한 규칙에 대해 자세히 알아봅니다.

![\[실패한 결과의 Chef Compliance 목록\]](http://docs.aws.amazon.com/ko_kr/opsworks/latest/userguide/images/opscm_compliance_results_ca1.png)


새 노드는 아직 **DevSec SSH Baseline** 프로파일의 모든 규칙을 충족하지는 못하기 때문에 일반적으로 규정 미준수 검사 결과가 표시됩니다. 커뮤니티 기반 프로젝트인 [DevSec Hardening Framework](https://github.com/dev-sec)는 **DevSec SSH Baseline** 프로파일의 규칙을 위반하는 문제를 수정하는 쿡북을 제공합니다.

### (선택 사항) 규정 미준수 결과 해결
<a name="opscm-chefcompliance-resolve"></a>

스타터 키트에는 오픈 소스 쿡북 `ssh-hardening`이 들어 있으며, 이 쿡북을 실행하여 **DevSec SSH Baseline** 프로파일에 대한 규정 미준수 결과를 수정할 수 있습니다.

**참고**  
`ssh-hardening` 쿡북은 **DevSec SSH Baseline** 규칙을 준수하도록 노드를 변경합니다. 프로덕션 노드에서 이 쿡북을 실행하기 전에 Chef Automate 콘솔에서 **DevSec SSH Baseline** 프로파일에 대한 정보를 검토하여 쿡북이 검사하는 규칙 위반을 확인하세요. 오픈 소스 [https://github.com/dev-sec/chef-ssh-hardening](https://github.com/dev-sec/chef-ssh-hardening) 쿡북을 프로덕션 노드에서 실행하기 전에 쿡북에 대한 정보를 검토하세요.

**`ssh-hardening` 쿡북을 실행하려면**

1. 텍스트 편집기에서 `ssh-hardening` 쿡북을 Berksfile에 추가합니다. Berksfile은 다음과 유사합니다.

   ```
   source 'https://supermarket.chef.io'
        cookbook 'chef-client'
        cookbook 'apache2', '~> 5.0.1'
        cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0' # optional
        cookbook 'ssh-hardening'
   ```

1. 다음 명령을 실행하여 `ssh-hardening` 쿡북을 로컬 쿡북 폴더로 다운로드한 후 AWS OpsWorks for Chef Automate 서버에 업로드합니다.

   ```
   berks vendor cookbooks
   knife upload .
   ```

1. `ssh-hardening`의 1단계와 6단계에서 설명한 대로 [`opsworks-audit` 쿡북을 설치하고 설정하려면](#opscm-compliance-setup-cookbook) 레시피를 노드 실행 목록에 추가합니다.

   `opsworks-example-role.rb` 파일을 업데이트하는 경우 다음 명령을 실행하여 변경 사항을 서버에 업로드합니다.

   ```
   knife upload .
   ```

   실행 목록을 직접 업데이트하는 경우 다음 명령을 실행하여 변경 사항을 업로드합니다. 노드 이름은 일반적으로 인스턴스 ID입니다.

   ```
   knife node run_list add <node name> 'recipe[ssh-hardening]'
   ```

1. `chef-client` 쿡북을 사용하기 때문에 노드는 정기적으로(기본 30분 간격) 체크인됩니다. 다음 체크인에서 `ssh-hardening` 쿡북이 실행되고 **DevSec SSH Baseline** 프로파일 규칙을 충족하도록 노드 보안이 강화됩니다.

1. `ssh-hardening` 쿡북을 처음 실행한 경우 규정 준수 검사 실행을 위해 30분 기다리십시오. Chef Automate 대시보드에서 결과를 확인합니다. **DevSec SSH Baseline** 검사를 처음 실행할 때 발생한 규정 미준수 결과는 해결해야 합니다.

## 규정 준수에 대한 업데이트
<a name="opscm-chefcompliance-updates"></a>

 AWS OpsWorks for Chef Automate 서버에서 규정 준수 기능은 예약된 [시스템 유지 관리에](opscm-maintenance.md) 의해 자동으로 업데이트됩니다. Chef Automate 및 Chef Infra Server의 업데이트된 릴리스가 AWS OpsWorks for Chef Automate 서버에서 사용 가능하게 되면, 서버에서 실행 중인 Audit 쿡북 및 Chef InSpec Gem의 지원 버전을 확인하고 업데이트해야 할 수 있습니다. AWS OpsWorks for Chef Automate 서버에 이미 설치한 프로필은 유지 관리의 일부로 업데이트되지 않습니다.

## 커뮤니티 및 사용자 지정 규정 준수 프로필
<a name="opscm-compliance-custom"></a>

Chef에는 현재 100개 이상의 규정 준수 검사 프로필이 포함되어 있습니다. 커뮤니티 및 사용자 지정 프로필을 목록에 추가한 다음, 포함된 프로필과 마찬가지로 해당 프로필을 기반으로 규정 준수 검사를 다운로드하고 실행할 수 있습니다. 커뮤니티 기반 규정 준수 프로필은 [Chef Supermarket](https://supermarket.chef.io/tools?q=&type=compliance_profile)에서 사용할 수 있습니다. 사용자 지정 프로필은 검사 규칙을 지정하는 컨트롤 폴더가 포함된 Ruby 기반 프로그램입니다.

## 참고
<a name="opscm-compliance-seealso"></a>
+ [Chef Compliance 공지사항 블로그 게시물](https://blog.chef.io/2017/07/05/chef-automate-release-july-2017/)
+ [Chef Automate Compliance 온라인 교육](https://training.chef.io/instructor-led-training/chef-automate-compliance)
+ [Chef InSpec](https://www.inspec.io/) 웹 사이트
+ [Chef InSpec 자습서](https://www.inspec.io/tutorials/)