Cisco FTD [LAB-13] Cấu hình quản trị Cisco FTD thông qua API

phile

Internship/Fresher
Jan 4, 2021
81
16
8
Mục Lục:
I. Giới thiệu về mô hình bài Lab
II. Cấu hình quản trị Cisco FTD thông qua API


[LAB-13] Cấu hình quản trị Cisco FTD thông qua API

Lưu ý: thiết bị Cisco FTD trong bài lab này được dựng ảo hóa hoàn toàn trên VMware và sử dụng phần mềm FDM để quản lý các thiết bị Cisco FTD. (phiên bản cisco FTD là 7.2.5-208)

I. Giới thiệu về mô hình bài Lab


Mô hình bài Lab bao gồm các thành phần như: Switch, WEB server, DNS server, AD server, Cisco FTD và các PC người dùng được phân chia làm các subnet:
  • Outside network: 10.120.190.0/24
  • User network: 172.31.198.0/24 và 172.31.199.0/24
  • Server network: 172.31.100.0/24 và 172.31.10.0/24
Gateway lần lượt được cấu hình trên cisco FTD: 10.120.190.31/24, 172.31.198.250, 172.31.198.250, 172.31.10.250, 172.31.100.250,...
Yêu cầu của bài Lab:
  • Cấu hình quản lý thiết bị Cisco FTD thông qua API Explorer trên giao diện Cisco FDM và tiến hành tạo một object host với ip 1.1.1.1.
  • Cấu hình quản lý thiết bị Cisco FTD thông qua API bằng ứng dụng Postman và tiến hành xóa object với ip 1.1.1.1.
1695979346876.png


II. Cấu hình quản trị Cisco FTD thông qua API

Cisco FTD API là một giao diện lập trình ứng dụng (API) cho phép các nhà phát triển phần mềm truy cập và quản lý các thiết bị Cisco Firepower Threat Defense (FTD). API này sử dụng giao thức HTTP/HTTPS và được cung cấp dưới dạng RESTful API.

Cisco FTD API cung cấp một loạt các tính năng, bao gồm:
  • Truy cập vào thông tin cấu hình của thiết bị FTD
  • Quản lý các chính sách bảo mật của thiết bị FTD
  • Giám sát hoạt động của thiết bị FTD
  • Tự động hóa các tác vụ quản lý thiết bị FTD
Để sử dụng Cisco FTD API được quản lý thông qua FDM có 2 cách:
  • Thông qua API Explorer: là một công cụ tích hợp trong FDM cho phép người dùng khám phá và sử dụng API của thiết bị Cisco Firepower Threat Defense (FTD). API Explorer cung cấp một giao diện người dùng trực quan cho phép xem tất cả các API có sẵn trên thiết bị FTD, tìm hiểu thông tin chi tiết về từng API và thực hiện các yêu cầu API mà không cần phải viết mã. Phương thức này dùng để làm quen với cisco FTD API.
  • Thông qua các công cụ thứ 3: đối với cách này cần sử dụng các phần mềm hỗ trợ RESTful API và phải tạo một token để kết nối với cisco FTD. Phương thức này phù hợp trong thực tế.
Đối với API của cisco FTD hỗ trợ các function sau:
  • GET: thực hiện lấy thông tin.
  • PUT: thực hiện update thông tin đã được cấu hình.
  • POST: thực hiện tạo mới thông tin.
  • DELETE: thực hiện xóa thông tin.

Trước tiên thực hiện truy cập GUI thiết bị cisco FTD được quản lý thông qua FDM và chọn API Explorer để tiến hành cấu hình API.

Lưu ý: API Explorer được tích hợp với FDM nên không cần phải tạo token riêng, nó được xác thực khi người dùng đăng nhập tài khoản vào GUI của FDM.
1695637436215.png

Lúc này sẽ xuất hiện 1 tab được liệt kê thành các tính năng cho phép cấu hình thông qua API Explorer và các lệnh hỗ trợ để cấu hình tính năng đó. Cụ thể đối với cấu hình NetworkObject sẽ hỗ trợ các cấu hình như hình bên dưới. Đối với một tính năng sẽ có các tóm tắt về thông tin cũng như các hoạt động của API gồm:
  • Show/Hide: Hiển/Ẩn tất các các thông tin và yêu cầu của lệnh hỗ trợ trong cấu hình tính năng.
  • List Operation: Hiển thị tất cả các lệnh được hỗ trợ trong cấu tính năng.
  • Expand Operations: Hiển thị chức năng của các lệnh được hỗ trợ trong cấu tính năng.
1695637440263.png

Thực hiện chọn tính năng muốn thực hiện đối với NetworkObject ở đây sẽ là GET.
1695637461208.png

