클라우드 보안 - AWS 보안 서비스 · 로그 · Config · SSM · CloudFormation

Phase 2  |  Cloud Security

AWS 보안 서비스 · 로그 · Config · SSM · CloudFormation

GuardDuty · Inspector · Config Rules · Session Manager · IaC · 통합 보안 아키텍처까지

01AWS 보안 서비스 — 계층형 구조

AWS 보안은 단일 서비스가 아닌 Identity → Network → Data → Detection 4계층 구조로 구성된다. 각 계층이 독립적으로 동작하면서 서로 보완한다.

IAM
Identity & Access Management

사용자·역할·권한 관리. 최소 권한 원칙. MFA 필수. Role 기반 접근으로 Access Key 최소화.

KMS
Key Management Service

암호화 키 생성·관리. S3/RDS/EBS 통합. 키 사용 로그 CloudTrail 연동. 규제 대응 핵심.

GuardDuty
위협 탐지 (ML 기반)

VPC Flow Logs·DNS Logs 분석. 비정상 지역 로그인, 포트 스캐닝, 크립토마이닝 탐지.

Inspector
취약점 스캔

EC2·컨테이너 CVE 기반 취약점 자동 스캔. 지속적 평가. SBOM(소프트웨어 자재명세서) 제공.

Security Hub
보안 통합 대시보드

GuardDuty·Inspector·Config 결과 통합. CIS Benchmark 자동 평가. 전체 보안 점수 확인.

WAF + Shield
웹 방어 + DDoS 대응

WAF: SQL Injection·XSS·IP 차단. Shield Standard: 무료 DDoS 기본 방어. Shield Advanced: L7 DDoS.

Defense-in-Depth — 3단계 보안 구조
예방 (Prevent)
공격이 들어오기 전에 차단. 접근 자체를 제한하는 구조 설계
IAM · SG · NACL · WAF
탐지 (Detect)
들어온 공격을 감지. 이상 행위 패턴 분석 및 알림
GuardDuty · CloudTrail · Config
대응 (Respond)
탐지 후 자동·수동 조치. 피해 최소화 및 복구
Config + Lambda · Security Hub
02AWS 로그 서비스 — 통합 분석 구조
API 감사
CloudTrail

모든 AWS API 호출 기록. 누가/언제/무엇을 변경했는지 추적. 포렌식 핵심.

메트릭/로그
CloudWatch

시스템·앱 로그 중앙 수집. CPU/네트워크 지표. 알람→자동화 연동.

네트워크
VPC Flow Logs

VPC 내 모든 트래픽 기록. 허용/차단 여부 포함. 침해사고 분석 필수.

서비스별
ALB / S3 로그

ALB: 요청별 상세 기록. S3: 객체 접근 이력. 서비스 레벨 감사에 활용.

로그 운영 전략

로그 저장 아키텍처

  • 중앙 저장소 — 모든 로그를 S3 단일 버킷으로 집중
  • 무결성 확보 — S3 Object Lock + Versioning으로 변조 방지
  • 장기 보관 — Lifecycle 정책으로 90일 후 Glacier 전환
  • 분석 — Athena로 S3 로그 SQL 쿼리
  • SIEM 연동 — Splunk, OpenSearch로 실시간 분석

주요 실수 & 리스크

  • CloudTrail 미설정 — 침해사고 발생 시 원인 추적 불가
  • 로그 삭제 가능 상태 — 공격자가 흔적 제거 가능
  • VPC Flow Logs 미활성화 — 네트워크 침해 탐지 불가
  • 로그 보관 기간 미설정 — 컴플라이언스 위반
  • 단일 계정에 로그 저장 — 계정 침해 시 로그도 삭제
로그 보안 설계 핵심  |  로그를 별도 계정(Log Archive Account)에 저장하면 운영 계정 침해 시에도 로그 보전이 가능하다. AWS Organizations의 CloudTrail Organization Trail 기능으로 전체 계정 로그를 중앙 수집할 수 있다.
03AWS Config — 리소스 구성 상태 감시

AWS 리소스의 구성 상태를 지속적으로 기록하고 정책 준수 여부를 자동 평가한다. CloudTrail이 "누가 바꿨는지"를 기록한다면, Config는 "무엇이 어떻게 바뀌었는지" 상태를 추적한다.

Config Rules — 정책 자동 평가 예시
s3-bucket-public-access
S3 퍼블릭 접근 금지

버킷 Public Access 설정 비활성화 여부 자동 감지. 위반 시 Non-Compliant 표시.

sg-no-open-port
Security Group 0.0.0.0/0 제한

SSH(22), RDP(3389) 포트가 전체 인터넷에 열려있으면 즉시 경보.

rds-no-public-access
RDS 퍼블릭 접근 금지

RDS 인스턴스에 Public Accessibility가 활성화되면 자동 탐지.

mfa-enabled-for-root
Root 계정 MFA 필수

Root 계정에 MFA가 활성화되지 않으면 Compliance 위반 처리.

encrypted-volumes
EBS 볼륨 암호화

암호화되지 않은 EBS 볼륨이 존재하면 Non-Compliant 상태로 표시.

cloudtrail-enabled
CloudTrail 활성화 여부

계정에 CloudTrail이 활성화되어 있는지 지속적으로 확인.

