Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật?

2120
01-11-2021
Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật?

Trong thế giới mạng máy tính, Access Control List (ACL) là một trong những thành phần cơ bản nhất của bảo mật, nhưng không phải ai cũng biết Access Control List là gì. Dịch ra tiếng việt, ACL là Danh sách kiểm soát truy cập, là một chức năng theo dõi lưu lượng truy cập đến và đi và so sánh nó với một tập hợp các câu lệnh đã xác định. ACL chỉ định người dùng hoặc quy trình hệ thống nào được cấp quyền truy cập vào các đối tượng, cũng như những hoạt động nào được phép trên các đối tượng nhất định. Để hiểu rõ hơn Access Control List là gì và giải đáp những thắc mắc phổ biến về khái niệm này, hãy cùng đi sâu vào tìm hiểu các chức năng của nó trong bài viết dưới đây.

Access Control List là gì?

Access Control List (ACL) là danh sách tuần tự các câu lệnh dùng để quản lý lưu lượng truy cập đến hoặc đi, xác định cách chuyển tiếp hoặc ngăn chặn một gói tin (packet) trên một thiết bị, được áp dụng trên một Interface nào đó, và trên bộ đệm vào hoặc ra, điều khiển Router thực hiện các hành động tương ứng là cho phép (allow) hoặc từ chối (deny). 

ACL giống như loại Tường lửa Stateless, chỉ hạn chế, chặn hoặc cho phép các gói tin đang truyền từ nguồn đến đích.

Khi bạn xác định ACL trên thiết bị định tuyến cho một interface cụ thể, tất cả lưu lượng chạy qua sẽ được câu lệnh ACL xem xét và quyết định sẽ ngăn chặn hay cho phép nó đi qua. 

Tiêu chí để xác định các quy tắc xét duyệt của ACL có thể là địa chỉ nguồn, địa chỉ đích, một chỉ số port cụ thể hoặc nhiều thông tin hơn.

ACL phổ biến trong Routers hoặc tường lửa, nhưng chúng cũng có thể được cấu hình trong bất kỳ thiết bị nào chạy trong mạng, từ máy chủ, thiết bị mạng,...

Phân loại hệ thống ACL

Có hai loại hệ thống thực hiện ACL:

  • Hệ thống tập tin ACL ━ là một cấu trúc dữ liệu (thường là một bảng) chứa các mục kiểm soát truy cập (ACE), có tác dụng chỉ định quyền của một người dùng riêng lẻ hoặc một nhóm đối với các đối tượng hệ thống cụ thể như các ứng dụng, tiến trình, hoặc các tập tin. Nhìn chung, hệ thống tập tin ACL cho hệ điều hành biết người dùng nào có thể truy cập vào hệ thống và những đặc quyền nào mà người dùng được phép.
  • Networking ACL cho các thiết bị mạng ━ bộ lọc truy cập vào mạng. Các networking ACL nói cho các bộ định tuyến và thiết bị chuyển mạch (switch) biết loại lưu lượng nào có thể truy cập vào mạng và hoạt động nào được phép.

Ban đầu, ACL là cách duy nhất để đạt được sự bảo vệ của tường lửa. Tuy nhiên ngày nay đã có nhiều loại tường lửa và các lựa chọn thay thế cho ACL. Mặc dù vậy, các tổ chức vẫn tiếp tục sử dụng ACL kết hợp với các công nghệ như mạng riêng ảo (VPN) để chỉ định lưu lượng nào nên được mã hóa và chuyển qua đường VPN.

Lý do và mục đích sử dụng ACL?

Các doanh nghiệp và tổ chức tin dùng ACL vì ACL giúp:

  • Kiểm soát lưu lượng ra vào
  • Lưu lượng mạng bị hạn chế để đảm bảo hiệu suất mạng tốt hơn
  • Mức độ bảo mật cao trong việc truy cập mạng. Nó giúp chỉ định khu vực nào của máy chủ / mạng / dịch vụ mà người dùng có thể truy cập và khu vực nào không thể
  • Giám sát chi tiết lưu lượng ra và vào hệ thống

Mục đích chính của việc sử dụng ACL là cung cấp bảo mật cho mạng của bạn. Nếu không có nó, bất kỳ traffic nào cũng được phép đi ra đi vào, làm cho mạng lưới của tổ chức dễ bị tổn thương hơn trước bởi các traffic và truy cập không mong muốn, tiềm ẩn nhiều rủi ro.

Ví dụ: để cải thiện bảo mật với ACL, bạn có thể chặn các bản cập nhật định tuyến cụ thể hoặc cung cấp kiểm soát luồng lưu lượng.

