- Tác giả

- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
AWS Security Group là gì? Hướng dẫn toàn tập về tường lửa ảo trong AWS
1. Giới thiệu
Trong hạ tầng AWS, Security Group đóng vai trò là tường lửa ảo (Virtual Firewall) cho các tài nguyên như EC2 instance, RDS database, hoặc Elastic Load Balancer. Nó cho phép bạn kiểm soát lưu lượng mạng vào và ra dựa trên các quy tắc (rules) mà bạn định nghĩa. Hiểu và cấu hình đúng Security Group là bước quan trọng để đảm bảo bảo mật mạng (network security) cho toàn bộ hệ thống của bạn.
2. AWS Security Group là gì?
AWS Security Group (SG) là một nhóm các quy tắc (rules) điều khiển inbound traffic (lưu lượng vào) và outbound traffic (lưu lượng ra) của một hoặc nhiều tài nguyên trong AWS. Mỗi EC2 instance hoặc tài nguyên gắn với VPC đều có thể gắn một hoặc nhiều Security Group.
Security Group hoạt động ở layer 4 (transport layer) trong mô hình OSI, nghĩa là nó kiểm soát lưu lượng dựa trên protocol (TCP, UDP, ICMP), port, và source/destination IP.
3. Cách hoạt động của Security Group
🔸 Inbound Rules (Luồng vào)
- Xác định loại lưu lượng được phép đi vào từ bên ngoài đến instance.
- Ví dụ: Cho phép cổng 22 (SSH) từ địa chỉ IP của bạn để truy cập máy chủ.
🔸 Outbound Rules (Luồng ra)
- Xác định loại lưu lượng được phép đi ra khỏi instance đến Internet hoặc tài nguyên khác.
🔸 Đặc điểm nổi bật:
- Mặc định từ chối tất cả lưu lượng inbound, và cho phép tất cả outbound.
- Các quy tắc đều có hiệu lực “cho phép” (Allow), không có quy tắc “từ chối” (Deny).
- Quy tắc được áp dụng ngay lập tức khi thay đổi, không cần khởi động lại instance.
- Có thể gắn nhiều Security Group vào cùng một instance, và AWS sẽ hợp nhất các quy tắc (union).
4. Cấu trúc quy tắc trong Security Group
| Loại Rule | Protocol | Port Range | Source/Destination | Mô tả |
|---|---|---|---|---|
| Inbound | TCP | 22 | 203.0.113.5/32 | Cho phép SSH từ IP của bạn |
| Inbound | TCP | 80 | 0.0.0.0/0 | Cho phép HTTP từ mọi nơi |
| Outbound | All | All | 0.0.0.0/0 | Cho phép tất cả lưu lượng đi ra |
5. Security Group vs Network ACL (NACL)
| Tiêu chí | Security Group | Network ACL |
|---|---|---|
| Cấp độ áp dụng | Instance level | Subnet level |
| Loại quy tắc | Chỉ “Allow” | Có “Allow” và “Deny” |
| Trạng thái | Stateful | Stateless |
| Hướng lưu lượng | Tự động cho phép phản hồi | Cần quy tắc riêng cho inbound/outbound |
| Dễ quản lý | Dễ, gắn trực tiếp vào instance | Phức tạp hơn, áp dụng subnet-wide |
👉 Tóm lại:
- Dùng Security Group để bảo vệ từng instance cụ thể.
- Dùng Network ACL để bảo vệ toàn subnet.
6. Cách tạo và cấu hình Security Group
Bước 1: Mở AWS Management Console
Đi đến VPC > Security Groups > Create security group.
Bước 2: Đặt tên và mô tả
Nhập tên và mô tả giúp bạn dễ dàng nhận biết mục đích của Security Group (VD: web-server-sg).
Bước 3: Thêm Inbound Rules
Ví dụ:
- Allow SSH (TCP/22) từ IP của bạn.
- Allow HTTP (TCP/80) từ 0.0.0.0/0.
Bước 4: Thêm Outbound Rules
Giữ mặc định (cho phép tất cả outbound).
Bước 5: Gắn vào Instance
Khi tạo hoặc chỉnh sửa EC2 instance, chọn Security Group đã tạo.
7. Best Practices khi dùng Security Group
✅ Nguyên tắc least privilege: Chỉ mở các port thực sự cần thiết.
✅ Giới hạn IP truy cập SSH:
Không mở SSH (port 22) cho toàn Internet (0.0.0.0/0).
✅ Dùng tên rõ ràng và mô tả chi tiết: Giúp dễ dàng quản lý và audit sau này.
✅ Tách riêng các nhóm theo chức năng:
Ví dụ: web-sg, db-sg, app-sg để dễ kiểm soát.
✅ Kết hợp với IAM và CloudTrail: Để theo dõi ai thay đổi cấu hình bảo mật.
8. Use Cases phổ biến
- Cho phép EC2 instance nhận traffic từ ELB.
- Giới hạn kết nối RDS chỉ từ các instance trong cùng VPC.
- Mở port 443 (HTTPS) cho web server public.
- Tạo nhóm riêng cho backend API, chỉ cho phép từ frontend subnet.
9. Tổng kết
AWS Security Group là lớp bảo mật quan trọng trong mô hình mạng AWS, giúp bạn quản lý truy cập ở mức instance một cách linh hoạt, dễ hiểu và hiệu quả. Khi được cấu hình đúng cách, Security Group giúp bạn xây dựng một môi trường AWS an toàn, cách ly và kiểm soát tốt các kết nối mạng.
🔍 Tóm tắt nhanh
| Đặc điểm | Mô tả |
|---|---|
| Loại dịch vụ | Tường lửa ảo trong VPC |
| Cấp độ áp dụng | Instance |
| Loại quy tắc | Chỉ “Allow” |
| Trạng thái | Stateful |
| Hướng lưu lượng | Inbound & Outbound |
| Dùng cho | EC2, RDS, ELB, Lambda (trong VPC) |
