2. 프로젝트 전체진행흐름

2025. 8. 11. 21:04·개발 실습

0. 초기 환경 구성

  • AWS 환경 구축 (Terraform 스크립트)
    • 메인 아키텍처: 실무 서비스 환경을 모사한 VPC, 퍼블릭·프라이빗 서브넷, ALB, EC2, CloudTrail·Config → 보안 점검 실무 적합성 확보
    • 서브 아키텍처 4종: 다양한 리소스(ICMP, 인터넷 게이트웨이, Lambda 등) 반영하여 Prowler·Custodian 테스트 커버리지 강화
    • Terraform 자동화 배포:
      1. terraform apply로 AWS 리소스 일괄 배포
      2. 테스트 후 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 등 국내 보안 프레임워크 기준으로 주기적 보고서·알림 수신
  • 주요 흐름
    1. AWS 환경을 대상으로 ISMS-P 기준에 따라 Prowler를 활용해 보안 점검을 수행하여 취약점을 파악
    2. 정책 위반이 발생하면 EventBridge가 이를 감지하고, Lambda 함수를 트리거하여 조치를 수행
    3. 수행 결과를 JSON 메시지로 SQS 큐에 발행
    4. Mailer 모듈을 통해 Slack으로 전송
  • 기능 목록 (우선순위)
    1. 취약점 스캔 자동화 (Prowler)
    2. 메시지 발행 (Prowler -> SQS)
    3. 취약점 조치 자동화 (Lambda 기반 Python 스크립트)
    4. 컴플라이언스 정책 관리 (CloudCustodian YAML)
    5. 선택사항: 정책 적용 여부 검증을 목적으로 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
'개발 실습' 카테고리의 다른 글
  • 4. Prowler 점검 자동화 가이드
  • 3. 아키텍처 심층 분석
  • 1. 프로젝트 소개
  • 가상머신과 네트워크 연결
samsam031
samsam031
samsam031 님의 블로그 입니다.
  • samsam031
    samsam031 님의 블로그
    samsam031
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 디지털포렌식
      • 드림핵 문제풀이
      • 대외활동
      • 개발 실습
      • 컴퓨터 보안
      • 클라우드
      • 자격증
      • 자연어처리
      • 백엔드
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
samsam031
2. 프로젝트 전체진행흐름
상단으로

티스토리툴바