기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
컴플라이언스 스캔 입력 AWS OpsWorks for Chef Automate
중요
AWS OpsWorks for Chef Automate는 2024년 5월 5일에 수명이 종료되었으며 신규 고객과 기존 고객 모두 사용할 수 없게 되었습니다. 기존 고객은 Chef SaaS 또는 대체 솔루션으로 마이그레이션하는 것이 좋습니다. 질문이 있는 경우 AWS re:Post 또는 Premium AWS
규정 준수 검사를 사용하면 규칙이라고도 하는 사전 정의된 정책을 기반으로 인프라에서 관리형 노드의 규정 준수를 추적할 수 있습니다. 규정 준수 보기를 통해 애플리케이션의 취약성 및 규칙 미준수 구성을 정기적으로 감사할 수 있습니다. Chef는 규정 준수 검사에서 사용할 수 있는 100개 이상의 사전 정의된 규정 준수 프로필(특정 노드 구성에 적용되는 규칙 모음)을 제공합니다. Chef InSpec 언어를
서버가 Chef Automate 2.0을 아직 실행하지 않는 경우 Audit 쿡북을 설치하여 Chef Compliance
참고
AWS OpsWorks for Chef Automate 서버와 연결된 노드에서 지원되는 Chef Infra 클라이언트 에이전트 소프트웨어 (chef-client
) 의 최소 버전은 13입니다. x. 가장 최신의 안정적인 chef-client
버전 또는 최소 14.10.9 버전을 실행하는 것이 좋습니다.
Chef Automate 2.0의 규정 준수
AWS OpsWorks for Chef Automate 서버에서 Chef Automate 2.0을 실행하는 경우 이 섹션의 절차를 사용하여 Chef 규정 준수를 설정하세요.
Chef Automate 2.0을 사용하여 규정 준수 검사 작업 실행
Chef Automate 2.0에는 이전에는 수동 설정 및 InSpec 쿡북 구성이 필요했던 Chef 규정 준수 스캔 기능이 포함되어 있습니다. Chef Automate 2.0을 실행하는 AWS OpsWorks for Chef Automate 서버에서 스캔 작업을 실행할 수 있습니다. 작업을 즉시(한 번) 실행하거나, 나중에 실행하도록 예약하거나, 매일 또는 두 시간에 한 번과 같은 지정된 간격으로 실행하도록 예약할 수 있습니다. 검사 작업의 결과는 규정 준수 보고에 전송됩니다. Chef Automate 대시보드에서 규정 준수 검사 결과를 보고 조치를 취할 수 있습니다. 규정 준수 탭을 열고 보고서를 보려면 Chef Automate 대시보드의 검사 작업 탭에서 관리형 노드 열의 오른쪽에 있는 보고서를 선택합니다.
관리형 노드에서 검사 작업을 실행하려면 다음이 있어야 합니다.
-
네임스페이스에 설치된 최소 하나의 규정 준수 프로필.
-
수동으로 추가된 최소 하나의 대상 노드, 또는 자동으로 추가된 EC2 인스턴스.
AWS OpsWorks for Chef Automate에서는 다음 대상에서 스캔 작업이 지원됩니다.
-
수동으로 추가된 노드
-
aws-ec2
인스턴스 -
AWS 리전
검사 작업을 실행하는 방법에 대한 자세한 내용은 Chef 설명서의 Chef Automate 검사 작업
(선택 사항, Chef Automate 2.0) Audit 쿡북을 사용하여 규정 준수 설정
모든 AWS OpsWorks for Chef Automate 서버에서 규정 준수를 구성할 수 있습니다. AWS OpsWorks for Chef Automate
서버를 시작한 후, Chef Automate 대시보드에서 프로필을 설치하거나 Policyfile.rb
정책 파일에서 Audit 쿡북 속성에 원하는 프로필을 추가합니다. 미리 채워진 Policyfile.rb
파일이 스타터 키트에 포함되어 있습니다.
프로파일을 감사 쿡북의 속성으로 사용하여 Policyfile.rb
을 편집한 후에는 chef push
명령을 실행하여 Policyfile.rb
에 지정된 감사 쿡북
이 단원에서는 opsworks-audit
쿡북을 사용하는 방법을 설명합니다. 감사 쿡북은 Chef Automate 서버에서 지정된 프로필을 다운로드하고, DevSec SSH 기준 프로필을 기준으로 노드를 평가하고, 실행할 때마다 규정 준수 스캔 결과를 보고합니다. chef-client
규정 준수 프로필을 설치하려면
-
아직 시작하지 않은 경우 Chef Automate 웹 기반 대시보드에 로그인합니다. AWS OpsWorks for Chef Automate 서버를 생성하면서 스타터 키트를 다운로드할 때 받은 자격 증명을 사용합니다.
-
Chef Automate 대시보드에서 자산 스토어 탭을 선택합니다.
-
사용 가능 탭을 선택하여 사전 정의된 프로필을 봅니다.
-
프로필 목록을 찾아봅니다. 하나 이상의 관리형 노드의 운영 체제 및 구성과 일치하는 프로필을 선택합니다. 프로필의 대상 위반 및 기본 규칙 코드에 대한 설명을 포함하여 프로필에 대한 세부 정보를 보려면 프로필 항목의 오른쪽에 있는 [>]를 선택합니다. 여러 프로필을 선택할 수 있습니다. 스타터 키트에서 예제를 설정하는 경우 SSH 베이스라인을 선택하십시오. DevSec
-
Chef Automate 서버에 선택한 프로필을 설치하려면 [가져오기]를 선택합니다.
-
프로필을 설치한 후에는 Chef Automate 대시보드의 프로필 탭에 프로필이 표시됩니다.
Policyfile.rb
를 사용하여 쿡북을 설치하려면
-
스타터 키트에서
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" } ]
-
Policyfile.rb
에 정의된 쿡북을 다운로드하고 설치합니다.chef install
모든 쿡북은 쿡북의
metadata.rb
파일에 버전이 지정되어 있습니다. 쿡북을 변경할 때마다 쿡북의metadata.rb
에 있는 쿡북 버전을 올려야 합니다. -
Policyfile.rb
에 정의된opsworks-demo
정책을 서버에 푸시합니다.chef push opsworks-demo
-
정책 설치를 확인합니다. 다음 명령을 실행합니다.
chef show-policy
결과는 다음과 비슷해야 합니다.
opsworks-demo-webserver ======================= * opsworks-demo: ec0fe46314
-
관리할 서버에 노드를 추가하지 않았으면 추가합니다. 첫 번째 노드를 AWS OpsWorks for Chef Automate 서버에 연결하려면 이 스타터 키트에 포함된
userdata.sh
스크립트를 사용하십시오. AWS OpsWorksAssociateNode
API를 사용하여 노드를 서버에 연결합니다.노드를 자동으로 추가합니다. AWS OpsWorks for Chef Automate의 단계를 수행하여 노드 연결을 자동화하거나, 노드를 개별적으로 추가의 단계를 수행하여 한 번에 한 개의 노드를 추가할 수 있습니다.
-
노드의 실행 목록을 업데이트하면 다음 실행 시
chef-client
에이전트가 지정된 레시피를 실행합니다. 이 작업은 기본적으로 1800초(30분)마다 수행됩니다. 실행 후 Chef Automate 대시보드의 규정 준수 탭에서 규정 준수 결과를 보고 조치를 취할 수 있습니다.
규정 준수 검사 실행
노드 실행 목록을 구성한 후 발생하는 에이전트가 처음 실행된 직후 Chef Automate 대시보드에 규정 준수 검사 결과가 표시됩니다.
Chef Automate 대시보드에서 [규정 준수] 탭을 선택합니다. 왼쪽 탐색 창에서 [보고]를 선택합니다. [프로필] 탭을 선택하고 [결과 스캔]을 선택한 다음 스캔 장애가 있는 노드를 선택하여 노드가 실패한 규칙에 대해 자세히 알아봅니다.
새 노드가 아직 DevSec SSH 베이스라인 프로필의 모든 규칙을 충족하지 않기 때문에 일반적으로 비준수 검사 결과가 표시됩니다. 커뮤니티 기반 프로젝트인 DevSec Hardening Framework는
(선택 사항) 규정 미준수 결과 해결
스타터 키트에는 SSH Baseline 프로필에 대한 실행으로 인한 비준수 결과를 ssh-hardening
수정하기 위해 실행할 수 있는 오픈 소스 쿡북이 포함되어 있습니다. DevSec
참고
ssh-hardening
쿡북은 SSH 베이스라인 규칙을 준수하도록 노드를 변경합니다. DevSec 프로덕션 노드에서 이 쿡북을 실행하기 전에 Chef Automate 콘솔에서 DevSec SSH Baseline 프로필에 대한 세부 정보를 검토하여 쿡북이 대상으로 하는 규칙 위반을 이해하십시오. 오픈 소스 ssh-hardening
ssh-hardening
쿡북을 실행하려면
-
텍스트 편집기에서
ssh-hardening
쿡북을Policyfile.rb
의 실행 목록에 추가합니다.Policyfile.rb
실행 목록은 다음과 일치해야 합니다.run_list 'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
-
Policyfile.rb
를 업데이트하고 AWS OpsWorks for Chef Automate 서버에 푸시합니다.chef update Policyfile.rb chef push opsworks-demo
-
opsworks-demo
정책과 관련된 노드가 실행 목록을 자동으로 업데이트하고 다음 번chef-client
실행 시ssh-hardening
쿡북을 적용합니다.chef-client
쿡북을 사용하기 때문에 노드는 정기적으로(기본 30분 간격) 체크인됩니다. 다음 체크인 시ssh-hardening
쿡북이 실행되며 DevSec SSH Baseline 프로필의 규칙을 충족하도록 노드 보안을 개선하는 데 도움이 됩니다. -
ssh-hardening
쿡북을 처음 실행한 후 규정 준수 검사가 다시 실행될 때까지 30분 정도 기다립니다. Chef Automate 대시보드에서 결과를 확인합니다. DevSec SSH 베이스라인 스캔의 초기 실행 시 발생한 비준수 결과를 해결해야 합니다.
Chef Automate 1.x의 규정 준수
AWS OpsWorks for Chef Automate 서버에서 Chef 오토메이트 1을 실행하는 경우 x, 이 섹션의 절차를 사용하여 Chef 규정 준수를 설정하십시오.
(선택 사항, Chef Automate 1.x) Chef Compliance 설정
모든 AWS OpsWorks for Chef Automate 서버에서 Chef 규정 준수를 구성할 수 있습니다. AWS OpsWorks for Chef Automate
서버를 시작한 후 Chef Automate 대시보드의 프로필에서 실행할 프로필을 선택합니다. 프로필을 설치한 후 berks
명령을 실행하여 Audit 쿡북
AWS OpsWorks for Chef Automate 스타터 키트에는 적합한 버전의 Chef's Audit opsworks-audit
쿡북을 다운로드하고 설치하는 래퍼 쿡북이 포함되어 있습니다. 또한 opsworks-audit
쿡북은 이 주제 뒷부분에서 Chef의 규정 준수 콘솔에서 설치한 DevSecSSH 기준 프로필을 기준으로 노드를 평가하도록 chef-client
에이전트에 지시합니다. 쿡북을 사용하여 원하는 기본 설정으로 Compliance를 설정할 수 있습니다. 이 단원에서는 opsworks-audit
쿡북을 사용하는 방법을 설명합니다.
규정 준수 프로필을 설치하려면
-
아직 시작하지 않은 경우 Chef Automate 웹 기반 대시보드에 로그인합니다. 서버를 생성할 때 스타터 키트를 다운로드할 때 받은 자격 증명을 사용하십시오. AWS OpsWorks for Chef Automate
-
Chef Automate 대시보드에서 [규정 준수] 탭을 선택합니다.
-
왼쪽 탐색 모음에서 [프로필 스토어]를 선택한 다음 [사용 가능]을 선택하여 사전 정의된 프로필을 확인합니다.
-
프로필 목록을 찾아봅니다. 하나 이상의 관리형 노드의 운영 체제 및 구성과 일치하는 프로필을 선택합니다. 프로필의 대상 위반 및 기본 규칙 코드에 대한 설명을 포함하여 프로필에 대한 세부 정보를 보려면 프로필 항목의 오른쪽에 있는 [>]를 선택합니다. 여러 프로필을 선택할 수 있습니다.
-
Chef Automate 서버에 선택한 프로필을 설치하려면 [가져오기]를 선택합니다.
-
다운로드가 완료되면 다음 절차로 이동합니다.
opsworks-audit
쿡북을 설치하고 설정하려면
-
이 단계는 선택 사항이지만, 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]" )
-
텍스트 편집기를 사용하여 원하는 쿡북을 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
에 있는 쿡북 버전을 올려야 합니다. -
다음 명령을 실행하여 쿡북을 로컬 컴퓨터나 작업 컴퓨터의
cookbooks
폴더로 다운로드하고 설치합니다.berks vendor cookbooks
-
다음 명령을 실행하여 벤더 쿡북을 AWS OpsWorks for Chef Automate 서버로 업로드합니다.
knife upload .
-
다음 명령을 실행하여 서버에서 현재 사용 가능한 쿡북 목록을 조회함으로써
opsworks-audit
쿡북의 설치를 확인합니다.knife cookbook list
-
관리할 서버에 노드를 추가하지 않았으면 추가합니다. 노드를 자동으로 추가합니다. AWS OpsWorks for Chef Automate의 단계를 수행하여 노드 연결을 자동화하거나, 노드를 개별적으로 추가의 단계를 수행하여 한 번에 한 개의 노드를 추가할 수 있습니다. 노드의 실행 목록을 편집하여 1단계에서 지정한
opsworks-example-role
역할을 추가합니다. 이 예제에서는RUN_LIST
스크립트에서userdata
속성을 편집하여 노드 연결을 자동화합니다.RUN_LIST="role[opsworks-example-role]"
1단계를 건너뛰고 역할을 설정하지 않은 경우 실행 목록에 개별 레시피 이름을 추가합니다. 변경 사항을 저장하고 3단계: 무인 연결 스크립트를 사용하여 인스턴스 생성의 단계를 따라 userdata 스크립트를 Amazon EC2 인스턴스에 적용합니다.
RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
-
노드의 실행 목록을 업데이트하면 다음 실행 시
chef-client
에이전트가 지정된 레시피를 실행합니다. 이 작업은 기본적으로 1800초(30분)마다 수행됩니다. 실행 후 Chef Automate 대시보드에 규정 준수 결과가 표시됩니다.
규정 준수 검사 실행
노드 실행 목록을 구성한 후 발생하는 에이전트 데몬이 처음 실행된 직후 Chef Automate 대시보드에서 규정 준수 검사 결과가 표시됩니다.
Chef Automate 대시보드에서 [규정 준수] 탭을 선택합니다. 왼쪽 탐색 창에서 [보고]를 선택합니다. [프로필] 탭을 선택하고 [스캔 결과]를 선택한 다음 스캔 장애가 있는 노드를 선택하여 노드가 실패한 규칙에 대해 자세히 알아봅니다.
새 노드가 아직 DevSec SSH 베이스라인 프로필의 모든 규칙을 충족하지 않기 때문에 일반적으로 비준수 검사 결과가 표시됩니다. 커뮤니티 기반 프로젝트인 DevSec Hardening Framework는
(선택 사항) 규정 미준수 결과 해결
스타터 키트에는 SSH Baseline 프로필에 대한 실행으로 인한 비준수 결과를 ssh-hardening
수정하기 위해 실행할 수 있는 오픈 소스 쿡북이 포함되어 있습니다. DevSec
참고
ssh-hardening
쿡북은 SSH 베이스라인 규칙을 준수하도록 노드를 변경합니다. DevSec 프로덕션 노드에서 이 쿡북을 실행하기 전에 Chef Automate 콘솔에서 DevSec SSH Baseline 프로필에 대한 세부 정보를 검토하여 쿡북이 대상으로 하는 규칙 위반을 이해하십시오. 오픈 소스 ssh-hardening
ssh-hardening
쿡북을 실행하려면
-
텍스트 편집기에서
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'
-
다음 명령을 실행하여
ssh-hardening
쿡북을 로컬 쿡북 폴더로 다운로드한 후 AWS OpsWorks for Chef Automate 서버에 업로드합니다.berks vendor cookbooks knife upload .
-
ssh-hardening
의 1단계와 6단계에서 설명한 대로 opsworks-audit 쿡북을 설치하고 설정하려면 레시피를 노드 실행 목록에 추가합니다.opsworks-example-role.rb
파일을 업데이트하는 경우 다음 명령을 실행하여 변경 사항을 서버에 업로드합니다.knife upload .
실행 목록을 직접 업데이트하는 경우 다음 명령을 실행하여 변경 사항을 업로드합니다. 노드 이름은 일반적으로 인스턴스 ID입니다.
knife node run_list add
<node name>
'recipe[ssh-hardening]' -
chef-client
쿡북을 사용하기 때문에 노드는 정기적으로(기본 30분 간격) 체크인됩니다. 다음 체크인 시ssh-hardening
쿡북이 실행되며 DevSec SSH Baseline 프로필의 규칙을 충족하도록 노드 보안을 개선하는 데 도움이 됩니다. -
ssh-hardening
쿡북을 처음 실행한 경우 규정 준수 검사 실행을 위해 30분 기다리십시오. Chef Automate 대시보드에서 결과를 확인합니다. DevSec SSH 베이스라인 스캔의 초기 실행 시 발생한 비준수 결과를 해결해야 합니다.
규정 준수에 대한 업데이트
AWS OpsWorks for Chef Automate 서버에서는 예정된 시스템 유지 관리 일정에 따라 규정 준수 기능이 자동으로 업데이트됩니다. Chef Automate, Chef Infra Server 및 Chef의 업데이트된 릴리스를 AWS OpsWorks for Chef Automate 서버에서 사용할 수 있게 InSpec 되면 서버에서 실행 중인 Audit 쿡북 및 Chef InSpec gem의 지원되는 버전을 확인하고 업데이트해야 할 수 있습니다. AWS OpsWorks for Chef Automate 서버에 이미 설치한 프로필은 유지 관리의 일환으로 업데이트되지 않습니다.
커뮤니티 및 사용자 지정 규정 준수 프로필
Chef에는 현재 100개 이상의 규정 준수 검사 프로필이 포함되어 있습니다. 커뮤니티 및 사용자 지정 프로필을 목록에 추가한 다음, 포함된 프로필과 마찬가지로 해당 프로필을 기반으로 규정 준수 검사를 다운로드하고 실행할 수 있습니다. 커뮤니티 기반 규정 준수 프로필은 Chef Supermarket