Post

AWS 네트워크 보안 - NACL, WAF, CloudTrail, KMS, Secrets Manager 정리

AWS의 네트워크 보안 구성 요소인 NACL, WAF, CloudTrail, KMS, Secrets Manager에 대해 핵심 개념과 실습 예시 정리

AWS 네트워크 보안 - NACL, WAF, CloudTrail, KMS, Secrets Manager 정리

NACL(Network ACL) 이해하기

1. NACL이란?

  • VPC의 서브넷 수준에서 동작하는 네트워크 보안 레이어
  • 트래픽의 입장(ingress), 퇴장(egress) 각각에 대해 허용/거부 룰 명시 가능
  • 방화벽처럼 동작하며, 서브넷 수준 트래픽 제어

2. 보안 그룹과 NACL 비교

항목보안 그룹(Security Group)NACL(Network ACL)
적용 대상인스턴스(ENI)서브넷 단위
상태 저장성상태 저장형(Stateful)비상태형(Stateless)
룰 방향인바운드/아웃바운드 구분인바운드/아웃바운드 각각 설정
기본 정책기본 거부(Deny by default)기본 허용(Allow by default)
룰 수 제한없음각 방향당 최대 20개
평가 방식전체 룰 검사 후 허용 여부 결정번호 순서대로 검사, 처음 일치하는 룰이 적용

3. NACL 구조

  • NACL은 서브넷에 연결되어야 동작 (서브넷 1개는 1개 NACL만 연결 가능)
  • 각 룰은 번호(Priority)가 낮을수록 우선 적용
  • 예시:
1
2
3
4
5
Rule # | Type | Protocol | Port Range | Source/Dest | Allow/Deny
--------------------------------------------------------------
100    | ALL  | ALL      | ALL        | 0.0.0.0/0    | ALLOW
110    | TCP  | 80       | 0.0.0.0/0  | ALLOW
120    | ALL  | ALL      | ALL        | 0.0.0.0/0    | DENY

4. 기본 NACL vs 사용자 지정 NACL

항목기본 NACL사용자 지정 NACL
초기 정책모든 트래픽 허용모든 트래픽 거부
삭제 여부삭제 불가삭제 가능
커스터마이징이름/룰만 제한적 수정 가능룰, 서브넷 연결 등 완전 가능

5. 퍼블릭 웹 서버 인바운드 제한 실습

  • HTTP(80), SSH(22)만 허용, 나머지 차단
  • 아웃바운드는 전체 허용

인바운드 룰

Rule #TypeProtocolPortSourceAction
100HTTPTCP800.0.0.0/0ALLOW
110SSHTCP220.0.0.0/0ALLOW
120ALLALLALL0.0.0.0/0DENY

아웃바운드 룰

Rule #TypeProtocolPortDestinationAction
100ALLALLALL0.0.0.0/0ALLOW

6. 보안 전략

  • 사용자 지정 NACL을 새로 만들어 서브넷에 연결
  • 예외 허용 후, 하단에 전체 DENY 명시
  • VPC Flow Logs로 트래픽 감시 및 분석 가능

7. 주의 사항

  • Stateless: 요청과 응답을 각각 허용해야 함
  • 보안 그룹과 NACL은 동시에 적용되며, 둘 다 통과해야만 허용됨

8. 자주 묻는 질문(FAQ)

  • Q: NACL만 써도 되나요? → 비효율적, 보안 그룹과 병행 권장
  • Q: VPC 내 서브넷마다 다른 NACL 가능? → 가능

9. 핵심 요약

항목내용
정의VPC 내 서브넷 단위의 트래픽 제어 리스트
특징비상태형, 우선순위 기반 룰 검사
실무 팁deny 룰 명시, 로그 분석 도구 활용

AWS WAF(Web Application Firewall)

WAF란?

  • HTTP/S 계층에서 동작하는 방화벽
  • SQL Injection, XSS 등 애플리케이션 공격 방어

핵심 기능

기능설명
SQL Injection 차단쿼리 조작 시도 필터링
XSS 차단스크립트 삽입 공격 감지
GeoBlocking국가 기반 접근 차단
Rate Limiting요청 빈도 제한, DDoS 방어
IP 필터링허용/차단 리스트
Custom Rules사용자 지정 룰

구성 요소 (AWS WAF 기준)

  • Web ACL → 룰의 집합
  • Rule Groups → 조건(IP, URI, 지역 등)
  • 통합 대상 → ALB, API Gateway, CloudFront 등

AWS CloudTrail

개요

항목설명
기능AWS 전체 API 호출 기록 저장
저장 위치S3, 옵션: CloudWatch Logs
분석 도구Athena, CloudWatch, GuardDuty 등과 연동 가능

활용 예시

  • 보안 감사 (누가 S3를 삭제했는가?)
  • 운영 문제 분석 (EC2 중지 이유 추적)
  • 이상 행위 감지 (비정상 API 호출 패턴)

AWS KMS(Key Management Service)

개요

항목설명
기능암호화 키 생성 및 관리
대상대칭키, 비대칭키 (서명/복호화)
사용처S3, RDS, Lambda, Secrets Manager 등

키 회전

  • 자동 회전 (1년 주기)
  • 수동 회전도 가능

예시

  • carrot-lab-key 생성 후, S3 버킷의 기본 암호화 키로 설정

AWS Secrets Manager

개요

항목설명
기능민감 정보 저장, 자동 암호화(KMS 기반)
예시DB 비밀번호, API 키, 토큰 등

자동 교체

  • RDS, Lambda 등과 연동해 자동으로 비밀번호 교체 가능

활용 예시

  • 애플리케이션이 코드에 비밀번호를 하드코딩하지 않아도 됨
  • CloudTrail과 연동하여 접근 추적 가능

요약

항목설명
NACL서브넷 단위 비상태형 트래픽 제어
WAFHTTP/S 공격 방어, Web ACL 기반 룰 적용
CloudTrailAPI 호출 추적 및 보안 감사 로그
KMS암호화 키 중앙 관리 및 회전
Secrets Manager민감 정보 안전 저장 및 자동 교체
This post is licensed under CC BY 4.0 by the author.