Cloud 환경에서는 서버 단위 접근 제어뿐만 아니라 Network 영역 자체를 보호하는 보안 계층이 필요합니다.
AWS에서는 이를 위해 Network ACL(Network Access Control List)을 제공합니다.
Security Group이 EC2 Instance 단위 Firewall이라면 Network ACL은 Subnet 단위에서 Traffic을 제어하는 Network 보안 기능입니다.
예:
사용자 요청
↓
Network ACL 검사
↓
Subnet 접근 허용
↓
Security Group 검사
↓
EC2 접근
여러 보안 계층을 구성하여 Cloud Network를 보호합니다.
| 구성 요소 | 역할 |
|---|---|
| Network ACL | Subnet Traffic 제어 |
| Inbound Rule | 들어오는 Traffic 관리 |
| Outbound Rule | 나가는 Traffic 관리 |
| Subnet | 적용 대상 Network 영역 |
| Rule Number | 규칙 우선순위 |
AWS Network ACL 구조를 이해하면 VPC 기반 Enterprise Network Security Architecture를 설계할 수 있습니다.
AWS Network ACL이란?
Network ACL은 VPC Subnet 수준에서 동작하는 Virtual Firewall입니다.
보호 영역:
- Public Subnet
- Private Subnet
- Database Subnet
Subnet으로 들어오고 나가는 Traffic을 제어합니다.
AWS Network ACL 동작 구조
기본 구조:
User
↓
Internet
↓
Network ACL
↓
Subnet
↓
Security Group
↓
EC2 Instance
Traffic이 Instance에 도달하기 전 Network 계층에서 검사합니다.
AWS Network ACL과 Security Group 차이
| 구분 | Network ACL | Security Group |
|---|---|---|
| 적용 위치 | Subnet | EC2 Instance |
| 방식 | Stateless | Stateful |
| 규칙 | Allow/Deny | Allow 중심 |
| 방향 | Inbound/Outbound 별도 | 자동 응답 |
| 목적 | Network 보호 | Server 보호 |
두 기능은 함께 사용합니다.
AWS Network ACL Rule 구조
Rule 구성:
| 항목 | 설명 |
|---|---|
| Rule Number | 우선순위 |
| Type | Traffic 종류 |
| Protocol | 통신 방식 |
| Port Range | 접근 Port |
| Source/Destination | 대상 |
| Allow/Deny | 허용 또는 차단 |
낮은 Rule Number가 먼저 평가됩니다.
AWS Network ACL Inbound Rule
Inbound Rule은 Subnet으로 들어오는 Traffic을 제어합니다.
예:
Web Subnet:
허용:
HTTP 80
HTTPS 443
차단:
불필요한 접근
외부 Traffic을 관리합니다.
AWS Network ACL Outbound Rule
Outbound Rule은 Subnet에서 외부로 나가는 Traffic을 관리합니다.
예:
Application Server
↓
Database 통신
↓
외부 API 접근
필요한 통신만 허용합니다.
AWS Network ACL Stateless 특징
Network ACL은 Stateless Firewall입니다.
의미:
Inbound 허용
↓
Response Traffic도 별도 Outbound 허용 필요
반대 방향 Rule을 직접 설정해야 합니다.
AWS Default Network ACL
AWS VPC 생성 시 기본 Network ACL이 생성됩니다.
특징:
- 모든 Traffic 허용
- 수정 가능
- Subnet 연결 가능
Production 환경에서는 별도 정책 구성을 권장합니다.
AWS Custom Network ACL 구성
기업 환경:
Public Subnet ACL
↓
Web Traffic 허용
Private Subnet ACL
↓
Application Traffic 허용
Database Subnet ACL
↓
Database 접근 제한
계층별 보안 정책을 적용합니다.
AWS Network ACL과 Public Subnet 보안
Public Subnet:
Internet
↓
Network ACL
↓
Load Balancer
↓
Application
외부 접근 범위를 제한합니다.
AWS Network ACL과 Private Subnet 보안
Private Subnet:
Application
↓
Network ACL
↓
Database
중요 Resource 보호에 활용합니다.
AWS Network ACL과 Multi Tier Architecture
일반적인 Cloud Architecture:
Internet
↓
Public Subnet
Load Balancer
↓
Private Subnet
Application Server
↓
Database Subnet
Database
각 계층마다 Network 정책을 적용합니다.
AWS Network ACL과 Kubernetes 연결
기존 Kubernetes Architecture와 연결하면:
AWS VPC
↓
Network ACL
↓
Subnet
↓
EC2 Worker Node
↓
EKS Cluster
↓
Pod Network Policy
Cloud Network와 Container Network 보안을 함께 구성합니다.
AWS Network ACL Best Practice
권장:
- Subnet별 ACL 분리
- 명확한 Rule Number 관리
- 불필요한 Allow 제거
- Deny 정책 활용
- 변경 기록 관리
Network 계층 보안을 강화합니다.
AWS Network ACL 장애 분석
ACL 확인:
aws ec2 describe-network-acls
Subnet 확인:
aws ec2 describe-subnets
Traffic 분석:
aws ec2 describe-flow-logs
확인:
- Rule 우선순위
- Deny Rule 존재 여부
- Subnet 연결 상태
- Port 차단 여부
AWS VPC Flow Logs와 Network ACL
Flow Logs는 Network Traffic 기록 기능입니다.
확인:
- Source IP
- Destination IP
- Port
- Accept / Reject 상태
Network 문제 분석에 활용합니다.
AWS Network ACL 장점
| 장점 | 설명 |
|---|---|
| Subnet 보호 | Network 영역 보안 |
| Traffic 제어 | 접근 제한 |
| Deny 지원 | 차단 정책 적용 |
| 계층 보안 | Security Group과 조합 |
Network ACL은 AWS VPC Security Architecture의 중요한 구성 요소입니다.
자주 묻는 질문
Security Group과 Network ACL 둘 다 필요한가요?
네.
Security Group은 Instance 보호, Network ACL은 Subnet 보호 역할을 하므로 함께 사용하는 것이 일반적입니다.
Network ACL에서 모든 Traffic을 차단하면 어떻게 되나요?
Subnet 내부 Resource와 외부 통신이 모두 제한될 수 있으므로 신중한 정책 설정이 필요합니다.
Network ACL은 Kubernetes NetworkPolicy와 같은 기능인가요?
아닙니다.
Network ACL은 AWS Network 계층이고 NetworkPolicy는 Kubernetes Pod 통신 계층입니다.
마무리
AWS Network ACL은 VPC Subnet 단위에서 Traffic을 제어하는 Network Security 기능으로, Security Group과 함께 Cloud 환경의 다중 보안 계층을 구성합니다.
| 구성 요소 | 역할 |
|---|---|
| Network ACL | Subnet 보호 |
| Inbound Rule | 외부 접근 제어 |
| Outbound Rule | 외부 통신 제어 |
| Rule Number | 우선순위 관리 |
| Flow Logs | Traffic 분석 |
AWS Network ACL 구조를 이해하면 안전한 AWS VPC Network와 Enterprise Cloud Security Architecture를 설계할 수 있습니다.