[Firewall ASA] – Bài 6 : Kiểm soát lưu lượng mạng (Inspect Traffic)

1376

Tham khảo ebook:
– [Ebook] Cisco ASA All-in-one Next-Generation Firewall, IPS, and VPN Services, 3rd Edition

Sơ đồ:

asa6-diagram

Mô tả:

Như các bài trước chúng ta đã tìm hiểu thì để chặn (deny) hoặc cho phép (permit) 1 gói tin thì chúng ta có thể dùng công cụ là Access-control list (ACL). Với ACL chúng ta chỉ có thể chặn hoặc cho phép dựa trên địa chỉ IP, port và một giao thức cụ thể nào đó (ICMP, IP, HTTP,…). Tuy nhiên nếu làm như vậy đôi khi sẽ không phù hợp với việc chặn các ứng dụng layer 7 hoặc sẽ gây ra sự phức tạp trong cấu hình đối với những trường hợp nhất định. Từ những điều đó chúng ta cần những công cụ mạnh mẽ hơn và có tính “mềm dẻo” hơn để phù hợp với việc cấu hình và những ứng dụng ở layer 7.

Bài lab này sẽ hướng dẫn chúng ta thực hiện việc viết một Modular Policy Framework (MPF) cho việc chặn 1 trang web cụ thể không dựa vào địa chỉ IP và sẽ viết 1 policy cho phép ping ra internet thay vì viết access-list như các bài trước. Để hiểu rõ hơn về MPF thông qua chặn, lọc, cho phép và những tính năng khác của nó trong việc kiểm tra gói tin chúng ta sẽ tìm hiểu sơ cơ chế hoạt động của MPF.

Một MPF được cấu thành bởi 3 yếu tố:
Service policy: dùng để cấu hình các policy sẽ được áp lên interface của ASA.
Policy-map: dùng để cấu hình những đặc điểm của 1 policy ở trên để match với traffic tương ứng.
Class-map: cấu hình để phân loại các traffic cụ thể sẽ được dùng trong MPF.

Cấu trúc của 1 MPF sẽ có dạng như sau:


Mặc định thì firewall ASA sẽ được cấu hình sẵn một số inspect sẽ được cho qua mà không cần cấu hình. Chúng có thể kiểm tra những service-policy đã được áp lên interface này thông qua command “show running-config service-policy
.


Tiếp theo chúng ta sẽ kiểm tra cấu hình policy-map của ASA thông qua command “show running-config policy-map global_policy”.


Sau cùng chúng ta sẽ kiểm tra cấu hình của class-map mặc định, chúng ta sẽ dùng command “show running-config class-map inspection_default”.


Sau đây thì chúng ta sẽ cùng tìm hiểu 2 ví dụ đơn giản về MPF ở layer 3 bằng việc cho phép PC ping ra DNS GOOGLE và ở layer 7 thông qua việc chặn web bằng domain.


Thực hành

Bước 1: chúng ta sẽ cấu hình địa chỉ IP, security-level cho firewall ASA

• Cấu hình địa chỉ IP cho cổng G0/1 nhận dhcp từ internet.
• Cấu hình IP cho cổng G0/0 là 192.168.10.1/24.
• Vùng kết nối với internet sẽ là outside, vùng kết nối với PC sẽ là inside.


Kiểm tra
:

Chúng ta sẽ kiểm tra lại cấu hình địa chỉ IP ở trên bằng command “show int ip br”


Tiếp theo chúng ta sẽ kiểm tra kết nối giữa ASA và internet thông qua việc ping tới DNS GOOGLE là 8.8.8.8.


Bước 2: chúng ta sẽ thực hiện viết policy để cho phép ping từ PC ra DNS 8.8.8.8 của google

Đầu tiên chúng ta sẽ tạo 1 ACL cho phép ping.


Chúng ta sẽ viết 1 ACL extend cho phép giao thức icmp từ source là bất cứ địa chỉ nào (any) tới destination cũng là bất cứ địa chỉ nào (any) bằng cờ echo.

Tiếp theo chúng ta sẽ viết 1 class-map chứa ACL ở trên.

Cấu trúc của 1 class-map

  • class sẽ được đặt tên cho chúng ta định ra hoặc cũng có thể sử dụng class-default do cấu hình mặc định của ASA.


Các options ở đây được liệt kê như sau:


Như vậy trong ví dụ này, chúng ta sẽ tạo 1 class-map là ICMP và match access-list vừa khởi tạo ở trên.


Kế tiếp chúng ta sẽ tạo 1 policy có tên là POLICY và đưa class cần áp chính sách vào.


Sau cùng chúng ta sẽ áp POLICY lên cổng với cấu trúc câu lệnh như sau


Ở bài này chúng ta sẽ áp policy tên là POLICY lên interface inside như sau:


Kiểm tra:

Chúng ta sẽ kiểm tra kết nối bằng lệnh ping giữa PC với DNS GOOGLE 8.8.8.8

asa6-ping

Đến đây thì PC đã có thể ping được thành công!


Bước 3
: Chúng ta sẽ cấu hình để PC không thể truy xuất được dantri.vn

+ Thao tác 1 : chúng ta sẽ cấu hình 1 regular expression liên quan đến dantri.vn để filter.

1 REGEX (regular expression)1 chuỗi (

Có 2 cách để chúng ta định nghĩa 1 REGEX (regular expression):
• Chúng ta có thể tạo trực tiếp bằng command sau:


+ Thao tác 2
: kiểm tra REGEX chúng ta đã tạo.


+ Thao tác 3
: tạo 1 class-map chứa các REGEX đã tạo.


Chúng ta sẽ tạo class-map chưa REGEX đã liệt kê ở trên theo cú pháp câu lệnh như sau:


– Tạo 1 class-map inspect giao thức HTTP.


HTTP là giao thức được sử dụng giữa client và server. Client sẽ gửi request đến server và server sẽ response trở lại. Ở đây vì là ASA đứng giữa server và client nên chúng ta hoàn toàn có thể chặn được quá trình request này.


+ Thao tác 4: tạo 1 policy và drop các gói tin có header chứa chuỗi “dantri.vn”.


Ở đây có nhiều option trong class HTTP-TRAFFIC mà chúng ta có thể lựa chọn, ngoài drop-connection log, chúng ta có thể reset kết nối HTTP hoặc thông báo log xuất hiện bằng các option thay thế như sau:


+ Thao tác 5
: tạo 1 class-map xử lý layer 3 và 4.


+ Thao tác 6: thêm class-map LAYER3-4 và inspect policy-map HTTP-TRAFFIC vào trong policy-map đang chạy ở trên là POLICY


+ Thao tác 7
: áp policy có tên là POLICY vừa tạo lên cổng inside


Kiểm tra:

asa6-deny-dantri


Đến đây chúng ta đã thưc hiện thành công việc chặn web ! Cũng như hoàn thành bài lab số 6 trong chủ đề “Firewall ASA”. Chúc các bạn thành công.

Đánh giá sao từ người đọc :
[ Tổng : 1 - Trung bình: 5 ]