COSS 교과목/클라우드활용

7주차 - AWS 보안 서비스 (WAF, GuardDuty)

지호0312 2026. 6. 7. 04:53

 

- 보안 책임 공유 모델 (Shared Responsibility Model)

구분 AWS 책임 ("클라우드 자체의 보안") 고객 책임 ("클라우드 내의 보안")
주요 내용 물리적 인프라 보안 (데이터센터, 서버, 스토리지, 네트워크)
하이퍼바이저·하드웨어 관리
글로벌 인프라 네트워크 운영
데이터 암호화 및 키 관리 (KMS)
IAM 설정, 네트워크 구성
OS 패치, 보안 그룹·방화벽 설정
애플리케이션 보안, 포트 관리

 

 

- 기본 보안 구성 요소 복습

IAM
AWS 리소스 접근 권한을 제어하는 서비스. 구성 요소는 사용자(User), 그룹(Group), 역할(Role), 정책(Policy)으로 이루어져 있다.
계정 생성 시 최초로 생기는 루트 유저는 권한이 막강해서 일상적으로 사용하지 않는 걸 권장

별도의 IAM 유저를 만들어서 정책으로 권한을 부여하는 방식으로 운영
여러 유저에게 권한을 일괄 부여할 때는 그룹을 활용하고, 임시 권한이 필요할 때는 역할(Role)을 사용함

EC2 위에 돌아가는 애플리케이션이 S3에 접근해야 할 때도 역할을 수임해서 처리

 

 

VPC (Virtual Private Cloud)
AWS 상에 격리된 가상 네트워크 공간. 내부에 서브넷을 만들 수 있고, 인터넷 연결 여부에 따라 퍼블릭/프라이빗 서브넷으로 구분

구성 요소 설명
서브넷 내부 네트워크 단위. 퍼블릭/프라이빗으로 구분
인터넷 게이트웨이 (IGW) VPC에서 인터넷으로 나가는 문. 퍼블릭 서브넷 라우팅 테이블에 등록해 사용
NAT 게이트웨이 프라이빗 서브넷에서 아웃바운드만 허용하고 인바운드는 차단. 퍼블릭 서브넷에 배포해 사용
라우팅 테이블 트래픽 흐름 제어

 VPC는 퍼블릭과 프라이빗 환경을 분리할 수 있어 보안성이 높아짐. 통상적으로 웹 서버는 퍼블릭 서브넷, DB 서버는 프라이빗 서브넷에 배치함

  

보안 그룹 (Security Group)
EC2 등 인스턴스에 적용하는 가상 방화벽. RDS 같은 다른 인스턴스 기반 서비스에도 적용 가능 

특징 내용
상태 저장 (Stateful) 인바운드가 허용되면 아웃바운드도 자동 허용, 반대도 마찬가지
규칙 방식 허용(Allow)만 설정 가능 — Deny 설정 불가
제어 단위 포트, 프로토콜, IP 범위

 

 

- 보안 서비스 도입이 중요한 이유

클라우드 보안 위협이 증가하는 배경으로는 인터넷 연결 환경 특성상 접근 가능성이 무한히 열려 있다는 점, 사용자와 설정이 복잡해질수록 실수 가능성이 높아진다는 점, 멀티 클라우드·하이브리드 환경에서는 통합 보안 관리가 어려워 사각지대가 생긴다는 점이 있음.  

 

대표적인 클라우드 보안 위협 유형

위협 유형 설명
잘못된 권한 설정 가장 흔한 위협. 단순 설정 오류가 대규모 데이터 유출로 이어짐
계정 및 자격증명 탈취 IAM 키 탈취 시 합법적 접근처럼 리소스를 조작 가능
내부자 위협 합법적 접근 권한을 가진 직원·협력업체의 악의적 행위
서비스 거부 공격 (DDoS) 대규모 트래픽으로 서비스 마비. 오토 스케일링으로 일부 흡수 가능하나 방치 시 비용 폭탄
크립토재킹 (Cryptojacking) 해킹한 클라우드 리소스로 암호화폐 채굴. 성능 저하 + 폭발적 비용 증가

 

 

AWS 주요 보안 서비스

서비스 기능 특징
AWS WAF 웹 공격 필터링 (XSS, SQL Injection 등) 규칙 기반 제어. 애플리케이션 레벨 방화벽
Amazon GuardDuty 지능형 위협 탐지 머신러닝 기반 이상 행동 탐지
AWS Shield DDoS 방어 기본형 무료 제공
AWS CloudTrail API 호출 기록 누가 언제 무엇을 했는지 로그로 남김. 보안 사고 분석에 활용
AWS Config 리소스 설정 변경 추적 규정 준수 여부 지속적 감시

 

 

- 클라우드 보안 사이클

예방 → 탐지 → 대응 → 분석 및 개선

 

1. 예방 (Prevent)
사고의 80% 이상을 이 단계에서 막을 수 있다. IAM 최소 권한 원칙 적용, S3 Public Access Block 활성화, 보안 그룹 인바운드 제한, 데이터 암호화(EBS·RDS·S3 서버사이드 암호화) 등이 해당

WAF는 SQL Injection, XSS, 악성 봇 등의 요청이 애플리케이션에 도달하기 전에 차단해주는 역할을 한다.

 

2. 탐지 (Detect)
예방을 해도 공격은 발생할 수 있음. 비정상적 행위를 빠르게 식별하는 게 핵심
Amazon GuardDuty는 머신러닝으로 비정상 API 호출·악성 IP 통신을 탐지

