Chặn Website trên Cisco Router bằng NBAR – Không cần biết IP vẫn có thể lọc được ứng dụng
Khi nhắc đến việc chặn truy cập website trên Router Cisco, đa số kỹ sư mạng thường nghĩ ngay đến ACL (Access Control List).
Ví dụ muốn chặn YouTube, cách làm truyền thống là:
Vậy có cách nào để Router nhận biết trực tiếp ứng dụng hoặc website mà người dùng đang truy cập thay vì chỉ nhìn vào địa chỉ IP?
Câu trả lời là NBAR (Network Based Application Recognition).
Đây là một trong những công nghệ rất thú vị của Cisco QoS, cho phép Router nhận diện lưu lượng ở tầng ứng dụng (Application Layer) và đưa ra chính sách xử lý phù hợp. NBAR là gì?
Thông thường ACL chỉ có thể kiểm tra các thông tin như:
NBAR bổ sung thêm khả năng nhận diện:
Application Layer
Điều này cho phép Router hiểu được:
Giả sử doanh nghiệp muốn hạn chế nhân viên truy cập:
youtube.com
Nếu sử dụng ACL thông thường, chúng ta phải thu thập rất nhiều địa chỉ IP của YouTube.
Trong khi đó với NBAR, Router có thể nhận diện trực tiếp hostname của website.
Ví dụ:
class-map match-any BLOCKED
match protocol http host "*youtube.com*" Phân tích cấu hình
Đầu tiên tạo Class-map:
R1(config)#class-map match-any BLOCKED
R1(config-cmap)#match protocol http host "*youtube.com*"
Trong đó:
*youtube.com*
có nghĩa là:
*
được sử dụng như ký tự đại diện (wildcard).
Điều này giúp chính sách linh hoạt hơn rất nhiều. Tạo Policy-map để xử lý lưu lượng
Sau khi đã nhận diện được lưu lượng, bước tiếp theo là tạo hành động.
Ví dụ:
R1(config)#policy-map DROP
R1(config-pmap)#class BLOCKED
R1(config-pmap-c)#drop
Ý nghĩa:
Khi Router phát hiện lưu lượng khớp với class BLOCKED thì:
DROP
hay nói cách khác:
Loại bỏ gói tin Áp dụng Policy vào Interface
Tiếp theo áp dụng Policy-map lên interface kết nối ra Internet:
R1(config)#interface FastEthernet0/1
R1(config-if)#service-policy output DROP
Sau khi kích hoạt:
Sau khi người dùng thử truy cập YouTube, có thể kiểm tra bằng:
show policy-map interface FastEthernet0/1
Kết quả:
Class-map: BLOCKED
1 packets, 500 bytes
Match: protocol http host "*youtube.com*"
drop
Điều này cho thấy Router đã:
Khi truy cập một website bằng HTTP, trình duyệt sẽ gửi yêu cầu:
GET / HTTP/1.1
Host: www.youtube.com
Thông tin hostname xuất hiện dưới dạng văn bản rõ ràng (Plain Text).
NBAR đọc trường này và so sánh với điều kiện đã cấu hình.
Nếu trùng khớp:
youtube.com
Router sẽ áp dụng chính sách tương ứng. Một hạn chế rất quan trọng của NBAR
Đây là phần mà nhiều kỹ sư mới học thường bỏ qua.
NBAR trong ví dụ này chỉ hoạt động với:
HTTP
không hoạt động với:
HTTPS Tại sao HTTPS lại khác?
Với HTTP:
Router có thể nhìn thấy:
GET / HTTP/1.1
Host: youtube.com
vì toàn bộ dữ liệu được gửi dưới dạng Plain Text.
Nhưng với HTTPS:
Khi mở YouTube bằng:
http://youtube.com
Router có thể đọc được hostname.
Nhưng khi truy cập:
https://youtube.com
Router chỉ nhìn thấy:
TLS/SSL Encrypted Traffic
và không thể đọc được nội dung HTTP bên trong.
Đây là lý do vì sao hầu hết các giải pháp kiểm soát web hiện đại thường kết hợp:
hostname R1
ip cef
class-map match-any BLOCKED
match protocol http host "*youtube.com*"
policy-map DROP
class BLOCKED
drop
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
service-policy output DROP Kết luận
NBAR là một công nghệ rất hữu ích trên Cisco IOS giúp Router nhận diện lưu lượng ở tầng ứng dụng thay vì chỉ dựa vào IP Address hay Port Number.
Thông qua NBAR, chúng ta có thể:
NBAR có thể nhận diện tốt lưu lượng HTTP.
Với HTTPS được mã hóa SSL/TLS, khả năng nhận diện sẽ bị hạn chế nếu không có thêm các giải pháp phân tích chuyên sâu.
Đây cũng là một trong những lý do khiến NBAR trở thành chủ đề quan trọng trong các chương trình học:
Trong hệ thống của bạn, nếu cần chặn Facebook, YouTube hoặc các ứng dụng SaaS hiện đại, bạn sẽ lựa chọn NBAR, ACL hay Next-Generation Firewall?
Hãy chia sẻ kinh nghiệm thực tế cùng cộng đồng Quản Trị Mạng VnPro!
Muốn học chuyên sâu về QoS, NBAR, Security, SD-WAN, BGP, MPLS và các công nghệ Enterprise thực chiến?
Liên hệ VnPro để được tư vấn lộ trình từ CCNA → CCNP Enterprise → CCIE Enterprise Infrastructure cùng đội ngũ giảng viên nhiều năm kinh nghiệm triển khai thực tế.
Hotline/Zalo: 093 3427 079
Website: vnpro.vn
#VnPro #QuanTriMang #Cisco #CCNP #ENCOR #CCIE #NBAR #QoS #CiscoIOS #NetworkSecurity #ApplicationRecognition #EnterpriseNetworking #NetworkEngineer #HocCCNP #CiscoEnterprise
Khi nhắc đến việc chặn truy cập website trên Router Cisco, đa số kỹ sư mạng thường nghĩ ngay đến ACL (Access Control List).
Ví dụ muốn chặn YouTube, cách làm truyền thống là:
- Tìm toàn bộ địa chỉ IP mà YouTube đang sử dụng
- Tạo Access-list để deny các địa chỉ đó
- Cập nhật liên tục khi IP thay đổi
Vậy có cách nào để Router nhận biết trực tiếp ứng dụng hoặc website mà người dùng đang truy cập thay vì chỉ nhìn vào địa chỉ IP?
Câu trả lời là NBAR (Network Based Application Recognition).
Đây là một trong những công nghệ rất thú vị của Cisco QoS, cho phép Router nhận diện lưu lượng ở tầng ứng dụng (Application Layer) và đưa ra chính sách xử lý phù hợp. NBAR là gì?
Thông thường ACL chỉ có thể kiểm tra các thông tin như:
- Địa chỉ IP nguồn
- Địa chỉ IP đích
- Protocol
- Port Number
NBAR bổ sung thêm khả năng nhận diện:
Application Layer
Điều này cho phép Router hiểu được:
- Người dùng đang truy cập website nào
- Đang sử dụng ứng dụng gì
- Đang truyền loại lưu lượng nào
- QoS Classification
- Traffic Filtering
- Application Visibility
- Network Monitoring
Giả sử doanh nghiệp muốn hạn chế nhân viên truy cập:
youtube.com
Nếu sử dụng ACL thông thường, chúng ta phải thu thập rất nhiều địa chỉ IP của YouTube.
Trong khi đó với NBAR, Router có thể nhận diện trực tiếp hostname của website.
Ví dụ:
class-map match-any BLOCKED
match protocol http host "*youtube.com*" Phân tích cấu hình
Đầu tiên tạo Class-map:
R1(config)#class-map match-any BLOCKED
R1(config-cmap)#match protocol http host "*youtube.com*"
Trong đó:
*youtube.com*
có nghĩa là:
- Khớp youtube.com
- Khớp www.youtube.com
- Khớp m.youtube.com
- Khớp các sub-domain khác của YouTube
*
được sử dụng như ký tự đại diện (wildcard).
Điều này giúp chính sách linh hoạt hơn rất nhiều. Tạo Policy-map để xử lý lưu lượng
Sau khi đã nhận diện được lưu lượng, bước tiếp theo là tạo hành động.
Ví dụ:
R1(config)#policy-map DROP
R1(config-pmap)#class BLOCKED
R1(config-pmap-c)#drop
Ý nghĩa:
Khi Router phát hiện lưu lượng khớp với class BLOCKED thì:
DROP
hay nói cách khác:
Loại bỏ gói tin Áp dụng Policy vào Interface
Tiếp theo áp dụng Policy-map lên interface kết nối ra Internet:
R1(config)#interface FastEthernet0/1
R1(config-if)#service-policy output DROP
Sau khi kích hoạt:
- Người dùng vẫn truy cập Internet bình thường
- Các website khác vẫn hoạt động
- Chỉ riêng lưu lượng truy cập YouTube bị chặn
Sau khi người dùng thử truy cập YouTube, có thể kiểm tra bằng:
show policy-map interface FastEthernet0/1
Kết quả:
Class-map: BLOCKED
1 packets, 500 bytes
Match: protocol http host "*youtube.com*"
drop
Điều này cho thấy Router đã:
- Nhận diện đúng YouTube
- Match đúng lưu lượng
- Thực hiện hành động Drop
Khi truy cập một website bằng HTTP, trình duyệt sẽ gửi yêu cầu:
GET / HTTP/1.1
Host: www.youtube.com
Thông tin hostname xuất hiện dưới dạng văn bản rõ ràng (Plain Text).
NBAR đọc trường này và so sánh với điều kiện đã cấu hình.
Nếu trùng khớp:
youtube.com
Router sẽ áp dụng chính sách tương ứng. Một hạn chế rất quan trọng của NBAR
Đây là phần mà nhiều kỹ sư mới học thường bỏ qua.
NBAR trong ví dụ này chỉ hoạt động với:
HTTP
không hoạt động với:
HTTPS Tại sao HTTPS lại khác?
Với HTTP:
Router có thể nhìn thấy:
GET / HTTP/1.1
Host: youtube.com
vì toàn bộ dữ liệu được gửi dưới dạng Plain Text.
Nhưng với HTTPS:
- Nội dung được mã hóa SSL/TLS
- Hostname và dữ liệu ứng dụng không còn hiển thị rõ ràng
- Router không thể đọc được nội dung bên trong gói tin
Khi mở YouTube bằng:
http://youtube.com
Router có thể đọc được hostname.
Nhưng khi truy cập:
https://youtube.com
Router chỉ nhìn thấy:
TLS/SSL Encrypted Traffic
và không thể đọc được nội dung HTTP bên trong.
Đây là lý do vì sao hầu hết các giải pháp kiểm soát web hiện đại thường kết hợp:
- Proxy Server
- Secure Web Gateway
- Next-Generation Firewall
- SSL Inspection
hostname R1
ip cef
class-map match-any BLOCKED
match protocol http host "*youtube.com*"
policy-map DROP
class BLOCKED
drop
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
service-policy output DROP Kết luận
NBAR là một công nghệ rất hữu ích trên Cisco IOS giúp Router nhận diện lưu lượng ở tầng ứng dụng thay vì chỉ dựa vào IP Address hay Port Number.
Thông qua NBAR, chúng ta có thể:
- Nhận diện ứng dụng
- Phân loại lưu lượng
- Áp dụng QoS
- Thực hiện Filtering thông minh hơn ACL truyền thống
NBAR có thể nhận diện tốt lưu lượng HTTP.
Với HTTPS được mã hóa SSL/TLS, khả năng nhận diện sẽ bị hạn chế nếu không có thêm các giải pháp phân tích chuyên sâu.Đây cũng là một trong những lý do khiến NBAR trở thành chủ đề quan trọng trong các chương trình học:
- CCNP Enterprise (ENCOR)
- QoS
- Network Security
- Cisco IOS XE
Trong hệ thống của bạn, nếu cần chặn Facebook, YouTube hoặc các ứng dụng SaaS hiện đại, bạn sẽ lựa chọn NBAR, ACL hay Next-Generation Firewall?Hãy chia sẻ kinh nghiệm thực tế cùng cộng đồng Quản Trị Mạng VnPro!
Muốn học chuyên sâu về QoS, NBAR, Security, SD-WAN, BGP, MPLS và các công nghệ Enterprise thực chiến?Liên hệ VnPro để được tư vấn lộ trình từ CCNA → CCNP Enterprise → CCIE Enterprise Infrastructure cùng đội ngũ giảng viên nhiều năm kinh nghiệm triển khai thực tế.
Hotline/Zalo: 093 3427 079
Website: vnpro.vn#VnPro #QuanTriMang #Cisco #CCNP #ENCOR #CCIE #NBAR #QoS #CiscoIOS #NetworkSecurity #ApplicationRecognition #EnterpriseNetworking #NetworkEngineer #HocCCNP #CiscoEnterprise