0. 초기 환경 구성
- AWS 환경 구축 (Terraform 스크립트)
- 메인 아키텍처: 실무 서비스 환경을 모사한 VPC, 퍼블릭·프라이빗 서브넷, ALB, EC2, CloudTrail·Config → 보안 점검 실무 적합성 확보
- 서브 아키텍처 4종: 다양한 리소스(ICMP, 인터넷 게이트웨이, Lambda 등) 반영하여 Prowler·Custodian 테스트 커버리지 강화
- Terraform 자동화 배포:
- terraform apply로 AWS 리소스 일괄 배포
- 테스트 후 terraform destroy로 비용 최적화
1. Prowler의 ISMS-P 점검기준 재매핑
- 기존 한계
- 키워드 유사성 매핑 -> 기능 맥락 무시
- 설명·대응방안 부재
- 단일 매핑
- 개선 방향
- 기능 목적 기반 매핑: 각 체크의 ‘Purpose’ 필드 활용
- 설명·조치(ActionPlan) 포함
- 중복 매핑 적용으로 기준 완전성 제고
예시
// 기존
{
"Id": "2.6.1",
"Name": "Network Access",
"Checks": [ … ],
// 대응방안 정보 없음
}
// 개선
{
"Id": "2.6.1",
"Name": "네트워크 접근 통제",
"Checks": [ … ],
"ActionPlan": "API Gateway REST API에 대한 웹 ACL 연결 여부 확인 및 차단 설정"
}
요구사항 분석 & 설계
1. 사용자 요구사항
- 페르소나
- 클라우드 보안 엔지니어: AWS 환경 취약점 점검·조치를 자동화된 툴로 실행
- 컴플라이언스 담당자: ISMS-P 등 국내 보안 프레임워크 기준으로 주기적 보고서·알림 수신
- 주요 흐름
- AWS 환경을 대상으로 ISMS-P 기준에 따라 Prowler를 활용해 보안 점검을 수행하여 취약점을 파악
- 정책 위반이 발생하면 EventBridge가 이를 감지하고, Lambda 함수를 트리거하여 조치를 수행
- 수행 결과를 JSON 메시지로 SQS 큐에 발행
- Mailer 모듈을 통해 Slack으로 전송
- 기능 목록 (우선순위)
- 취약점 스캔 자동화 (Prowler)
- 메시지 발행 (Prowler -> SQS)
- 취약점 조치 자동화 (Lambda 기반 Python 스크립트)
- 컴플라이언스 정책 관리 (CloudCustodian YAML)
- 선택사항: 정책 적용 여부 검증을 목적으로 Prowler 수행
2. 아키텍처 전반도

- EventBridge: 스캔 주기 트리거
- Prowler Lambda: AWS 계정의 Prowler 스캔 후 JSON 출력
- SQS 큐: 메시지 버퍼링
- Lambda 자동조치: 취약 리소스 태그/삭제 등 조치
- Lambda 알림: Slack 채널로 스캔·조치 결과 전송
3. 데이터 흐름 & 메시지 포맷
- SQS 메시지 예시
{ "account_id": "123456789012", "region": "ap-northeast-2", "findings_summary": { "critical": 2, "high": 5, "medium": 10 }, "timestamp": "2025-07-10T09:00:00Z" } - CloudCustodian 정책 YAML 예시
policies: - name: ec2-public-access resource: ec2 filters: - type: value key: SecurityGroups[*].IpPermissions[*].IpRanges[*].CidrIp value: 0.0.0.0/0 actions: - type: tag key: custodian_auto_remediated value: true - type: notify template: slack subject: "EC2 Public Access Detected" to: - "#secops"
'개발 실습' 카테고리의 다른 글
| 5. CloudCustodian 정책 작성 & 실행 튜토리얼 (1) | 2025.08.11 |
|---|---|
| 4. Prowler 점검 자동화 가이드 (5) | 2025.08.11 |
| 3. 아키텍처 심층 분석 (0) | 2025.08.11 |
| 1. 프로젝트 소개 (1) | 2025.08.11 |
| 가상머신과 네트워크 연결 (1) | 2025.03.19 |