📋 컴플라이언스 감사 실습

120

왜 컴플라이언스 감사를 배워야 할까?

2023년, 한 중소 핀테크 기업이 금융감독원의 정기 감사를 받게 되었습니다. 감사관이 묻습니다. "S3 버킷에 저장된 고객 금융 데이터가 모두 암호화되어 있습니까?" 담당자가 답합니다. "네, 당연히요." 감사관이 다시 묻습니다. "증거를 보여주세요."

AWS 보안 컴플라이언스 감사 대시보드 개요

담당자는 S3 콘솔을 열고, 버킷을 하나하나 클릭하기 시작합니다. 버킷이 47개. 각 버킷의 암호화 설정을 스크린샷으로 캡처합니다. 3시간이 걸렸습니다. 그런데 감사관이 또 묻습니다. "EBS 볼륨은요? RDS 인스턴스는요? 지난 6개월간 암호화 설정이 변경된 적은 없나요?"

이 기업에 AWS ConfigAudit Manager가 설정되어 있었다면, 이 모든 질문에 대한 답변은 클릭 몇 번으로 끝났을 것입니다.

AWS Config는 모든 리소스의 구성 변경 이력을 자동으로 기록합니다. "S3 버킷이 암호화되어 있는가?", "보안 그룹에 SSH 포트가 전체 공개되어 있지 않은가?" 같은 규칙을 설정하면, 실시간으로 준수/비준수 상태를 모니터링합니다.

Audit Manager는 여기서 한 발 더 나아갑니다. AWS Config의 평가 결과, CloudTrail의 API 호출 기록, Security Hub의 보안 점수 등을 증거(evidence)로 자동 수집하고, 감사 보고서를 자동 생성합니다. SOC 2, PCI DSS, GDPR 등 다양한 규정 프레임워크에 맞춘 평가 템플릿도 제공합니다.

이 실습에서는 다음을 직접 경험합니다:

  • AWS Config로 4가지 보안 규칙을 설정하고 리소스 준수 상태 확인
  • 비준수 리소스를 직접 수정하여 준수 상태로 변경
  • Audit Manager로 감사 평가를 생성하고 증거를 자동 수집
  • 감사 보고서를 PDF로 생성하여 실제 감사에 사용할 수 있는 산출물 확보

실습을 시작하기 전에 AWS 콘솔에 로그인되어 있는지 확인하세요. 리전은 ap-northeast-2 (서울) 을 사용합니다.

아키텍처 개요

AWS Config 규정 준수 대시보드 — 규칙 평가 결과

감사 프로세스 흐름

다이어그램 로딩 중...
컴플라이언스 감사 자동화 흐름도

비용 예측

비용 계산기

4시간
0h24h
AWS Config (규칙 평가)

평가 건

$0.0040
Audit Manager (평가)

리소스/월

$0.0048
예상 총 비용$0.0088

* 실제 비용은 AWS 요금 정책에 따라 달라질 수 있습니다.

수동 감사 vs 자동 감사

자동화된 감사 도구의 가치를 이해하기 위해, 수동 감사와 자동 감사를 비교해보겠습니다.

수동 감사 (AWS Config 없이):

  • S3 버킷 47개를 하나씩 콘솔에서 클릭하여 암호화 설정 확인 → 3시간
  • EBS 볼륨 120개의 암호화 상태를 일일이 확인 → 2시간
  • 보안 그룹 35개의 SSH 포트 설정을 확인 → 1시간
  • 총 소요 시간: 6시간 이상, 인적 오류 가능성 높음
  • 결과: 스크린샷 기반 증거 (시점이 불명확, 변조 가능성)

자동 감사 (AWS Config + Audit Manager):

  • Config Rules 4개 설정: 10분
  • 전체 리소스 평가 자동 실행: 5분 (대기)
  • 비준수 항목 즉시 확인 + Audit Manager 보고서 생성: 5분
  • 총 소요 시간: 20분, 인적 오류 제로
  • 결과: 타임스탬프가 포함된 기계적 증거 (변조 불가능)