CloudTrail은 계정·API 활동 로그를 남기고, AWS Config는 리소스 보안 설정 변화를 지속적으로 모니터링

 

3. 대응 (Respond)
탐지된 위협에 즉각 대응해 피해 확산을 막는 단계

AWS WAF로 악성 IP 차단 규칙을 자동 배포하거나, AWS Lambda + CloudWatch Events로 해킹된 EC2를 보안 그룹에서 자동 격리하는 방식이 사용됨

 

4. 분석 및 개선 (Analyze/Recover)
사고 발생 후 원인을 분석하고 재발 방지 대책을 설계하는 단계

증거 보존을 위해 CloudTrail·VPC Flow Logs를 격리 계정에 저장하고, 여러 로그를 교차 검증함. 조직 차원의 통제 강화에는 SCP(계정 전체에 영향을 미치는 정책)를 활용할 수 있다.

 

- WAF (Web Application Firewall)
:HTTP/HTTPS 트래픽을 모니터링해 악성 공격으로부터 웹 애플리케이션을 보호하는 보안 서비스임. 네트워크 레벨이 아니라 애플리케이션 레벨에서 요청을 검사함.  

 

주요 웹 공격 유형  

- SQL Injection
공격자가 웹 입력 필드에 SQL 구문을 삽입해 데이터베이스를 조작하는 방식. 예를 들어 로그인 키값 입력란에 ' OR '1'='1 같은 구문을 넣으면 항상 참이 되어 모든 유저 정보가 노출된다. 2011년 소니 해킹 사례에서 SQL Injection으로 7,700만 명의 고객 정보가 유출된 바 있다. 최소 권한 원칙으로 방어한다.

- XSS (Cross-Site Scripting)
악성 스크립트를 게시판 등에 삽입해 다른 사용자의 브라우저에서 실행시키는 공격. 세션 탈취나 피싱에 활용된다. WAF의 규칙으로 스크립트 패턴을 필터링해 방어한다.

- HTTP Flood / Rate-based Attack
짧은 시간 동안 과도한 요청을 보내 서비스 불능을 유도하는 공격. 요청 자체가 정상 HTTP처럼 보여 탐지가 까다롭다. WAF의 속도 기반 룰(Rate-based rule)로 완화 가능하다.

 

 

WAF 적용 대상

적용 대상 설명
Amazon CloudFront 글로벌 CDN에 대한 웹 공격 방어. Global Web ACL로 모든 리전에 동일 규칙 적용 가능
Application Load Balancer (ALB) EC2 기반 웹 애플리케이션의 트래픽 제어. Regional Web ACL 적용
Amazon API Gateway API 호출에 대한 필터링 가능

 WAF는 EC2 인스턴스에 직접 붙이는 게 아니라 ALB나 CloudFront 앞단에 적용하는 구조로 CloudFront와 ALB에 중복 적용하는 것도 가능

 

- Amazon GuardDuty
GuardDuty는 AWS 계정 및 리소스에서 발생하는 이상 징후를 자동으로 탐지해주는 위협 탐지 서비스이다.

 

GuardDuty 기본 작동 방식 

데이터 소스 내용
VPC Flow Logs VPC 안에 오가는 네트워크 트래픽 기록. 누가 누구한테 패킷을 보냈는지, 허용·거절 여부가 남음
AWS CloudTrail 누가 언제 어떤 AWS API를 호출했고 성공·실패했는지 기록하는 CCTV 같은 로그
DNS Logs 어떤 도메인을 질의했는지 기록. 어떤 서버와 통신하려 했는지 추적 가능

머신러닝 기반이고, AWS가 자체적으로 알려진 악성 IP·도메인·공격 패턴 DB를 지속적으로 업데이트

 

실습: GuardDuty 통합 알림 설정

1. SNS 토픽 생성
AWS 콘솔 → SNS → Topics → Create topic
Type: Standard, Name: GuardDutyFindingsTopic 입력 후 생성.
구독(Subscription) 추가 → 프로토콜: Email → 이메일 주소 입력 → Create subscription.
해당 이메일로 AWS에서 확인 메일이 오면 Confirm subscription 클릭

주제 생성
표준 - mytopic - 주제 생성
구독 생성
메일로 구독 확인






2. EventBridge 규칙 생성
AWS 콘솔 → EventBridge → Rules → Create rule
Name: GuardDutyFindingsRule, Event source: AWS services
Service: GuardDuty, Event type: GuardDuty Finding 선택.
Target: SNS topic → GuardDutyFindingsTopic 지정 → 규칙 생성  

지표 선택 클릭
바로 알림을 받아보기 위해 임계치 0으로 설정




 

3. GuardDuty 샘플 Findings 발생
AWS 콘솔 → GuardDuty → Settings → Generate sample findings
몇 분 후 EventBridge가 이벤트를 트리거 → SNS 토픽으로 전달 → 등록된 이메일로 경고 수신 확인

새로고침해 보면 경보 상태로 바뀌어 있다.
이메일로도 알림이 온 것을 확인할 수 있다.

 

'COSS 교과목 > 클라우드활용' 카테고리의 다른 글

10주차 - CloudWatch, CloudTrail, Amazon SNS  (0) 2026.06.09
9주차 - AWS Well-Architected Framework  (0) 2026.06.07
6주차 - S3/VPC  (0) 2026.06.04
5주차 - EC2  (0) 2026.06.03
4주차 - IAM  (0) 2026.06.01