← 통합 포탈 서비스

03 / 09

보안 관련 요소

Edge/Network/IAM/Secret 다층 방어 구조, WAF, OAC, Security Group 분리, IAM Role 설계, Secrets Manager

Defense in DepthWAFOACIAMSecrets Manager
개요 & 아키텍처전체 아키텍처 / DR 대비보안 관련 요소비용 관련 요소성능 관련 요소DNS & 도메인CI/CD & 배포데이터베이스운영 모니터링

다층 방어 구조 (Defense in Depth)

보안 구조는 단일 계층이 아니라, Edge / Network / IAM / Secret 관리로 분리된 다층 방어 구조로 설계하였습니다. 각 계층이 독립적으로 방어 역할을 수행하며, 하나의 계층이 뚫리더라도 다음 계층에서 차단할 수 있는 구조입니다.

Edge (CloudFront + WAF)Network (VPC / SG)IAM (Role 분리)Secret (Secrets Manager)

Edge 보안 — CloudFront + WAF

가장 외부 계층에서 CloudFront와 AWS WAF를 결합하여 트래픽을 제어하였습니다. 공격 트래픽이 ALB 및 ECS까지 도달하기 전에 차단하는 것이 핵심입니다.

백엔드 리소스 보호

공격 트래픽이 ALB/ECS에 도달하기 전 차단

불필요한 비용 방지

악성 요청으로 인한 컴퓨팅 비용 발생 차단

보안 정책 중앙화

CloudFront 레벨에서 모든 보안 정책을 통합 관리

01

IP 기반 접근 제어 — 허용된 IP 대역만 접근 가능하도록 WAF 규칙 구성

02

Rate Limiting — 비정상적인 대량 요청 자동 차단

03

Bot Control — AWS WAF Bot Control로 자동화된 봇 트래픽 식별 및 차단

04

Request Body 제한 — 과도한 페이로드 요청 차단

OAC (Origin Access Control)

S3 오리진에 대한 접근을 CloudFront를 통해서만 허용하기 위해 OAC를 적용하였습니다. 기존 OAI 방식에서 OAC로 전환하여 보안성과 관리 편의성을 확보하였습니다.

기존 방식 (OAI)

• S3 버킷 정책에 OAI Principal 직접 지정

• KMS 암호화 미지원

• 레거시 방식으로 관리 복잡

개선 방식 (OAC)

• IAM 기반 서명으로 S3 접근 제어

• SSE-KMS 암호화 지원

• CloudFront 배포별 독립 관리

OAC 적용으로 S3 버킷의 퍼블릭 접근을 완전히 차단하고, CloudFront를 통한 접근만 허용하여 정적 리소스에 대한 보안 경계를 명확히 하였습니다.

네트워크 보안 — VPC 격리 & Security Group

Public Subnet에는 ALB만 배치하고, Private Subnet에 ECS, DB, ElastiCache를 배치하여 외부 직접 접근을 차단하였습니다. 서비스별 Security Group을 분리하여 최소 권한 원칙을 적용하였습니다.

Security Group대상인바운드 허용
ALB SGApplication Load BalancerCloudFront IP 대역 (80/443)
ECS SGECS Fargate TasksALB SG에서만 허용
DB SGRDS (MariaDB)ECS SG에서만 허용 (3306)
Cache SGElastiCacheECS SG에서만 허용 (6379)

환경 분리 개선

stg / prod 보안그룹을 완전 분리하고, 환경 간 접근을 차단하여 운영 안정성과 보안성을 강화하였습니다.

IAM 및 권한 관리

ECS Task Role과 Execution Role을 분리하고, 환경별로 독립 Role을 사용하여 권한 오용을 방지하였습니다.

ECS Task Role

애플리케이션이 AWS 리소스에 접근할 때 사용

S3 버킷 접근

SES 메일 발송

기타 AWS 서비스 호출

ECS Task Execution Role

ECS가 실행 시 필요한 권한

ECR 이미지 Pull

Secrets Manager 접근

CloudWatch Logs 기록

01

stg / prod 각각 독립 Role 사용 — 환경 간 권한 침범 차단

02

Secrets 접근 범위 분리 — 각 환경의 Secret에만 접근 가능

03

최소 권한 원칙 적용 — 필요한 리소스에만 접근 허용

Secret 관리 — Secrets Manager

민감 정보는 Secrets Manager를 통해 관리하고, ECS Task에서 환경변수로 주입하는 방식을 적용하였습니다. stg / prod 환경별로 Secret을 완전 분리하여 보안 경계를 명확히 하였습니다.

항목관리 방식환경 분리
Cache 비밀번호Secrets Managerstg / prod 별도
DB 접속 정보Secrets Managerstg / prod 별도
API 키 / 토큰Secrets Managerstg / prod 별도

Summary

Edge 차단 + 네트워크 격리 + IAM 최소 권한 + Secret 분리로 구성된 다층 보안 구조를 적용하였습니다. 각 계층이 독립적으로 방어 역할을 수행하며, 환경 간 보안 경계를 명확히 분리하여 운영 안정성을 확보하였습니다.

전체 아키텍처 / DR 대비비용 관련 요소