1. Security Group (SG): 가상 방화벽
- 역할: EC2 인스턴스, RDS, Lambda 등 AWS 리소스에 대한 인바운드(Inbound) 및 아웃바운드(Outbound) 트래픽을 제어.
- 특징:
- 상태 기반(Stateful): 인바운드 요청을 허용하면, 이에 대한 응답은 자동으로 허용.
- 규칙은 허용만 가능(Deny는 설정 불가).
- 특정 IP, CIDR 범위, 포트, 프로토콜 기반으로 제어 가능.
- 사용 예:
- 포트 80(HTTP)과 443(HTTPS)을 허용.
- 내부 VPC 네트워크에서만 특정 리소스 접근 허용.
2. Network ACL (NACL): 네트워크 레벨의 ACL
- 역할: 서브넷 수준에서 트래픽을 제어.
- 특징:
- 비상태 기반(Stateless): 인바운드와 아웃바운드 규칙을 별도로 설정해야 함.
- 허용(Allow)과 거부(Deny) 규칙 모두 가능.
- 규칙은 번호순으로 평가(숫자가 낮은 규칙이 우선 적용).
- 서브넷에 연결된 모든 리소스에 적용됨.
- 사용 예:
- 서브넷 레벨에서 특정 IP의 접근을 완전히 차단.
- 서브넷에서의 아웃바운드 트래픽을 제한.
3. AWS WAF (Web Application Firewall): 애플리케이션 방화벽
- 역할: ALB, API Gateway, CloudFront 등의 HTTP/HTTPS 트래픽을 보호.
- 특징:
- SQL Injection, XSS(크로스 사이트 스크립팅) 등 웹 공격 차단.
- IP 허용/차단, 요청 속도 제한(Rate Limiting).
- 커스텀 규칙 및 AWS Managed 규칙 제공.
- 사용 예:
- 악성 요청 차단.
- IP 블랙리스트/화이트리스트 설정.
4. IAM (Identity and Access Management): AWS 리소스 접근 제어
- 역할: AWS 서비스와 리소스에 대한 사용자 및 서비스의 권한을 관리.
- 특징:
- 사용자, 그룹, 역할(Role)을 기반으로 정책 설정.
- 특정 서비스(API) 호출만 허용하거나 제한.
- 리소스 기반 정책(S3, Lambda, API Gateway 등)과도 통합.
- 사용 예:
- EC2 인스턴스에서 S3 버킷에 접근하도록 허용.
- 특정 사용자만 DynamoDB에 쓰기 작업 허용.
5. VPC Endpoint Policy: PrivateLink를 통한 접근 제어
- 역할: 특정 서비스(S3, DynamoDB 등)에 대한 VPC 내부 트래픽을 제어.
- 특징:
- 엔드포인트에 정책을 설정하여 특정 작업(API 호출)을 허용/차단.
- 인터넷을 거치지 않고 AWS 리소스에 직접 연결.
- 사용 예:
- S3 버킷에 대한 VPC 내부에서의 특정 IP 접근만 허용.
6. CloudFront Geo-Restriction 및 Origin Access Control (OAC)
- 역할: 콘텐츠 배포를 제한하고, S3 등 백엔드 리소스를 보호.
- 특징:
- Geo-Restriction: 특정 국가나 지역에서의 접근 차단.
- OAC: S3 버킷에 CloudFront만 접근하도록 설정.
- 사용 예:
- 한국 외 지역에서의 콘텐츠 접근 차단.
- S3 정적 콘텐츠를 CloudFront로만 서빙.
7. AWS Shield 및 AWS Firewall Manager
AWS Shield
- 역할: DDoS 공격 방어.
- 특징:
- AWS Shield Standard는 모든 계정에서 기본 제공.
- AWS Shield Advanced는 더 강력한 보호 및 비용 방지 기능 제공.
- 사용 예:
- ALB나 CloudFront의 DDoS 공격 보호.
AWS Firewall Manager
- 역할: 여러 AWS 계정과 리소스에 대한 방화벽 정책 중앙 관리.
- 특징:
- WAF, Security Group, VPC NACL 규칙을 계정 단위로 관리.
- 사용 예:
- 여러 계정에서 WAF 규칙을 일괄 적용.
8. Elastic Load Balancer (ELB) Listener 및 Rule
- 역할: 요청의 URL 경로, 도메인, IP에 따라 트래픽 라우팅.
- 특징:
- ALB에서 경로 기반(/api, /web) 및 호스트 기반(api.example.com) 라우팅 설정.
- HTTPS 인증서로 보안 트래픽 처리.
- 사용 예:
- /api 요청은 Lambda로, /web 요청은 EC2로 전달.
9. S3 Bucket Policy 및 CORS
- 역할: S3 버킷에 대한 접근을 제어.
- 특징:
- 특정 IAM 사용자, 역할, IP만 허용 가능.
- CORS 설정을 통해 다른 도메인에서의 액세스를 허용.
- 사용 예:
- 특정 VPC에서만 S3 객체 읽기/쓰기 허용.
10. RDS 및 ElastiCache의 Network-Level 접근 제어
- 역할: 데이터베이스의 네트워크 접근을 제어.
- 특징:
- RDS와 ElastiCache는 Security Group으로 접근 제어.
- 특정 IP 또는 애플리케이션만 데이터베이스에 연결 허용.
- 사용 예:
- RDS 데이터베이스에 내부 애플리케이션 서버만 접근 허용.
11. Lambda Function URL
- 역할: Lambda 함수에 대한 HTTP(S) 엔드포인트 제공.
- 특징:
- CORS 설정으로 도메인별 접근 제어.
- IAM 정책과 연동하여 인증 설정.
- 사용 예:
- 특정 사용자만 Lambda URL 호출 허용.
정리
AWS에서 ACL과 Security Group과 같은 역할을 수행하는 도구는 다양한 계층에서 접근과 보안을 관리합니다:
- 네트워크 계층: Security Group, NACL.
- 애플리케이션 계층: WAF, API Gateway.
- 리소스 레벨: IAM, S3 Bucket Policy.
- 글로벌/배포 레벨: Route 53, CloudFront, Firewall Manager
'AWS' 카테고리의 다른 글
Routing Table & Internet Gateway(라우팅테이블 & 인터넷게이트웨이) (0) | 2025.01.14 |
---|---|
AWS에서 네트워크 트래픽과 접근을 제어하는 도구 (0) | 2025.01.13 |
ip CIDR 10.x.x.x vs 172.x.x.x (0) | 2025.01.09 |
Virtual Private Cloud(VPC) 핵심잡자 (0) | 2025.01.08 |
VPN 알아보기 (0) | 2025.01.06 |