Lúc này ta sẽ đọc thông tin ở phần Model để xác định các thông số sẽ trả về sau khi thực hiện lệnh, và kéo xuống bên dưới chọn TRY IT OUT để lệnh có thể thực hiện.
1695637468506.png
1695637471429.png
Sau đó hệ thống sẽ tự thực hiện API và trả về kết quả ở phần Response Body lúc này sẽ thấy được tất cả các objects có trong cisco FTD. Ở trường Curl Request URL là full thông tin API địa chỉ kết nối API đến thiết bị.
1695637475244.png

Tiếp theo đối với việc tạo mới object thực hiện lệnh POST như hình bên dưới đồng thời đọc các thông tin cần điền để tiến hành tạo object.
1695637481973.png

Thực hiện điền các thông tin được yêu cầu trong model vào phần Body (các thông tin này dùng để tạo object, có thể tham khảo trong phần Example Value) sau đó chọn TRY IT OUT để chạy lệnh. Các thông tin cần điền là:
  • name: tên của object
  • subType: loại network object
  • value: giá trị của object
  • isSystemDefined: xác định object này có phải do hệ thống tạo ra (true: có, false: không)
  • type: loại cấu hình
1695637491162.png
1695637493399.png
Đối với các lệnh liên quan đến việc thay đổi cấu hình của thiết bị ngoài thông tin trong Response Body còn nhận được các mã trong Response Code với mỗi mã thể hiện được hoạt động của lệnh API có thành công hay không. Mã 200 là lệnh được thực hiện thành công (có thể vào phần Error Catalog để xem các mã khi xảy ra lỗi)
1695637500657.png

Lúc này vào lại thiết bị FTD phần Objects > Networks sẽ thấy được 1 object host đã được tạo.

Lưu ý: Đối với thực hiện thay đổi cấu hình FTD thông qua API cấu hình sẽ chưa được áp dụng cho thiết bị mà cần phải commit.
1695637504550.png

Có thể thực hiện commit thông qua API vào chức năng Deployment chọn Post và không cần điền bất cứ thông tin nào rồi chọn TRY IT OUT để thực hiện deploy cấu hình vào thiết bị.
1695637553140.png



Ngoài sử dụng API Explorer có thể cấu hình quản lý API thông qua các ứng dụng của bên thứ 3 hỗ trợ RESTful API ở đây sẽ sử dụng Postman. Nhưng đối với các ứng dụng khác cần phải có token để xác thực với cisco FTD, thực hiện bằng cách điền kiểu lấy token (với kiểu grant_type trong bài lab sẽ sử dụng username/password quản trị thiết bị cisco FTD) vào phần Body như hình bên dưới với URL là địa chỉ kết nối tới API của cisco FTD bằng lệnh POST. Về cú pháp lệnh sẽ gồm Action, https://<ip FTD>/api/fdm/latest hoặc v6/<tính năng>.

Lưu ý: tham khảo link sau để xác định các lệnh hỗ trợ API và URL để request đối với các ứng dụng của bên thứ 3.
1695637579922.png

Tiếp theo ở phần Header chọn các thông tin key cho phép các giá trị trả về của lệnh API rồi chọn Send.
1695637586340.png

Sau khi thực hiện lệnh, sẽ được kết quả access_token ở phần Body trả về như hình bên dưới (mỗi token sẽ có thời hạn sử dụng nhất định default là 30 phút và sau khi hết thời gian cần phải được làm mới)
1695637592728.png

Sau khi đã có được token tiến hành điền nó vào phần Authoriztion > Bearer Token trước khi thực hiện lệnh GET.
1695637597095.png

Sau khi chạy lệnh sẽ được kết quả ở phần Body với định dạng json.
1695637602090.png

Đối với thực hiện Delete object cũng thực hiện tương tự như trên API Explorer,
1695637605415.png

Sau khi thực hiện lệnh xong cần phải commit bằng lệnh POST deploy như hình bên dưới để áp dụng cấu hình cho thiết bị.
1695637612017.png

Sau khi delete object thực hiện kiểm tra lại bằng lệnh GET sẽ xuất hiện thông báo Cisco FTD không tìm thấy thông tin của object.
1695637616795.png
 

Attachments

  • 1695637521129.png
    1695637521129.png
    108.1 KB · Views: 0
  • 1695637526637.png
    1695637526637.png
    62.9 KB · Views: 0
  • 1695637534845.png
    1695637534845.png
    112.2 KB · Views: 0
  • 1695637566585.png
    1695637566585.png
    108.4 KB · Views: 0
  • 1695637608874.png
    1695637608874.png
    87.3 KB · Views: 0
Last edited:

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu