Blog

Phân biệt Security Group và Network ACL trong AWS: Khác nhau thế nào và nên dùng ra sao?

Last updated on January 21st, 2026 at 11:02 am

Trong kiến trúc AWS, bảo mật mạng luôn là lớp nền tảng nhưng cũng là phần dễ gây nhầm lẫn nhất, đặc biệt với những người mới tiếp cận cloud. Hai khái niệm thường xuyên bị hiểu sai hoặc dùng lẫn lộn là Security Group và Network ACL (NACL). Cả hai đều đóng vai trò như firewall, nhưng cách hoạt động, phạm vi áp dụng và mục đích sử dụng lại rất khác nhau.

Bài viết này sẽ giúp bạn hiểu đúng bản chất của từng cơ chế, so sánh rõ ràng Security Group và Network ACL, đồng thời cung cấp góc nhìn thực tế về cách chúng được sử dụng trong các hệ thống AWS hiện đại.

security groups và network acl

Security Group trong AWS là gì?

Security Group là một virtual firewall ở cấp tài nguyên, được dùng để kiểm soát lưu lượng mạng vào và ra các dịch vụ như EC2, RDS, Load Balancer hoặc Elastic Network Interface (ENI). Mỗi Security Group gắn trực tiếp với một hoặc nhiều tài nguyên, và mọi traffic đi qua tài nguyên đó đều phải tuân theo các rule được định nghĩa trong Security Group.

Điểm cốt lõi của Security Group nằm ở việc nó hoạt động theo cơ chế stateful. Điều này có nghĩa là khi một kết nối inbound được cho phép, thì traffic phản hồi outbound tương ứng sẽ tự động được cho phép, ngay cả khi không có rule outbound rõ ràng. Nhờ đó, việc cấu hình trở nên đơn giản và ít lỗi hơn trong thực tế.

Một đặc điểm quan trọng khác là Security Group chỉ hỗ trợ rule “Allow”. Mọi traffic không được khai báo rõ ràng sẽ bị từ chối theo mặc định. Ngoài ra, Security Group cho phép tham chiếu trực tiếp đến Security Group khác, thay vì phải chỉ định IP cụ thể, giúp hệ thống linh hoạt hơn trong môi trường auto scaling và dynamic infrastructure.

Trong thực tế, Security Group chính là lớp bảo mật được sử dụng thường xuyên nhất trong AWS, đặc biệt trong các hệ thống microservices, nơi các workload liên tục thay đổi IP nhưng vẫn cần kiểm soát truy cập chặt chẽ theo vai trò.

Network ACL (NACL) trong AWS là gì?

Network ACL là một firewall ở cấp subnet, áp dụng cho toàn bộ tài nguyên nằm trong subnet đó. Không giống Security Group, NACL không gắn với từng instance hay service cụ thể, mà đóng vai trò như một lớp kiểm soát traffic tổng quát trước khi lưu lượng đi sâu vào hệ thống.

Khác biệt lớn nhất của Network ACL nằm ở việc nó hoạt động theo cơ chế stateless. Điều này có nghĩa là inbound và outbound traffic được đánh giá hoàn toàn độc lập. Nếu bạn cho phép inbound traffic từ một nguồn, bạn vẫn phải cấu hình rule outbound tương ứng để cho phép traffic phản hồi đi ra ngoài.

Ngoài ra, Network ACL hỗ trợ cả Allow và Deny, và các rule được xử lý theo thứ tự ưu tiên dựa trên số thứ tự (rule number). Rule có số nhỏ hơn sẽ được đánh giá trước, và rule đầu tiên match sẽ quyết định kết quả. Nếu không có rule nào match, traffic sẽ bị từ chối theo mặc định.

Trong thực tế, Network ACL phù hợp hơn cho các use case kiểm soát ở mức “thô”, chẳng hạn như block một dải IP cụ thể, giới hạn traffic theo subnet, hoặc tạo các vùng mạng cách ly trong VPC.

So sánh Security Group và Network ACL

Dù cùng là công cụ kiểm soát truy cập mạng, Security Group và Network ACL phục vụ những mục đích khác nhau.

Security Group hoạt động ở cấp tài nguyên, mang tính linh hoạt cao, dễ quản lý và phù hợp với các hệ thống động. Ngược lại, Network ACL hoạt động ở cấp subnet, ít linh hoạt hơn nhưng cho phép kiểm soát traffic ở mức tổng thể, bao gồm cả khả năng deny rõ ràng.

Security Group là stateful, trong khi Network ACL là stateless. Security Group chỉ cho phép allow, còn Network ACL cho phép cả allow và deny. Chính những khác biệt này khiến hai cơ chế không thay thế nhau, mà thường được dùng bổ trợ cho nhau trong một kiến trúc AWS hoàn chỉnh.

Khi nào nên dùng Security Group?

Trong hầu hết các hệ thống AWS hiện nay, Security Group là lựa chọn mặc định để kiểm soát truy cập mạng. Bạn nên sử dụng Security Group khi cần quản lý quyền truy cập cho từng workload cụ thể như web server, application server hoặc database.

Security Group đặc biệt phù hợp với các môi trường auto scaling, nơi IP của instance có thể thay đổi liên tục. Việc cho phép traffic dựa trên Security Group thay vì IP giúp hệ thống ổn định hơn và giảm đáng kể công sức vận hành. Ngoài ra, Security Group cũng dễ tích hợp với Infrastructure as Code, giúp quản lý rule một cách có kiểm soát và nhất quán.

Khi nào nên dùng Network ACL?

