Mục lục
Access List – ACL là gì
ACL là một loạt các lệnh điều kiện được sử dụng để lọc gói tin, dựa trên thông tin trong header của gói tin. Theo mặc định, Router không có bất kỳ ACL nào được cấu hình sẵn. Khi ACL được áp dụng vào một router interface, Router sẽ thực hiện thêm nhiệm vụ là đánh giá tất cả các gói tin khi chúng đi qua interface để xác định xem gói có thể được chuyển tiếp hay không.
- Một ACL sử dụng một danh sách tuần tự các câu lệnh để Permit (cho phép) hoặc Deny (chặn), được gọi access control entries (ACE). ACE cũng thường được gọi là ACL statements.
- Khi traffic đi qua một interface được định cấu hình ACL, Router sẽ so sánh thông tin trong gói với từng ACL statements, theo thứ tự tuần tự, để xác định xem gói có khớp với một trong các ACL statements. Quá trình này được gọi là lọc gói tin, quá trình này xảy ra ở Layer 3 và Layer 4
Một số tác vụ trên Router sử dụng ACL để xác định lưu lượng:
- Hạn chế lưu lượng mạng để tăng hiệu suất mạng
- Điều khiển, kiểm soát lưu lượng
- Cung cấp mức bảo mật cơ bản
- Lọc dựa trên loại lưu lượng
- Lọc host để cho phép hoặc từ chối truy cập vào các dịch vụ mạng
- Cung cấp mức độ ưu tiên cho các loại lưu lượng mạng nhất định
Cách hoạt động của ACL
- ACL viết ra một danh sách rules (điều kiện) để giúp kiểm soát các gói tin đi vào interface, gói tin chuyển tiếp qua router hoặc gói tin đi ra khỏi interface của router.
- ACL có thể được cấu hình để áp dụng cho lưu lượng truy cập vào (inbound traffic) và ra (outbound traffic)
- Lưu ý: ACL không hoạt động trên các gói bắt nguồn từ Router của nó.
- Inbound ACL lọc các gói tin trước khi chúng được định tuyến đến outbound interface. Inbound ACL hiệu quả vì nó tiết kiệm thời gian và tài nguyên để tra cứu bảng định tuyến nếu gói bị loại bỏ.
- Outbound ACL lọc các gói sau khi được định tuyến, bất kể gửi đến interface nào.
Khi một ACL được áp dụng cho một interface, nó sẽ hoạt động tuân theo một quy trình cụ thể. Dưới đây là cách ACL xử lý khi khi lưu lượng vào một interface trên router nơi IPv4 ACL Standard được cấu hình:
- Router trích xuất địa chỉ IPv4 nguồn từ Header của gói tin.
- Router bắt đầu kiểm tra từ đầu ACL để so sánh địa chỉ IPv4 nguồn với từng ACL statements theo thứ tự tuần tự.
- Khi khớp với ACL statement, Router thực hiện lệnh: Permit (cho phép) hoặc Deny (chặn) gói tin; Các statement còn lại trong ACL, nếu có, sẽ không được thực hiện tiếp.
- Nếu địa chỉ IPv4 nguồn không khớp với bất kỳ statement nào trong ACL, gói sẽ bị drop (loại bỏ) vì có một statement Deny ngầm, được tự động áp dụng cho tất cả các ACL.
Note:
- Statement ngầm cuối cùng của một ACL luôn là Deny – chặn tất cả lưu lượng. Nó bị ẩn và không hiển thị trong cấu hình.
- Một ACL phải có ít nhất một câu lệnh Permit nếu không tất cả lưu lượng sẽ bị chặn statement Deny ngầm.
Các loại ACLs
Có hai loại IPv4 ACL:
Standard ACLs (ACL tiêu chuẩn) – Cho phép hoặc chặn các gói tin chỉ dựa trên địa chỉ IPv4 nguồn.
Extended ACLs (ACL mở rộng) – Cho phép hoặc chặn các gói tin dựa trên địa chỉ IPv4 nguồn/đích, loại giao thức, TCP/UDP, port nguồn/đích, v.v.
Có hai hình thức cấu hình ACL
Numbered ACLs (ACL được đánh số)
ACL được đánh số 1-99 hoặc 1300-1999 là ACL tiêu chuẩn, trong khi ACL được đánh số 100-199 hoặc 2000-2699 là ACL mở rộng.
Named ACLs (ACL được đặt tên)
ACL được đặt tên là phương pháp nên ưu tiên sử dụng khi định cấu hình ACL. Cụ thể, ACL tiêu chuẩn và mở rộng có thể được đặt tên để cung cấp thông tin về mục đích của ACL. Ví dụ: đặt tên cho ACL mở rộng FTP-FILTER tốt hơn nhiều so với việc đặt tên cho ACL 100.
Lệnh ip access-list được sử dụng để tạo ACL có tên, như minh họa trong ví dụ sau.
Nơi đặt ACL
Mỗi ACL nên được đặt ở nơi mà nó có thể hoạt động hiệu quả nhất
- ACL mở rộng phải được đặt càng gần nguồn lưu lượng cần lọc càng tốt.
- ACL tiêu chuẩn nên được đặt càng gần đích càng tốt.
Ví dụ vị trí đặt của Standard ACL
Trong hình, quản trị viên muốn chặn lưu lượng bắt nguồn từ mạng 192.168.10.0/24 đến mạng 192.168.30.0/24.
Có hai interface trên R3 có thể đặt ACL tiêu chuẩn:
- Interface R3 S0/1/1 (inbound) – ACL tiêu chuẩn có thể được áp dụng trên hướng vào interface R3 S0/1/1 để chặn lưu lượng truy cập từ mạng .10. Tuy nhiên, nó cũng sẽ lọc lưu lượng truy cập .10 vào mạng 192.168.31.0/24 (.31 trong ví dụ này). Do đó, ACL tiêu chuẩn không nên đặt cho interface này.
- Interface R3 G0/0 (outbound) – ACL tiêu chuẩn có thể được áp dụng hướng đi ra interface R3 G0/0/0. Điều này sẽ không ảnh hưởng đến các mạng khác mà R3 có thể truy cập được. Các gói từ mạng .10 vẫn có thể truy cập mạng .31. Đây là interface tốt nhất để đặt ACL tiêu chuẩn đáp ứng yêu cầu.
Ví dụ vị trí đặt của Extended ACL
Trong hình, Công ty A muốn chặn lưu lượng Telnet và FTP đến mạng 192.168.30.0/24 của Công ty B từ mạng 192.168.11.0/24 của họ, trong khi vẫn cho phép tất cả các lưu lượng khác.
ACL mở rộng trên R3 sẽ làm được việc chặn theo yêu cầu, nhưng Admin không kiểm soát R3. Giải pháp sẽ là đặt một ACL mở rộng trên R1 chỉ định cả địa chỉ nguồn và đích.
Có hai interface khả thi trên R1 để đặt ACL mở rộng:
- Interface R1 S0/1/0 (ra) – ACL mở rộng có thể được áp dụng ra trên interface S0/1/0. Giải pháp này sẽ xử lý tất cả các gói rời khỏi R1 bao gồm các gói từ 192.168.10.0/24.
- Interface R1 G0/0/1 (vào) – ACL mở rộng có thể được đặt trên G0/0/1 và chỉ các gói từ mạng 192.168.11.0/24 mới được xử lý ACL trên R1. Vì filter chỉ giới hạn ở những gói rời khỏi mạng 192.168.11.0/24 nên việc áp dụng ACL mở rộng cho G0/1 là giải pháp tốt nhất.
Lưu ý khi cấu hình ACL
Giới hạn số lượng ACL trên một Interface
Có giới hạn về số lượng ACL có thể được áp dụng trên một interface của router. Ví dụ: một dual-stack interface (IPv4 và IPv6) có thể áp dụng tối đa 4 ACL, như thể hiện trong hình.
Cụ thể, một router interface có thể có:
- Một outbound IPv4 ACL.
- Một inbound IPv4 ACL.
- Một inbound IPv6 ACL.
- Một outbound IPv6 ACL.
Lưu ý: ACL không nhất thiết phải được cấu hình theo cả hai hướng. Số lượng ACL và hướng của chúng được áp dụng cho interface sẽ phụ thuộc vào chính sách bảo mật của tổ chức.
ACL Best Practices
Sử dụng ACL đòi hỏi phải chú ý đến từng chi tiết và cẩn thận. Sai lầm có thể gây downtime hệ thống cũng như công sức để khắc phục sự cố và ảnh hưởng đến chất lượng dịch vụ. Cần lập kế hoạch trước khi cấu hình ACL.
Hướng dẫn | Lợi ích |
---|---|
Dựa trên các chính sách bảo mật của tổ chức để xây dựng ACLs | Đảm bảo việc triển khai ACLs phù hợp với các quy định bảo mật của tổ chức. |
Ghi rõ mục đích của ACLs | Giúp tránh tình trạng tạo ra các vấn đề tiềm ẩn. |
Sử dụng trình soạn thảo văn bản để tạo, chỉnh sửa và lưu trữ tất cả các ACLs | Giúp bạn tạo ra một thư viện ACLs có thể tái sử dụng, dễ dàng chỉnh sửa, đánh giá lại và quản lý hiệu quả. |
Tài liệu hóa các ACLs bằng lệnh “remark” | Thêm chú thích vào các quy tắc ACLs bằng lệnh “remark” giúp cung cấp tài liệu rõ ràng về mục đích và ý định của mỗi ACL statement, giúp dễ dàng hiểu được cách thức triển khai các rules đã đề ra. |
Kiểm tra các ACLs hệ thống test trước khi triển khai trên production | Kiểm tra ACLs trong một môi trường mạng test trước khi áp dụng chúng vào mạng production giúp xác định và giải quyết các vấn đề hoặc xung đột trước khi gây ra những lỗi nghiêm trọng hoặc gây gián đoạn |