감사의 본질은 "현재 상태가 규정을 준수하는가"를 증거로 입증하는 것입니다. 자동화된 도구는 증거의 정확성과 신뢰성을 크게 향상시킵니다.

Step 1: AWS Config 설정

AWS Config 레코더를 활성화하면 계정 내 모든 리소스의 구성 정보와 변경 이력이 자동으로 기록됩니다. "누가, 언제, 어떤 리소스를, 어떻게 변경했는지"를 타임라인으로 추적할 수 있습니다.

Config 레코더는 리전 단위로 동작합니다. 서울 리전에서만 활성화하면 도쿄 리전의 리소스는 추적되지 않습니다. 실습에서는 서울 리전만 사용하지만, 프로덕션에서는 모든 사용 리전에서 활성화해야 합니다.

구성 정보는 S3 버킷에 JSON 형태로 저장됩니다. 이 데이터는 감사 증거로 활용되므로, 버킷 자체에도 암호화와 버전 관리를 설정하는 것을 권장합니다.

  1. AWS 콘솔 → AWS Config 서비스 → 시작하기 클릭
  2. 기록할 리소스 유형: 이 리전에서 지원되는 모든 리소스 선택
  3. Amazon S3 버킷: config-audit-lab-{계정ID} 새 버킷 생성
  4. AWS Config 역할: AWS Config 서비스 연결 역할 생성 선택
  5. 확인 클릭하여 레코더 시작
코드
aws configservice put-configuration-recorder \
  --configuration-recorder name=default,roleARN=arn:aws:iam::ACCOUNT_ID:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig \
  --recording-group allSupported=true
 
aws configservice start-configuration-recorder \
  --configuration-recorder-name default

AWS Config 레코더는 리전 단위로 동작합니다. 멀티 리전 환경에서는 AWS Config Aggregator를 사용하여 통합 대시보드를 구성할 수 있습니다.

Step 2: Config Rules 추가

Config Rules는 리소스가 특정 조건을 만족하는지 자동으로 평가하는 규칙입니다. AWS에서 제공하는 관리형 규칙은 250개 이상이며, 코드 작성 없이 바로 사용할 수 있습니다.

이 실습에서는 보안 감사에서 가장 자주 확인되는 4가지 규칙을 설정합니다. 각 규칙이 무엇을 검사하는지, 왜 중요한지 이해하는 것이 핵심입니다.

  • s3-bucket-server-side-encryption-enabled: S3 버킷의 기본 암호화 설정 확인. 암호화되지 않은 데이터는 유출 시 그대로 노출됩니다.
  • encrypted-volumes: EBS 볼륨 암호화 확인. EC2에 연결된 디스크에 민감 데이터가 암호화 없이 저장되면 위험합니다.
  • s3-bucket-public-read-prohibited: S3 퍼블릭 읽기 차단. 실수로 퍼블릭 설정된 버킷은 데이터 유출의 주요 원인입니다.
  • restricted-ssh: 보안 그룹에서 SSH(22번 포트)가 0.0.0.0/0으로 열려있지 않은지 확인. 전 세계에 SSH를 공개하면 무차별 대입 공격에 노출됩니다.
진행률 0/6
  1. 1AWS Config → 규칙 → 규칙 추가 클릭
  2. 2s3-bucket-server-side-encryption-enabled 규칙 검색 후 추가 — S3 버킷 암호화 확인
  3. 3encrypted-volumes 규칙 추가 — EBS 볼륨 암호화 확인
  4. 4s3-bucket-public-read-prohibited 규칙 추가 — S3 퍼블릭 읽기 차단 확인
  5. 5restricted-ssh 규칙 추가 — SSH 포트 접근 제한 확인
  6. 6각 규칙에 대해 저장 클릭 후 평가 실행 대기 (약 2~5분)

주요 규정 프레임워크 비교

