Amazon Web Services 한국 블로그
ISMS-P 를 위한 AWS Config 규정 준수 팩 사용하기
AWS Config 서비스는 AWS 리소스 구성을 측정, 감사 및 평가할 수 있는 서비스입니다. AWS Config 서비스를 이용해 한국인터넷 진흥원(KISA)의 정보보호 및 개인정보보호 관리체계 인증(ISMS-P) 기준에 맞춰 AWS 서비스의 컴플라이언스 상태를 진단하고 관리 할 수 있는 AWS Config 규정 준수 팩(Conformance Pack)이 출시 되었습니다.
AWS Config 규정 준수 팩(Conformance Pack)이란?
AWS Config 규정 준수 팩은 AWS 계정과 단일 리전 또는 AWS Organization으로 조직된 전체 계정에 대해 배포 할 수 있는 AWS Config 규칙 및 문제 해결(Remediation) 작업의 모음입니다. 300+의 AWS Config 관리형 규칙을 이용해 구성되어 있으며 ISMS, PCI DSS, HIPAA 등의 컴플라이언스 요건들과 AWS Identity and Access Management, Amazon S3, Amazon EC2, Amazon DynamoDB 등 서비스 운영에 대한 모범 사례 그리고 Logging, Monitoring, Serverless, AI/ML, Security, Identity and Compliance 서비스, Data Lake 등의 운영에 대한 모범 사례에 대한 규정 준수 팩을 제공하고 있습니다.
ISMS-P 인증 프로그램 소개
ISMS-P는 한국인터넷 진흥원(KISA)에서 주관하는 정보보호 및 개인정보보호 관리체계 인증 프로그램으로 정보보호 및 개인정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 인터넷진흥원 또는 인증기관이 증명하는 제도입니다. 관리체계 수립 및 운영(16개), 보호대책 요구사항(64개), 개인정보 처리단계별 요구사항(22개) 등 총 102개의 통제 항목으로 구성되어 있으며 다음에 해당하는 기업은 필수로 인증을 획득해야 합니다.
– 출처 : 한국인터넷진흥원
AWS는 지난 2018년 1월 한국 정보보호 관리체계(K-ISMS) 인증을 취득한 첫 번째 글로벌 클라우드 서비스 공급업체입니다. 이 인증은 한국 내 기업 및 조직이 더욱 효과적으로 규정 준수 요건을 충족하고 매우 안전하고 안정적인 AWS 클라우드를 통해 제공되는 동급 최고 기술을 사용하여 비즈니스 혁신을 가속화하는 데 도움이 됩니다.
ISMS-P 는 KISA에서 기존 ISMS와 PIMS 인증의 내용을 하나의 기준으로 융합하여 발표한 제도로 ISMS와 ISMS-P 두 가지 영역으로 구분됩니다. AWS 는 ISMS-P 제도의 ISMS 영역에 대하여 2020년 12월 새롭게 인증을 취득하였습니다. AWS 아시아 태평양 (서울) 리전의 인프라 운영을 범위로 해당 리전에서 운영하고 있는 110개의 서비스와 2020년 새롭게 발표된 4번째 가용영역도 새로운 인증 범위에 포함되었습니다. 더 자세한 것은 AWS K-ISMS 인증페이지를 참고하세요.
ISMS-P 운영 모범사례 사용하기
이번에 출시 된 AWS Config K-ISMS 운영 모범사례 규정 준수 팩은 115가지의 AWS Config Service의 관리형 규칙을 사용하여 구성하였습니다. 규정 준수 팩을 default로 배포하면 적용된 관리형 규칙들이 모두 적용됩니다. 실제로는 사용하지 않는 서비스와 관련된 AWS Config 관리형 규칙이어도 규정 준수 팩의 구성 요소로 함께 배포됩니다. 만약 원하는 서비스와 관련된 관리형 규칙을 사용하고 싶다면 “규정 준수 팩 템플릿을 업로드 하여 배포하기” 항목을 참고할 수 있습니다.
사전 준비
AWS Config K-ISMS 운영 모범사례 규정 준수 팩을 배포하기 위해서는 규정 준수 팩을 배포할 AWS 계정과 AWS Config 서비스를 배포 할 수 있는 IAM 권한이 필요합니다. 그리고 배포 대상 리전이 AWS Config 규정 준수 팩을 지원하는 리전 인지 확인합니다.
AWS Config K-ISMS 운영 모범사례 규정 준수 팩에 사용된 관리형 규칙과 ISMS-P 통제 항목
ISMS-P의 통제항목은 경우에 따라 AWS 환경에서 관리형 서비스로 준비가 가능한 요소가 있고, 고객이 운영을 하면서 확인해야 하는 요소도 있습니다. 따라서 규정 준수 팩을 적용한다고 해서 ISMS-P의 요구사항을 모두 모니터링 하거나 컴플라이언스 상태를 확인 할 수 있는 게 아니라, 아래 통제 항목들과 관리형 규칙들이 연관성이 있으며, 실제 운영 환경에는 고객이 원하는 관리형 규칙을 수정해서 적용해야 합니다. 각 통제 항목과 연결된 AWS 관리형 규칙은 AWS Config K-ISMS 운영 모범사례 규정 준수 팩문서에서 확인 할 수 있습니다.
- 제어 ID : ISMS-P 통제 항목
- AWS Config 규칙 : AWS 관리형 규칙
- 지침 : AWS 관리형 규칙에 대한 설명
기본 템플릿을 이용해 ISMS-P 운영 모범사례 배포
AWS Config에서 제공하는 샘플 템플릿을 사용해 규정 준수 팩을 배포 할 수 있습니다. AWS에 로그인하여 AWS Config 콘솔을 엽니다.
- 규정 준수 팩 페이지로 이동하여 규정 준수 팩 배포를 선택합니다.
- 템플릿 지정 페이지에서 샘플 템플릿을 선택합니다.
- 샘플 탬플릿의 드롭다운 목록에서 “Operation Best Practices for KISMS cpack”을 선택한 후 다음을 선택합니다.
- 규정 준수 팩 세부 정보 지정 페이지에서 규정 준수 팩의 이름을 입력합니다. 적합성 팩 이름은 최대 256자의 영문 및 숫자로 구성된 고유한 이름이어야 합니다. 이름에는 하이픈(“-”)이 포함될 수 있지만 공백은 포함할 수 없습니다.
- 선택 사항: 매개 변수를 추가합니다. 매개변수는 템플릿에 정의되므로 리소스를 관리하고 구성하는 데 도움이 됩니다.
- 다음 을 선택한 후 규정 준수팩 배포를 선택합니다.
배포 프로세스를 수행한 후 배포가 완료되기 까지 2~4분정도의 시간이 소요됩니다. 배포가 완료되면 배포 상태가 완료됨 으로 변경됩니다.
규칙 준수 항목이 미 준수로 표시된다면 규정 준수 팩을 구성하고 있는 관리형 규칙 중 일부가 규칙을 준수하지 못하고 있는 것을 의미합니다. 규정 준수 팩을 선택하면 어떠한 관리형 규칙이 미 준수 상태인지 확인 할 수 있습니다.
규정 준수 팩 템플릿을 업로드 하여 배포하기
AWS Config K-ISMS 운영 모범사례 규정 준수 팩의 115가지의 관리형 규칙을 모두 적용하지 않고 선택하여 적용 할 경우 규정 준수 팩 템플릿을 다운로드 받아서 수정 후 업로드 할 수 있습니다. AWS Config K-ISMS 운영 모범사례 규정 준수 팩 템플릿은 GitHub에서 다운 받을 수 있습니다.
템플릿은 다음과 같은 요소로 구성되어 있습니다.
- Parameters : 선택 사항으로 스택을 생성하거나 업데이트 할 때 템플릿에 사용자가 원하는 지정 값을 입력 할 수 있습니다.
- Resources : 템플릿을 이용해 구성할 AWS 리소스를 선택합니다. AWS Config의 관리형 규칙들이 리소스에 해당합니다.
- Conditions : 엔티티가 생성 또는 구성되는 환경을 정의합니다.
불필요한 관리형 규칙 제외 – Parameter / Condition 요소가 있는 관리형 규칙
규정 준수팩에 포함된 관리형 규칙 중 일부 규칙을 제외하고 싶은 경우 다운로드 받은 템플릿의 리소스 요소에서 매개변수와 컨디션이 있는 관리형 규칙은 리소스 뿐만 매개변수, 컨디션 항목에서 해당 관리형 규칙을 모두 제외해야 합니다.
- access-keys-rotated 규칙을 제외하는 경우
Parameters
AccessKeysRotatedParamMaxAccessKeyAge:
Default: '90'
Type: String
Resources
AccessKeysRotated:
Properties:
ConfigRuleName: access-keys-rotated
InputParameters:
maxAccessKeyAge:
Fn::If:
- accessKeysRotatedParamMaxAccessKeyAge
- Ref: AccessKeysRotatedParamMaxAccessKeyAge
- Ref: AWS::NoValue
Source:
Owner: AWS
SourceIdentifier: ACCESS_KEYS_ROTATED
Type: AWS::Config::ConfigRule
Condition
accessKeysRotatedParamMaxAccessKeyAge:
Fn::Not:
- Fn::Equals:
- ''
- Ref: AccessKeysRotatedParamMaxAccessKeyAge
불필요한 관리형 규칙 제외 – Parameter / Condition 요소가 없는 관리형 규칙
규정 준수팩에 포함된 관리형 규칙 중 일부 규칙을 제외하고 싶은 경우 다운로드 받은 템플릿의 리소스 요소에서 매개변수와 컨디션이 없는 관리형 규칙은 리소스 요소에서 해당 관리형 규칙을 제외해야 합니다.
- ebs-optimized-instance 규칙을 제외하는 경우
- Resource
EbsOptimizedInstance:
Properties:
ConfigRuleName: ebs-optimized-instance
Scope:
ComplianceResourceTypes:
- AWS::EC2::Instance
Source:
Owner: AWS
SourceIdentifier: EBS_OPTIMIZED_INSTANCE
Type: AWS::Config::ConfigRule
관리형 규칙의 구성 값 변경
AWS Config K-ISMS 운영 모범사례 규정 준수 팩에는 iam-password-policy
와 같은 다양한 매개변수 값을 구성하여 적용하는 관리형 정책이 있습니다. 이 정책의 기본 값을 템플릿에서 변경이 가능하며, 사용자의 보안 정책에 따라 적절한 값을 적용 할 수 있습니다. Iam-password-policy는 이와 같은 규칙의 예시이며 매개변수 값의 변경이 필요한 경우 아래와 같이 수정할 수 있습니다.
- iam-password-policy 정책 기본 값
규칙 구성 요소 타입 기본값 설명 1 IamPasswordPolicyParamMaxPasswordAge String 90 비밀번호 최대 사용기간 2 IamPasswordPolicyParamMinimumPasswordLength String 12 비밀번호 최소 길이 3 IamPasswordPolicyParamPasswordReusePrevention String 5 비밀번호 재사용 금지 4 IamPasswordPolicyParamRequireLowercaseCharacters String TRUE 비밀번호에 소문자 포함 5 IamPasswordPolicyParamRequireNumbers String TRUE 비밀번호에 숫자 포함 6 IamPasswordPolicyParamRequireSymbols String TRUE 비밀번호에 특수문자 포함 7 IamPasswordPolicyParamRequireUppercaseCharacters String TRUE 비밀번호에 대문자 포함
- Parameter
IamPasswordPolicyParamMaxPasswordAge:
Default: '90'
Type: String
IamPasswordPolicyParamMinimumPasswordLength:
Default: '12'
Type: String
IamPasswordPolicyParamPasswordReusePrevention:
Default: '5'
Type: String
IamPasswordPolicyParamRequireLowercaseCharacters:
Default: 'TRUE'
Type: String
IamPasswordPolicyParamRequireNumbers:
Default: 'TRUE'
Type: String
IamPasswordPolicyParamRequireSymbols:
Default: 'TRUE'
Type: String
IamPasswordPolicyParamRequireUppercaseCharacters:
Default: 'TRUE'
Type: String
- iam-password-policy 정책의 기본 구성값 변경
- 비밀번호 최소 길이가 14, 재사용 금지 8회, 비밀번호에 소문자, 숫자, 대문자만 포함하는 경우
- Parameter
IamPasswordPolicyParamMaxPasswordAge:
Default: '90'
Type: String
IamPasswordPolicyParamMinimumPasswordLength:
Default: '14'
Type: String
IamPasswordPolicyParamPasswordReusePrevention:
Default: '8'
Type: String
IamPasswordPolicyParamRequireLowercaseCharacters:
Default: 'TRUE'
Type: String
IamPasswordPolicyParamRequireNumbers:
Default: 'TRUE'
Type: String
IamPasswordPolicyParamRequireSymbols:
Default: 'FALSE'
Type: String
IamPasswordPolicyParamRequireUppercaseCharacters:
Default: 'TRUE'
Type: String*
수정한 템플릿으로 규정 준수팩 배포하기
- AWS에 로그인하고 AWS Config 콘솔을 엽니다.
- 규정 준수 팩 페이지로 이동하여 규정 준수 팩 배포를 선택합니다.
- 템플릿 업로드를 선택합니다.
- 템플릿 위치를 지정합니다. 템플릿이 50KB를 초과하는 경우 S3 버킷에 업로드하고 해당 S3 버킷 위치를 선택합니다.
- 위와 동일한 절차대로 규정 준수 팩을 배포합니다.
완료한 규정 준수 팩 삭제하기
AWS Config K-ISMS 운영 모범사례 규정 준수 팩을 삭제 할때는 규정 준수 팩 페이지에서 삭제 하고 싶은 규정 준수 팩을 선택 후 작업 항목의 삭제를 선택 합니다.
마치며
AWS Config K-ISMS 운영 모범사례 규정 준수 팩은 ISMS-P 통제 항목 별 연관되는 Config의 관리형 규칙을 이용해 지속 가능한 컴플라이언스 모니터링 환경을 제공합니다. 적절한 관리형 규칙을 선택하여 AWS Config 서비스를 구성 하면 모니터링 자동화 뿐만 아니라 감사 증적 준비도 효율적으로 운영 할 수 있습니다.
– 진상열, AWS 시큐리티 컨설턴트