- Tác giả

- Name
- Nguyễn Đức Xinh
- 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) và 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
- Luôn có rule “deny all” cuối cùng để chặn mọi lưu lượng không được phép.
- Giữ rule number cách nhau (ví dụ 100, 110, 120...) để dễ chèn thêm rule sau này.
- Kết hợp với Security Group để tăng cường bảo mật.
- 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.
- 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.