Như hình minh họa bên dưới đây, ACL đã điều khiển các thiết bị định tuyến (router) từ chối truy cập đến từ máy chủ C để vào mạng tài chính, và cùng một lúc, nó cho phép truy cập đến từ máy chủ D.

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 1.

Với ACL, bạn có thể lọc các gói tin cho một hoặc một nhóm địa chỉ IP hoặc các giao thức khác, như TCP hoặc UDP, dựa trên thông tin trong IP header hoặc TCP/UDP header. 

Vì vậy, ví dụ: thay vì chỉ chặn một máy chủ trong nhóm kỹ thuật, bạn có thể từ chối quyền truy cập của nhiều máy chủ cùng lúc vào toàn bộ mạng và chỉ cho phép một máy chủ vào thôi chẳng hạn. Hoặc bạn cũng có thể hạn chế quyền quyền truy cập của máy chủ C và cho phép tất cả các máy chủ còn lại. 

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

Hệ thống tệp ACL là một bảng thông báo cho hệ điều hành máy tính, nó chứa các mục chỉ định quyền của một cá nhân hay một nhóm đối với các đối tượng hệ thống cụ thể, như các ứng dụng, các tệp đơn hoặc thư mục. Các mục này gọi là mục kiểm soát truy cập (ACE) trong hệ điều hành Microsoft Windows NT.  Mỗi đối tượng có một thuộc tính bảo mật kết nối nó với danh sách kiểm soát truy cập của nó, hay còn gọi là định danh ACL.

Thông qua ACL, các đặc quyền điển hình có thể được thực hiện bao gồm quyền đọc một tệp (hoặc tất cả các tệp) trong một thư mục, thực thi một đối tượng hoặc ghi vào tệp hoặc các tệp. Các hệ điều hành sử dụng ACL bao gồm, ví dụ, Microsoft Windows NT / 2000, Novell's Netware, Digital's OpenVMS và các hệ thống dựa trên UNIX.

Khi người dùng yêu cầu một hành động nào đó với một đối tượng trong mô hình bảo mật dựa trên ACL, hệ điều hành sẽ nghiên cứu ACL cho hành động đó và xem liệu hoạt động được yêu cầu có được phép hay không.

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 2.

Trong khi đó, Networking ACLs được cài đặt trong bộ định tuyến hoặc các thiết bị chuyển mạch, nơi chúng hoạt động như bộ lọc traffic. Mỗi networking ACLs chứa các quy tắc được xác định từ trước để kiểm soát sự ra vào của các gói tin (packet) hoặc bản cập nhật định tuyến khi chúng truy cập vào mạng.

ACLs sử dụng các bộ định tuyến và các thiết bị chuyển mạch như một bộ lọc để chuyển tiếp hoặc từ chối các gói tin dựa trên các tiêu chí lọc và thông tin trong IP header hoặc TCP/UDP header. Là một thiết bị Layer 3, bộ định tuyến dùng để lọc các gói tin có hẳn một bộ quy tắc để dựa vào khi xem xét từ chối hoặc chuyển tiếp lưu lượng truy cập. Quyết định này được thực hiện dựa trên thông tin trong địa chỉ IP nguồn và đích, cổng đích và cổng nguồn cũng như quy trình chính thức của gói tin.

Các thành phần của ACL?

Việc triển khai ACL khá giống nhau trong hầu hết các nền tảng định tuyến, tất cả đều có hướng dẫn chung để định cấu hình chúng.

Hãy nhớ rằng ACL là một tập hợp các quy tắc hoặc danh sách câu lệnh ACEs. Bạn có thể có một ACL với một hoặc nhiều ACEs, trong đó mỗi ACE phải làm một việc gì đó, nó có thể là cho phép mọi thứ hoặc không chặn gì cả.

Khi bạn xác định một câu lệnh ACL, bạn sẽ cần các thông tin cần thiết sau:

1. Số thứ tự:

Định danh số của 1 ACL, sử dụng số thập phân từ 1-99 và 1300-1999.

2. Tên ACL:

Xác định ACL bằng cách sử dụng tên. Thay vì sử dụng một dãy số, một số bộ định tuyến cho phép kết hợp cả chữ cái và số.

3. Remark:

Một số Bộ định tuyến cho phép bạn thêm phần mô tả chức năng cho ACL, điều này giúp bạn làm cho ACL đó trở nên dễ hiểu hơn. Mỗi remark giới hạn trong 100 ký tự.

4. Statement:

Từ chối hoặc cho phép một nguồn cụ thể dựa trên địa chỉ và mặt nạ ký tự đại diện. Một số thiết bị định tuyến, chẳng hạn như Cisco, định cấu hình một câu lệnh từ chối ngầm ở cuối mỗi ACL theo mặc định.

