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 Network ACL là gì? Hướng dẫn chi tiết về Network Access Control List trong AWS VPC

AWS Network ACL (Access Control List) là một lớp bảo mật tùy chọn trong Amazon VPC (Virtual Private Cloud), được sử dụng để kiểm soát lưu lượng vào (inbound)ra (outbound) của các subnet. Nó hoạt động ở cấp subnet, cho phép bạn xác định các quy tắc cho phép hoặc từ chối lưu lượng mạng dựa trên địa chỉ IP, giao thức, và cổng.

Network ACL thường được dùng như lớp bảo mật thứ hai, bổ sung cho Security Group, giúp tăng tính an toàn tổng thể của hệ thống mạng trong VPC.


⚙️ Cách hoạt động của Network ACL

1. Mức áp dụng

  • Mỗi subnet trong VPC chỉ có thể liên kết với một Network ACL.
  • Một Network ACL có thể được gán cho nhiều subnet khác nhau.

2. Quy tắc xử lý

Network ACL xử lý các rule theo thứ tự từ nhỏ đến lớn (rule number). Khi một rule phù hợp được tìm thấy, AWS sẽ ngừng kiểm tra các rule còn lại.

Ví dụ:

  • Rule 100: Allow TCP port 80 từ mọi IP
  • Rule 200: Deny tất cả → Lưu lượng HTTP được phép, còn lại bị chặn.

3. Quy tắc Inbound và Outbound

Mỗi Network ACL có hai danh sách quy tắc:

  • Inbound Rules – kiểm soát lưu lượng đi vào subnet.
  • Outbound Rules – kiểm soát lưu lượng đi ra khỏi subnet.

4. Mặc định

  • Mặc định, một VPC sẽ có default Network ACL cho phép tất cả lưu lượng vào và ra.
  • Các ACL tùy chỉnh mặc định sẽ từ chối tất cả lưu lượng, trừ khi bạn thêm rule cho phép.

🧩 Ví dụ cấu hình Network ACL

Giả sử bạn muốn:

  • Cho phép HTTP (port 80) và HTTPS (port 443) từ Internet.
  • Cho phép SSH (port 22) chỉ từ IP công ty.
  • Chặn toàn bộ lưu lượng khác.

Inbound Rules:

Rule # Type Protocol Port Range Source Allow/Deny
100 HTTP TCP 80 0.0.0.0/0 ALLOW
110 HTTPS TCP 443 0.0.0.0/0 ALLOW
120 SSH TCP 22 203.0.113.0/24 ALLOW
200 ALL ALL ALL 0.0.0.0/0 DENY

Outbound Rules:

Rule # Type Protocol Port Range Destination Allow/Deny
100 ALL ALL ALL 0.0.0.0/0 ALLOW

🔒 So sánh: Network ACL vs Security Group

Đặc điểm Network ACL Security Group
Cấp áp dụng Subnet Instance
Kiểu quy tắc Cho phép và từ chối Chỉ cho phép
Hướng xử lý Có inbound và outbound riêng Stateful (tự động cho phép phản hồi)
Thứ tự xử lý Theo rule number Không theo thứ tự
Trường hợp sử dụng Kiểm soát lưu lượng subnet Bảo vệ EC2 instance

🟢 Network ACL phù hợp cho:

  • Kiểm soát lưu lượng ở phạm vi rộng (nhiều instance cùng subnet).
  • Chặn truy cập IP hoặc dải mạng cụ thể.

🟢 Security Group phù hợp cho:

  • Bảo mật chi tiết ở cấp instance.
  • Cho phép kết nối linh hoạt hơn.

💡 Best Practices khi sử dụng Network ACL

  1. Luôn có rule “deny all” cuối cùng để chặn mọi lưu lượng không được phép.
  2. Giữ rule number cách nhau (ví dụ 100, 110, 120...) để dễ chèn thêm rule sau này.
  3. Kết hợp với Security Group để tăng cường bảo mật.
  4. Không quên outbound rules, đặc biệt khi triển khai các ứng dụng cần trả lời kết nối.
  5. Theo dõi log qua VPC Flow Logs để xác định nguyên nhân bị từ chối lưu lượng.

🚀 Kết luận

AWS Network ACL là một phần không thể thiếu trong chiến lược bảo mật mạng trên AWS. Khi được cấu hình hợp lý, nó giúp bạn bảo vệ tầng mạng (Network Layer), giảm thiểu rủi ro từ lưu lượng trái phép và tăng khả năng kiểm soát toàn diện trong VPC.

Để có mức bảo mật tối ưu, hãy kết hợp Network ACL + Security Group, đảm bảo mỗi lớp mạng đều được bảo vệ kỹ càng.