Network ACL không được sử dụng thường xuyên như Security Group, nhưng vẫn có vai trò nhất định trong một số kịch bản cụ thể. Chẳng hạn, khi bạn cần chặn hoàn toàn một dải IP ở mức subnet, hoặc áp đặt chính sách bảo mật chung cho toàn bộ subnet, Network ACL là công cụ phù hợp.

Ngoài ra, Network ACL thường được dùng như một lớp bảo vệ “vòng ngoài”, giúp lọc bớt traffic không mong muốn trước khi nó tiếp cận các tài nguyên bên trong. Tuy nhiên, do đặc tính stateless và cách quản lý rule phức tạp hơn, Network ACL cần được sử dụng cẩn trọng để tránh gây khó khăn trong quá trình debug và vận hành.

Kết hợp Security Group và Network ACL trong thực tế

Trong các hệ thống AWS production, cách tiếp cận phổ biến là áp dụng nguyên tắc defense in depth. Network ACL được dùng để kiểm soát traffic ở mức subnet, trong khi Security Group đảm nhiệm việc kiểm soát chi tiết ở cấp tài nguyên.

Tuy nhiên, xu hướng hiện nay là ưu tiên Security Group làm lớp bảo mật chính, còn Network ACL chỉ được sử dụng khi có yêu cầu rõ ràng. Việc lạm dụng Network ACL có thể khiến hệ thống trở nên khó quản lý, đặc biệt khi số lượng subnet và rule tăng lên.

Xu hướng sử dụng Security Group và Network ACL trong AWS hiện nay

Trong các hệ thống AWS hiện đại, Security Group ngày càng trở thành trung tâm của chiến lược bảo mật mạng. Nhờ tính linh hoạt, khả năng mở rộng và dễ automation, Security Group phù hợp hơn với các kiến trúc cloud-native và DevOps.

Network ACL không biến mất, nhưng vai trò của nó trở nên chọn lọc hơn. Thay vì cấu hình phức tạp, nhiều tổ chức chỉ dùng Network ACL cho các chính sách mang tính toàn cục như chặn IP hoặc phân vùng mạng.

Một xu hướng rõ rệt khác là việc quản lý Security Group và Network ACL bằng Infrastructure as Code. Các rule không còn được cấu hình thủ công trên console, mà được version control, review và triển khai như code. Điều này giúp giảm lỗi cấu hình, tăng tính minh bạch và cải thiện khả năng audit bảo mật.

Bên cạnh đó, tư duy least privilege ngày càng được áp dụng chặt chẽ hơn. Các rule mở toàn bộ traffic như 0.0.0.0/0 được hạn chế tối đa, outbound traffic cũng được kiểm soát kỹ hơn, và Security Group thường được tách theo vai trò thay vì dùng chung cho nhiều dịch vụ.

Những sai lầm thường gặp khi sử dụng Security Group và Network ACL

Một trong những lỗi phổ biến nhất là nhầm lẫn giữa stateful và stateless, dẫn đến việc cấu hình Network ACL không cho phép traffic phản hồi. Ngoài ra, nhiều người cố gắng dùng Network ACL thay cho Security Group, khiến hệ thống trở nên phức tạp và khó bảo trì.

Việc không tính đến ephemeral ports khi cấu hình Network ACL cũng là một lỗi thường gặp, đặc biệt với những hệ thống có traffic outbound lớn. Những sai lầm này không chỉ gây gián đoạn dịch vụ mà còn khiến việc troubleshooting trở nên khó khăn hơn nhiều.

Kết luận

Security Group và Network ACL là hai thành phần nền tảng trong bảo mật mạng AWS, nhưng mỗi loại phục vụ một mục đích khác nhau. Security Group mang lại sự linh hoạt và phù hợp với hầu hết các workload hiện đại, trong khi Network ACL đóng vai trò bổ trợ ở mức subnet khi cần kiểm soát traffic tổng thể.

Hiểu đúng và sử dụng đúng hai cơ chế này không chỉ giúp hệ thống an toàn hơn, mà còn dễ mở rộng, dễ vận hành và phù hợp với tư duy cloud-native trong dài hạn.

INDA Academy tự hào là đơn vị tiên phong trong việc đào tạo phân tích dữ liệu và AI chuyên sâu, đặc biệt cho khối ngành Ngân hàng – Tài chính – Bảo hiểm tại Việt Nam. Sau hơn 12 năm “thực chiến” cùng những dòng chảy dữ liệu khổng lồ, chúng tôi đã xây dựng nên một hệ sinh thái đào tạo toàn diện, giúp hàng nghìn học viên chuyển mình từ người mới bắt đầu trở thành những chuyên gia lành nghề, sẵn sàng đáp ứng tiêu chuẩn khắt khe của các doanh nghiệp lớn.

Điểm khác biệt lớn nhất tại INDA chính là triết lý đào tạo dựa trên các dự án thực tế (Project-based) và lộ trình cá nhân hóa nhờ ứng dụng AI. Chúng tôi không chỉ dạy bạn cách sử dụng công cụ, mà còn truyền tải tư duy khai phá giá trị từ dữ liệu để đưa ra quyết định kinh doanh chính xác.

Tìm hiểu thêm về các khóa học TẠI ĐÂY:
Môn học AWS
Lộ trình đào tạo Data Engineer
Lộ trình đào tạo Data Analyst
Lộ trình đào tạo Tester
Khóa học Data Engineer nâng cao – Thực chiến 5 dự án doanh nghiệp
Khóa học Data Analyst nâng cao – Thực chiến 5 dự án doanh nghiệp

Link tham khảo:

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html

https://medium.com/awesome-cloud/aws-difference-between-security-groups-and-network-acls-adc632ea29ae

Nguồn: Internet

Leave a Reply

Your email address will not be published. Required fields are marked *