실무에서 접하게 되는 주요 규정 프레임워크를 이해하면, 감사 준비 시 어떤 항목을 중점적으로 확인해야 하는지 파악할 수 있습니다.

  • SOC 2 (Service Organization Control): SaaS 기업이 가장 많이 받는 감사. 보안, 가용성, 처리 무결성, 기밀성, 프라이버시 5가지 신뢰 원칙을 평가합니다.
  • PCI DSS (Payment Card Industry Data Security Standard): 결제 데이터를 처리하는 기업의 필수 규정. 암호화, 접근 제어, 네트워크 보안 등 12가지 요구사항.
  • HIPAA (Health Insurance Portability and Accountability Act): 의료 데이터를 처리하는 기업의 규정. AWS는 BAA(Business Associate Agreement) 체결 후 HIPAA 대상 서비스를 사용할 수 있습니다.
  • GDPR (General Data Protection Regulation): EU 거주자의 개인정보를 처리하는 모든 기업에 적용. 데이터 암호화, 접근 제어, 데이터 삭제 권리(Right to Erasure) 등을 요구합니다.
  • ISMS-P (정보보호 및 개인정보보호 관리체계): 한국의 정보보호 인증 체계. 일정 규모 이상의 사업자는 의무 인증 대상입니다.

AWS Audit Manager는 위 프레임워크 중 SOC 2와 PCI DSS에 대한 사전 정의된 평가 템플릿을 제공합니다. 이 실습에서는 가장 범용적인 AWS Operational Best Practices 프레임워크를 사용합니다.

Step 3: Audit Manager 프레임워크 생성

Audit Manager는 AWS Config, CloudTrail, Security Hub 등에서 증거를 자동으로 수집하여 감사 보고서를 생성하는 서비스입니다. 프레임워크는 "어떤 항목들을 평가할 것인가"를 정의하는 템플릿입니다.

AWS Operational Best Practices 프레임워크를 사용하면, AWS 운영 모범 사례에 기반한 100여 개의 평가 항목이 자동으로 설정됩니다. 각 항목에 대한 증거가 자동으로 수집되므로, 감사관에게 "이것이 증거입니다"라고 바로 보여줄 수 있습니다.

  1. AWS 콘솔 → AWS Audit Manager평가 생성
  2. 프레임워크: AWS Operational Best Practices 선택
  3. 평가 이름: lab-compliance-assessment
  4. 감사 소유자: 현재 IAM 사용자 선택
  5. S3 대상 버킷: audit-evidence-lab-{계정ID} 지정
  6. 평가 생성 클릭
코드
aws auditmanager create-assessment \
  --name lab-compliance-assessment \
  --framework-id "AWS-Operational-Best-Practices" \
  --assessment-reports-destination \
    destinationType=S3,destination=s3://audit-evidence-lab-ACCOUNT_ID \
  --roles "roleType=PROCESS_OWNER,roleArn=arn:aws:iam::ACCOUNT_ID:role/AuditManagerRole" \
  --scope "awsAccounts=[{id=ACCOUNT_ID}]"

감사 준비 프로세스

실무에서 감사를 준비할 때는 다음과 같은 흐름을 따릅니다. 이 프로세스를 이해하면 AWS Config와 Audit Manager가 각 단계에서 어떤 역할을 하는지 명확해집니다.

다이어그램 로딩 중...
컴플라이언스 감사 준비 프로세스
  1. 규정 요구사항 파악: "어떤 규정을 준수해야 하는가?" SOC 2, PCI DSS, ISMS-P 등 적용 가능한 프레임워크를 확인합니다.
  2. Config Rules 설정: 규정 요구사항에 매핑되는 Config Rules를 설정합니다. 예: PCI DSS의 "저장 데이터 암호화" → s3-bucket-server-side-encryption-enabled 규칙.
  3. 현재 상태 평가: Config 대시보드에서 준수/비준수 현황을 확인합니다.
  4. 비준수 리소스 수정: 비준수 항목을 하나씩 수정하고 재평가합니다.
  5. 증거 수집: Audit Manager가 Config 결과, CloudTrail 로그 등을 자동으로 수집합니다.
  6. 보고서 생성: PDF 보고서를 생성하여 감사관에게 제출합니다.

Step 4: 비준수 리소스 수정

Config 대시보드에서 비준수(Noncompliant) 리소스를 확인하고 직접 수정하는 것이 이 실습의 핵심입니다. 실제 감사에서도 "비준수 항목을 발견하고 → 수정하고 → 수정 후 재평가하여 준수 상태를 확인하는" 흐름을 반복합니다.

