Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
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)