MỤC LỤC


ĐỊNH NGHĨA VỀ ACLs TRONG ROUTER VÀ FIREWALL CISCO

11-ĐỊNH NGHĨA VỀ ACLs TRONG ROUTER VÀ FIREWALL CISCO

(Access Control Lists (ACLs)

1. CÚ PHÁP TRUYỀN THỐNG

a. Trên thiết bị Cisco sử dụng phần mềm Cisco IOS (Firewall/Router/Switch)

Phần mềm Cisco IOS sử dụng cả hai cách: định danh bằng Số (Numbered) hoặc bằng Tên (Named).

Dùng số (Numbered)(<1-200>): IOS quy định sẵn các dải số. Ví dụ: 1-99 thì sẽ tương đương là Standard, 100-199 thì sẽ tương đương là Extended. Chúng ta không cần gõ từ khóa standard hay extended vì hệ thống tự nhìn số để biết loại ACL.

FdcFwcissco(config)# access-list <1-200> {permit | deny} 

FdcFwcissco(config)# access-list <100-199> {permit | deny} 

Dùng tên (Named) (<tên_ACL>): Bạn phải chỉ định rõ loại ACL bằng từ khóa {standard | extended}

FdcFwcissco(config)# access-list <tên_ACL> extended {permit | deny} 

FdcFwcissco(config)# access-list <tên_ACL> standard {permit | deny} 

VÍ DỤ:

FdcFwcisco(config)# access-list <tên_ACL> {standard | extended} ...

Loại cú pháp: Cú pháp truyền thống dạng Một dòng (Single-line) của Cisco ASA.

Cách viết: Bạn bắt buộc phải gõ lại toàn bộ cụm lệnh access-list <tên_ACL> ... cho mỗi một dòng luật (ACE - Access Control Entry) mà bạn muốn thêm vào.

Ví dụ thực tế:

FdcFwcisco(config)# access-list KET_NOI_WEB extended permit tcp any any eq 80

FdcFwcisco(config)# access-list KET_NOI_WEB extended permit tcp any any eq 443

b. Phân biệt Standard ACL và Extended ACL

Dù là trên ASA hay IOS, bản chất vận hành của hai loại ACL này như sau:

Tiêu chí

Standard ACL (Tiêu chuẩn) (Số 1-99):

Extended ACL (Mở rộng) (Số 100-199):

Kiểm tra điều kiện

Chỉ kiểm tra IP nguồn (Source IP).

Kiểm tra IP nguồn, IP đích, Protocol (TCP/UDP/ICMP)Port (Cổng).

Độ linh hoạt

Thấp. Nếu cấm là cấm sạch mọi dịch vụ từ IP đó.

Rất cao. Có thể cấm Web (Port 80/443) nhưng vẫn cho phép Ping (ICMP).

Vị trí áp dụng phù hợp

Nên đặt gần đích (Destination) nhất có thể.

Nên đặt gần nguồn (Source) nhất có thể để lọc bỏ traffic rác sớm.

Ứng dụng trên ASA

Rất ít dùng cho traffic đi qua firewall. Thường dùng để phân loại route (Route-map), VPN Split-Tunneling.

Là loại ACL chính dùng để kiểm soát traffic đi qua các interface của Firewall.

c. Cách thức vận hành của ACL trên Cisco ASA

Khi một gói tin (Packet) đi vào một Interface của ASA và chạm phải một ACL, ASA sẽ xử lý theo các nguyên tắc nghiêm ngặt sau:

Nguyên tắc 1: Kiểm tra từ trên xuống dưới (Top-Down)

ASA sẽ đọc các dòng lệnh trong ACL theo thứ tự từ dòng đầu tiên xuống dòng cuối cùng.

Nếu gói tin khớp (match) với điều kiện của một dòng nào đó nó sẽ thực hiện hành động (permit hoặc deny) ngay lập tức và dừng kiểm tra, bỏ qua các dòng phía dưới.

Nguyên tắc 2: Luật ngầm định cấm tất cả (Implicit Deny All)

Ở cuối mỗi ACL luôn luôn có một dòng lệnh ngầm định: Cấm tất cả mọi thứ còn lại (deny ip any any).

Nếu gói tin đi từ dòng đầu đến dòng cuối mà không khớp với bất kỳ dòng nào bạn cấu hình Nó sẽ bị Firewall Block (Drop) không thương tiếc.

Hệ quả: Một ACL nếu chỉ toàn dòng deny thì sẽ tương đương với việc cấm sạch 100% traffic. Bạn luôn cần ít nhất một dòng permit.

Nguyên tắc 3: Stateful Inspection (Kiểm tra trạng thái - Đặc sản của ASA)

Đây là điểm giúp ASA thông minh hơn Router thông thường:

Bạn chỉ cần tạo ACL cho chiều đi (chiều khởi tạo kết nối).

Khi gói tin được permit đi qua, ASA sẽ lưu thông tin kết nối đó vào một bảng quản lý trạng thái (Conn table). Khi gói tin phản hồi (Reply) quay trở về, ASA tự động nhận diện và cho qua mà không cần bạn phải viết thêm một ACL ngược lại ở chiều về.

2.CÚ PHÁP TƯỜNG MINH

a. Cú pháp

Loại cú pháp: Cú pháp dạng Chế độ cấu hình riêng (Configuration Mode).

Cách viết: Khi bạn gõ lệnh này, ASA sẽ đưa bạn vào một "phòng cấu hình" riêng của ACL đó (con trỏ chuột đổi thành ciscoasa(config-ext-nacl)#). Tại đây, bạn chỉ cần gõ các hành động permit hoặc deny mà không cần lặp lại tên ACL nữa.

FdcFwcisco(config)# ip access-list extended <tên_ACL>

FdcFwcisco(config)# ip access-list standard <tên_ACL>

Ví dụ thực tế:

FdcFwcisco(config)# ip access-list extended KET_NOI_WEB

FdcFwcisco(config-ext-nacl)# permit tcp any any eq 80

FdcFwcisco(config-ext-nacl)# permit tcp any any eq 443

b. Bảng so sánh tính năng và cách quản lý

Tiêu chí

Cú pháp access-list <tên> (Dòng đơn)

Cú pháp ip access-list <loại> <tên> (Chế độ riêng)

Sự tiện lợi khi gõ

Phải gõ lại tên ACL nhiều lần nếu có nhiều luật.

Gõ tên một lần, sau đó chỉ tập trung viết các luật.

Chèn/Xóa một dòng luật

Khó khăn hơn. Phải chỉ định rõ số thứ tự (Sequence number) ở cuối dòng lệnh dài.

Dễ dàng hơn nhờ tính năng tự động đánh số dòng ($10, 20, 30...$). Bạn có thể vào chế độ riêng để chèn dòng hoặc xóa dòng cụ thể (ví dụ: no 20).

Độ phổ biến

Là cách viết "kinh điển" xuất hiện trong mọi tài liệu lab và bài thi cũ của Cisco ASA.

Cách viết hiện đại, đồng bộ hóa trải nghiệm giống hệt như khi bạn cấu hình Router/Firewall/Core Switch Cisco.

c. Cách thức vận hành bên trong Firewall

Mặc dù cách bạn gõ lệnh (đầu vào) khác nhau, nhưng bản chất vận hành và xử lý gói tin của ASA đối với hai cấu lệnh này là HOÀN TOÀN NHƯ NHAU.

Khi bạn dùng lệnh số 2 để cấu hình, ASA thực chất chỉ gom các dòng đó lại và lưu vào bộ nhớ RAM dưới dạng cấu trúc của lệnh số 1. Bạn có thể kiểm tra điều này bằng lệnh show running-config access-list.

Cơ chế vận hành chung của cả hai lệnh bao gồm:

Top-Down Match: Gói tin đi vào interface sẽ được đối chiếu với danh sách luật từ trên xuống dưới.

First Match Wins: Gói tin khớp với dòng nào trước thì hành động (permit/deny) của dòng đó được thực thi ngay, các dòng dưới bị bỏ qua.

Implicit Deny: Nếu không khớp bất kỳ dòng nào do bạn tạo ra, gói tin tự động bị chặn lại ở dòng cuối cùng (dòng cấm ngầm định).

Lời khuyên: Nếu bạn đang cấu hình một ACL lớn với hàng chục dòng luật, hãy sử dụng cách số 2 (ip access-list...) để dễ quản lý, chỉnh sửa và giao diện nhìn sạch sẽ hơn!

SAU KHI CẤU HÌNH XONG ACLs THÌ PHẢI ÁP DỤNG CHÚNG VÀO INTERFAC:

Sau khi định nghĩa ACL bằng một trong hai câu lệnh trên, bạn cần áp dụng nó vào một interface bằng câu lệnh access-group để nó có hiệu lực.

FdcFwCisco(config)# access-group <tên_ACL> {in | out} interface <tên_interface>

Hoặc

FdcFwCisco(config)# access-group <tên_ACL> {in | out} global

DANH MỤC SẢN PHẨM

XEM TẤT CẢ >>

Zalo