5. Giao thức mạng:

Chỉ định xem có từ chối / cho phép IP, IPX, ICMP, TCP, UDP, NetBIOS,... hay không.

6. Nguồn hoặc Đích:

Là mạng, máy chủ của nguồn/đích gói tin. Đó có thể là một Single IP, một Address Range (CIDR), hoặc tất cả các địa chỉ khác. 

7. Log:

Một số thiết bị có khả năng lưu lại thông điệp khi tìm thấy các kết quả phù hợp với ACL. Thông điệp này ghi lại thông tin về các gói tin thỏa mãn ACEs. Nó bao gồm thông tin về chỉ số ACL mà gói tin được phép thông qua hoặc từ chối, địa chỉ nguồn và số gói tin. 

8. Các tiêu chí khác:

ACL nâng cao cho phép bạn kiểm soát lưu lượng dựa trên mức độ ưu tiên Loại dịch vụ (ToS), IP và các dịch vụ khác nhau (DSCP).

Các loại ACL

Có bốn loại ACL mà bạn có thể sử dụng cho các mục đích khác nhau, đây là các ACL tiêu chuẩn, mở rộng, động, phản xạ và dựa trên thời gian.

1. ACL tiêu chuẩn (ACL Standard)

ACL tiêu chuẩn nhằm mục đích bảo vệ mạng chỉ sử dụng địa chỉ nguồn.

Đây là loại cơ bản nhất và có thể được sử dụng để triển khai đơn giản, nhưng thật không may, nó không cung cấp khả năng bảo mật mạnh mẽ. Cấu hình cho ACL tiêu chuẩn trên bộ định tuyến Cisco như sau:

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 3.

2. ACL mở rộng (ACL Extended)

Với ACL mở rộng, bạn cũng có thể chặn nguồn và đích cho các máy chủ đơn lẻ hoặc toàn bộ mạng.

Bạn cũng có thể sử dụng ACL mở rộng để lọc lưu lượng dựa trên thông tin giao thức (IP, ICMP, TCP, UDP).

Cấu hình của ACL mở rộng trong bộ định tuyến Cisco cho TCP như sau:

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 4.

3. ACL động (Dynamic ACL)

ACL động, dựa trên ACL mở rộng, Telnet và sự xác thực. Loại ACL này thường được gọi là “Lock and Key” và có thể được sử dụng cho các khung thời gian cụ thể.

Các danh sách này cho phép người dùng truy cập vào nguồn hoặc đích chỉ khi người dùng xác thực với thiết bị qua Telnet.

Sau đây là cấu hình của ACL động trong bộ định tuyến Cisco:

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 5.

4. ACL phản xạ (Reflexive ACL)

ACL phản xạ còn được gọi là ACL phiên IP. Các loại ACL này, lọc lưu lượng dựa trên thông tin lớp phiên trên.

Chúng phản ứng với các phiên bắt nguồn từ bên trong bộ định tuyến để cho phép hay hạn chế lưu lượng ra vào. Khi bộ định tuyến nhận ra một lưu lượng ACL đi nó sẽ tạo một ACL mới vào. Khi phiên kết thúc, ACE đó sẽ bị xóa.

Cấu hình của ACL phản xạ trong bộ định tuyến Cisco như sau:

Access Control List là gì? Tại sao ACL có vai trò quan trọng trong bảo mật? - Ảnh 6.

Kết

Như vậy, chúng ta đã cùng nhau đi tìm hiểu khái niệm Access Control List là gì và biết được rằng, đây là một giải pháp tối ưu cho ngành bảo mật hiện nay. Nhìn chung, ACL là những bộ lọc gói tin của một mạng, nó có thể hạn chế, cho phép hoặc từ chối traffic khi cần thiết để đảm bảo bảo mật. ACL cho phép bạn kiểm soát luồng gói tin cho một hoặc một nhóm địa chỉ IP hoặc các giao thức khác nhau, chẳng hạn như TCP, UDP, ICMP,... Việc đặt ACL trên Interface sai hoặc thay đổi nhầm nguồn / đích có thể tạo ra tác động tiêu cực đến mạng. Để tránh hiệu suất tiêu cực, điều quan trọng là phải hiểu các luồng lưu lượng truy cập vào và ra, cách hoạt động của ACL và vị trí đặt chúng. Hy vọng thông qua bài viết này, các bạn đã hiểu được Access Control List là gì và cách triển khai nó sao cho phù hợp.

Nguồn: https://www.ittsystems.com/access-control-list-acl/

SHARE