Trong các cách để tăng khả năng bảo mật của mạng, giao thức Access Control List (viết tắt là ACL) là một trong những cách để kiểm soát sự truy cập của người dùng. Trong bài viết này, chúng ta sẽ đi tìm hiểu chi tiết xem giao thức ACL là gì? Cách thức nó hoạt động ra sao? Lợi ích của nó mang lại là gì?
Access Control Lists là gì?
Giao thức ACL là một cơ chế quản lý quyền truy cập trong môi trường mạng. Nó được sử dụng để kiểm soát và giám sát quyền truy cập vào các tài nguyên mạng như máy chủ, router, hay các thiết bị mạng khác. Nó hoạt động bằng cách định rõ các quy tắc quyền truy cập dựa trên địa chỉ IP, cổng giao tiếp, hoặc các thông tin nhận dạng khác.
ACL có thể được triển khai ở nhiều điểm khác nhau trong mạng, bao gồm cả trên router, switch, firewall, hay các thiết bị mạng khác. Các quy tắc trong ACL có thể xác định người dùng, máy tính, hoặc dịch vụ nào có quyền truy cập hoặc bị từ chối truy cập vào các tài nguyên cụ thể.
Có hai loại ACL gồm:
- Filesystem ACL (hệ thống tệp) dùng để lọc quyền truy cập vào tệp hoặc thu mục của người dùng.
- Networking ACL (kết nối mạng) dùng để lọc quyền truy cập vào mạng.
Trước đây, ACL được coi là biện pháp duy nhất để thực hiện bảo mật cho mạng như tường lửa. Ngày nay, có nhiều loại tường lửa và cách để thay thế cho ACL. Tuy nhiên, các tổ chức mạng vẫn quyết định sử dụng ACL với VPN để tăng bảo mật cho mạng.
ACL được sử dụng để làm gì?
Hiểu đơn giản thì ACL giúp tạo ra quy tắc để kiểm soát quyền truy cập tới tài nguyên của mạng hoặc quyền được truy cập vào mạng.
- Kiểm soát quyền truy cập vào mạng: ACL được sử dụng để tạo ra quy tắc nhằm lọc lưu lượng truy cập vào và ra khỏi một thiết bị cụ thể. Nó có thể là Router, hoặc Switch hay các thiết bị cuối của người dùng.
- Kiểm soát quyền truy cập tài nguyên mạng: Trong một mạng máy tính, các người dùng có thể có đặc quyền khác nhau. Ví dụ, cùng một tệp tin có người sẽ chỉ có quyền đọc, viết hoặc chỉnh sửa. Trong khi quản trị viên có tất cả các đặc quyền đó.
Bằng việc tạo ra các quy tắc cụ thể, ACL giúp quản trị viên dễ dàng cài đặt quyền cho người dùng và ngăn chặn các lưu lượng truy cập gây hại.
Lợi ích khi sử dụng ACL
- Cho phép quản trị viên quy định ai có quyền truy cập vào từng tài nguyên cụ thể trong mạng giúp đảm bảo an toàn dữ liệu.
- Cho phép chặn hoặc cho phép lưu lượng truy cập dựa trên các tiêu chí địa chỉ IP, cổng, giao thức.
- Ngặn chặn các loại tấn công như DDoS.
Cách ACL hoạt động
Để kiểm soát quyền truy cập vào tệp, ACL sẽ có một bảng quy định đặc quyền của người dùng với các tài nguyên trong mạng cụ thể. Bảng này được sử dụng để thông báo cho hệ điều hành. Khi người dùng gửi yêu cầu với tệp, hệ điều hành sẽ đối chiếu trên bảng để xem xét yêu cầu có được phép hay không?
Khi muốn kiểm soát lưu lượng truy cập mạng, ACL sẽ được thực hiện trên Router hoặc Switch. ACLs kiểm soát lưu lượng dựa trên các điều kiện nhất định như địa chỉ IP nguồn và đích, cổng giao tiếp, giao thức, và các thông tin khác. Mỗi quy tắc được thiết lập để cho phép hoặc từ chối lưu lượng mạng dựa trên các tiêu chí này.
ACLs thường có thứ tự ưu tiên, nghĩa là quy tắc được áp dụng theo thứ tự từ trên xuống dưới. Khi một gói tin đi qua ACL, hệ thống kiểm tra từng quy tắc một cách tuần tự và áp dụng quy tắc đầu tiên mà gói tin phù hợp. Sau khi một quy tắc được kích hoạt, các quy tắc dưới đó có thể không được kiểm tra nếu gói tin đã được xác định phù hợp với một quy tắc trước đó.
Cách triển khai ACL
Để triển khai ACL ta sẽ có 2 cách tiếp cận chính:
- Standard ACL: Xác định quyền truy cập dựa trên địa chỉ IP nguồn của gói tin. Tuy nhiên, nó không phân biệt lưu lượng IP như các giao thức UDP, TCP hay HTTPS. Nó sẽ dụng các số chẳng hạn như 1-99 hay 1300-1999 để Router có thể nhận biết địa chỉ đó là địa chỉ IP nguồn.
- Extended ACL: Cho phép xác định quyền truy cập dựa trên nhiều yếu tố như địa chỉ IP nguồn và đích, số cổng, giao thức, và nhiều thông tin khác.
Các quy tắc tốt nhất để triển khai ACL
Khi thực hiện cấu hình ACL, ta có thể tham khảo các biện pháp sau để đạt hiệu quả kiếm soát tốt nhất:
1. Triển khai ACL trên mọi giao diện
Áp dụng ACL trên mọi giao diện của thiết bị mạng, bao gồm cả các cổng vào và ra. Điều này đảm bảo rằng kiểm soát quyền truy cập được thực hiện toàn diện, không chỉ ở một số giao diện cụ thể.
2. Triển khai ACL theo thứ tự
Sắp xếp các quy tắc trong ACL theo thứ tự ưu tiên. Các quy tắc được áp dụng từ trên xuống dưới, và khi một quy tắc được kích hoạt, các quy tắc dưới đó có thể không được kiểm tra. Sắp xếp đúng thứ tự giúp đảm bảo áp dụng chính xác của các quy tắc.
3. Nguyên tắc nguyên ngóm
Hạn chế quyền truy cập của người dùng, máy chủ, hoặc dịch vụ vào mức tối thiểu cần thiết để thực hiện công việc của họ. Điều này giúp giảm thiểu rủi ro từ các nguồn nguy cơ.
4. Phận loại theo vùng
Phân chia mạng thành các vùng và áp dụng ACLs dựa trên vùng này. Điều này giúp kiểm soát quyền truy cập giữa các vùng khác nhau và giảm khả năng lan truyền của mối đe dọa trong mạng.
5. Sử dụng quy tắc mặc định
Sử dụng quy tắc từ chối mặc định ở cuối ACL để đảm bảo rằng mọi lưu lượng không khớp với các quy tắc đã được liệt kê sẽ bị từ chối. Điều này là quan trọng để đảm bảo an toàn và tuân thủ chính sách mạng.
Hãy lưu ý rằng, khi thêm quy tắc ACL hãy ghi lại lý do mà bạn thêm quy tắc bao gồm: nội dung, lý do, mục đích và thời gian.
Khi nhập ACL cần các thông tin nào?
- Sequence Number (Số Thứ Tự): Số thứ tự là một số duy nhất được gán cho mỗi dòng trong ACL để xác định vị trí của nó trong danh sách. Thứ tự này quan trọng vì ACL áp dụng các quy tắc theo thứ tự từ trên xuống dưới, và chỉ áp dụng quy tắc đầu tiên mà lưu lượng phù hợp.
- ACL Name (Tên ACL): Tên ACL xác định danh sách kiểm soát quyền truy cập và phải được xác định mỗi khi bạn tạo một ACL. Tên này giúp định danh cho ACL và được sử dụng để áp dụng ACL cho giao diện hoặc chiều đi hoặc đến.
- Remark (Ghi Chú): Ghi chú là một phần tự do giúp mô tả ý nghĩa của một dòng trong ACL. Nó không ảnh hưởng đến quy tắc kiểm soát mạng, nhưng giúp người quản trị hiểu rõ hơn về mục đích của mỗi quy tắc.
- Network Protocol (Giao Thức Mạng): Giao thức mạng đặc định loại lưu lượng mà ACL sẽ kiểm soát. Điều này có thể bao gồm IPv4, IPv6, TCP, UDP, ICMP, và nhiều giao thức khác.
- Log (Ghi Nhật Ký): Tùy chọn log cho phép ghi lại thông tin về lưu lượng mạng được áp dụng bởi quy tắc. Log giúp theo dõi và phân tích lưu lượng mạng, nhưng cần được sử dụng cẩn thận để tránh ghi lại quá nhiều thông tin.
- Statement (Tuyên Bố): Mỗi quy tắc trong ACL được gọi là một tuyên bố hoặc một dòng. Một tuyên bố bao gồm điều kiện và hành động được áp dụng khi điều kiện đó được đáp ứng.
- Source or Destination (Nguồn hoặc Đích): Điều kiện xác định nguồn hoặc đích của lưu lượng mạng mà ACL sẽ kiểm soát. Nó có thể bao gồm địa chỉ IP, dải địa chỉ, hoặc các yếu tố nhận dạng khác tùy thuộc vào loại ACL và mục đích cụ thể của quy tắc.
Trên đây là những thông tin mà mình muốn chia sẻ với bạn về giao thức ACLs, mong rằng qua bài viết này bạn đã hiểu rõ tác dụng và cách thức hoạt động của Access Control Lists!
Thông Tin Về Tác Giả
Nguyễn Thành Hợp là một chuyên gia về lĩnh vực thiết bị mạng, viễn thông gần 10 năm kinh nghiệm với nhiều chứng chỉ chất lượng như CCNA 200-301, CCNP, CCDA, CCDP,... do Cisco cung cấp. Sở thích cá nhân là khám phá những kiến thức mới mẻ về công nghệ nói chung và đặc biệt là liên quan đến lĩnh vực mạng!