각 비준수 유형별 수정 방법을 하나씩 따라하며 규정 준수의 전체 사이클을 경험해보세요.

진행률 0/5
  1. 1AWS Config → 대시보드에서 비준수(Noncompliant) 리소스 확인
  2. 2비준수 S3 버킷 → 속성 → 기본 암호화 → SSE-S3 활성화
  3. 3비준수 EBS 볼륨 → 암호화된 스냅샷 생성 후 새 암호화 볼륨으로 교체
  4. 4퍼블릭 접근이 열린 S3 버킷 → 퍼블릭 액세스 차단 설정 활성화
  5. 5Config 규칙 재평가 실행하여 준수(Compliant) 상태 확인

AWS Config의 자동 수정(Remediation) 기능을 사용하면 SSM Automation 문서를 연결하여 비준수 리소스를 자동으로 수정할 수 있습니다.

✏️

본인의 말로 설명해 보세요

S3 버킷의 퍼블릭 액세스 차단 설정과 버킷 정책의 관계를 설명해보세요.

💡 퍼블릭 액세스 차단은 버킷 수준의 '안전장치'. 버킷 정책에서 퍼블릭 접근을 허용해도 차단 설정이 우선. 즉, 실수로 잘못된 버킷 정책을 적용해도 데이터 유출 방지...

Step 5: 감사 보고서 생성

증거가 수집되면 감사 보고서를 생성합니다. 이 보고서에는 평가 대상 리소스 목록, 각 항목의 준수/비준수 상태, 수집된 증거, 평가 시점 등이 포함됩니다. 실제 외부 감사에서 이 보고서를 그대로 제출할 수 있습니다.

보고서 생성에는 몇 분이 소요될 수 있습니다. Audit Manager가 수집된 모든 증거를 종합하여 PDF 형식의 보고서를 구성합니다. 보고서에는 다음 항목이 포함됩니다:

  • 평가 프레임워크 이름 및 범위
  • 평가 기간 및 생성 일시
  • 통제 항목별 준수/비준수/미평가 상태
  • 각 항목에 연결된 증거 목록 (Config 평가 결과, CloudTrail 로그 등)
  • 전체 준수율 요약
진행률 0/5
  1. 1Audit Manager → 평가 → lab-compliance-assessment 선택
  2. 2증거 폴더 탭에서 수집된 증거 확인
  3. 3평가 보고서 생성 클릭
  4. 4보고서 이름: compliance-report-lab 입력
  5. 5S3 버킷에 생성된 PDF 보고서 다운로드 후 내용 확인

트러블슈팅 가이드

Config 규칙 평가가 "평가 결과 없음"으로 표시되는 경우

  • Config 레코더가 정상적으로 실행 중인지 확인하세요: Config → 설정 → 레코더 상태.
  • 평가 대상 리소스가 실제로 존재하는지 확인하세요. 예를 들어 encrypted-volumes 규칙은 EBS 볼륨이 없으면 평가 결과가 없습니다.
  • 규칙 추가 후 첫 평가에는 2~5분이 소요됩니다. "규칙 재평가"를 클릭하여 수동으로 트리거할 수도 있습니다.

Audit Manager 평가 생성 시 "권한 부족" 오류

  • IAM 사용자에게 auditmanager:* 권한이 있는지 확인하세요.
  • Audit Manager 서비스 역할이 Config, CloudTrail, S3에 접근할 수 있는지 확인하세요.
  • Audit Manager를 처음 사용하는 경우 "서비스 설정"에서 초기 구성이 필요할 수 있습니다.

핵심 개념 확인

완성 후 테스트 가이드