자동 대응 — Config + Lambda Remediation
Config Rule위반 탐지
SNS 알림담당자 통보
+
Lambda자동 수정
Compliant정책 준수 상태 복원
CloudTrail vs Config 차이  |  CloudTrail은 "어떤 API가 호출됐는가" — 이벤트 기록. Config는 "리소스가 지금 어떤 상태인가" — 현재 구성 상태 + 변경 이력. 침해사고 분석 시 두 서비스를 함께 봐야 전체 그림이 보인다.
04Session Manager (SSM) — Bastion 없는 안전한 접근

AWS Systems Manager의 핵심 기능. SSH 포트 없이, 키페어 없이 IAM 인증만으로 Private EC2에 접속할 수 있다.

동작 구조
관리자브라우저 / CLI
IAM 인증권한 검증
SSM 서비스AWS 관리 채널
SSM AgentEC2 내 설치
Private EC2포트 노출 없음
Bastion vs Session Manager 비교
항목Bastion HostSession Manager
포트 노출22/tcp 인터넷 노출 필요포트 노출 없음 — 공격 표면 제거
키 관리pem 파일 필요 — 분실/유출 위험키페어 불필요 — IAM 권한만 사용
인증 방식SSH 키 기반IAM 권한 기반 — MFA 조건 추가 가능
접근 로그OS 레벨 수동 설정CloudTrail 자동 기록 + 세션 내용 저장
비용EC2 인스턴스 비용SSM 자체는 무료 (VPC Endpoint 비용 별도)
권장 여부레거시 환경실무 표준 — 신규 구성 시 필수
Session Manager 접속 — AWS CLI
# SSM으로 Private EC2 접속 (SSH/포트 불필요) aws ssm start-session \ --target i-0123456789abcdef0 # SSH처럼 포트 포워딩도 가능 (로컬 3306 → RDS 3306) aws ssm start-session \ --target i-0123456789abcdef0 \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["3306"],"localPortNumber":["13306"]}' # EC2 IAM Role에 필요한 정책 AmazonSSMManagedInstanceCore # SSM Agent 동작용
05CloudFormation — Infrastructure as Code

인프라를 YAML/JSON 코드로 정의하고 자동으로 생성·수정·삭제하는 IaC(Infrastructure as Code) 서비스. 코드로 관리하지 않으면 대규모 인프라 운영이 불가능한 수준이 된다.

구성 요소 & 워크플로우
TEMPLATE
템플릿

YAML/JSON으로 인프라 정의. EC2, VPC, RDS 등 선언

CHANGE SET
변경 계획

실제 적용 전 변경 내용 미리 확인. 사이드 이펙트 방지

STACK
스택 실행

리소스 자동 생성·관리. 실패 시 자동 Rollback

DRIFT
드리프트 감지

실제 리소스와 템플릿 차이 탐지. 수동 변경 감지

CloudFormation Template 예시 — EC2 + Security Group
AWSTemplateFormatVersion: "2010-09-09" Description: "EC2 with Security Group" Parameters: InstanceType: Type: String Default: t3.micro Resources: WebSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Web server SG SecurityGroupIngress: - IpProtocol: tcp FromPort: 443 ToPort: 443 CidrIp: 0.0.0.0/0 WebServer: Type: AWS::EC2::Instance Properties: InstanceType: !Ref InstanceType SecurityGroupIds: [!Ref WebSecurityGroup] UserData: !Base64 | #!/bin/bash yum install -y httpd systemctl enable --now httpd

IaC의 핵심 장점

  • 재현성 — 동일 환경을 dev/staging/prod에 반복 생성
  • 버전 관리 — 템플릿을 Git으로 관리. 변경 이력 추적
  • 자동 Rollback — 스택 실패 시 이전 상태로 자동 복구
  • Drift 감지 — 수동 변경 탐지로 구성 일관성 유지

보안 관점 IaC

  • 템플릿에 하드코딩된 시크릿 금지 → SSM Parameter Store 참조
  • CFN Guard로 템플릿 보안 정책 자동 검증
  • Change Set 검토 후 적용 — 실수 방지
  • Stack Policy로 핵심 리소스 보호
06통합 보안 아키텍처
User관리자 / 서비스 사용자
IAM 인증 + MFA최소 권한 검증
Session Manager포트 노출 없이 Private EC2 접근
EC2 (Private Subnet)CloudFormation으로 코드 기반 관리
AUDIT
CloudTrail

모든 API 호출 기록. S3 저장 + Object Lock

MONITOR
CloudWatch + GuardDuty

메트릭/로그 수집. ML 기반 위협 탐지

COMPLIANCE
Config + Security Hub

정책 준수 자동 평가. 전체 보안 점수

주요 실수 & 대응
  • CloudTrail 미설정 : 침해사고 발생 시 원인 추적 불가. 계정 생성 즉시 활성화 필수
  • Config 미사용 : 정책 위반(퍼블릭 S3, 열린 SG)이 방치됨. Managed Rule 즉시 적용
  • IAM 과도한 권한 : 권한 범위 파악 안 된 채 AdministratorAccess 부여. IAM Access Analyzer로 점검
  • Bastion Host 사용 유지 : 22번 포트 노출이 지속됨. Session Manager로 전환해 공격 표면 제거
  • 인프라 수동 관리 : 환경 재현 불가, 변경 이력 없음. CloudFormation으로 IaC 전환
  • 로그 무결성 미확보 : 공격자가 CloudTrail 비활성화 + 로그 삭제 가능. S3 Object Lock 필수 설정