진행률 0/5
  1. 1비준수 → 준수 전환 확인: Config 대시보드에서 모든 규칙이 "준수" 상태인지 확인합니다. 비준수 항목이 남아있다면 수정하고 재평가합니다.
  2. 2구성 변경 이력 확인: Config → 리소스 → S3 버킷을 선택하여 타임라인에서 암호화 설정 변경 이력이 기록되어 있는지 확인합니다.
  3. 3감사 보고서 검증: Audit Manager에서 생성한 PDF 보고서를 열어 평가 항목, 증거, 준수 상태가 정확히 기술되어 있는지 확인합니다.
  4. 4새 비준수 리소스 생성: 의도적으로 암호화되지 않은 S3 버킷을 생성하고, Config 규칙이 자동으로 비준수를 탐지하는지 확인합니다 (약 5분 소요).
  5. 5SNS 알림 확인: (선택) Config 규칙에 SNS 알림을 연결했다면, 비준수 탐지 시 이메일 알림이 도착하는지 확인합니다.

실무에서 자주 묻는 질문

Q: AWS Config 규칙은 몇 개까지 설정할 수 있나요?

기본 한도는 리전당 150개입니다. 한도 증가를 요청하면 더 많이 설정할 수 있습니다. 다만, 규칙이 너무 많으면 평가 비용이 증가하고 관리가 어려워지므로, 보안 감사에 필수적인 규칙(암호화, 접근 제어, 로깅) 위주로 20~30개를 선별하여 설정하는 것을 권장합니다.

Q: 비준수 리소스를 자동으로 수정하면 서비스에 영향이 없나요?

자동 수정(Remediation)은 신중하게 적용해야 합니다. 예를 들어, S3 버킷에 퍼블릭 액세스 차단을 자동 적용하면, 의도적으로 퍼블릭으로 운영하는 정적 웹사이트 호스팅 버킷의 서비스가 중단될 수 있습니다. 자동 수정을 적용하기 전에 반드시 테스트 환경에서 먼저 검증하고, 예외 목록을 관리하세요.

Q: Config와 CloudTrail의 역할 차이가 헷갈립니다.

CloudTrail은 "누가 무엇을 했는가"(API 호출 기록)를 추적합니다. Config는 "리소스가 지금 어떤 상태인가"(구성 평가)를 추적합니다. 예를 들어, CloudTrail은 "사용자 A가 보안 그룹을 수정했다"를 기록하고, Config는 "이 보안 그룹의 현재 설정이 규칙을 준수하는가"를 평가합니다. 둘 다 보안에 필수적이지만 목적이 다릅니다.

확장 아이디어

  1. 커스텀 Config Rule 생성: Lambda 함수를 작성하여 조직 고유의 규정 준수 규칙을 생성합니다 (예: 특정 태그가 필수인 규칙).
  2. 자동 수정(Remediation) 설정: SSM Automation과 연동하여, 비준수 S3 버킷에 자동으로 암호화를 적용하는 자동 수정 규칙을 구성합니다.
  3. 멀티 계정 감사: AWS Organizations + Config Aggregator를 활용하여 여러 계정의 규정 준수 상태를 중앙에서 모니터링합니다.
  4. PCI DSS 프레임워크 평가: Audit Manager에서 PCI DSS 프레임워크를 선택하여 결제 데이터 보안 규정에 대한 평가를 생성합니다.
  5. Conformance Pack 배포: AWS Config Conformance Pack으로 여러 규칙을 한 번에 배포하여 규정 준수 기준을 표준화합니다.
✏️

본인의 말로 설명해 보세요

감사관에게 '우리 AWS 인프라가 규정을 준수하고 있다'는 것을 증명하기 위해 필요한 절차를 설명해보세요.

💡 1) AWS Config로 리소스 구성 상태를 실시간 모니터링 2) Config Rules로 자동 평가 3) Audit Manager로 증거 수집 4) PDF 보고서 생성하여 제출. 수동 스크린샷과의 차이점은...

학습 정리

핵심 치트시트

리소스 정리

실습 완료 후 반드시 아래 순서대로 리소스를 정리하여 불필요한 과금을 방지하세요.

  1. Audit Manager 평가 삭제
  2. AWS Config 규칙 삭제 (4개)
  3. AWS Config 레코더 중지 및 삭제
  4. Config 전송 채널 삭제
  5. S3 버킷 비우기 및 삭제 (config-audit-lab, audit-evidence-lab)
  6. IAM 역할 정리 (Audit Manager용)