Hướng dẫn chi tiết sử dụng kết nối API Firewall Fortinet

How to use API on Firewall Fortinet

Hướng dẫn chi tiết sử dụng kết nối API Firewall Fortinet

1./ Giới thiệu API Firewall Fortinet

Firewall Fortinet có đường dẫn API mặc định là:

api/v2/cmdb/firewall/address

do đó bạn có thể sử dụng trình duyệt như chrome hoặc firefox… để kết nối đến API của Fortinet

ví dụ gõ đường dẫn dưới trên trình duyệt:

Kết quả trả về là:

{

  "http_method":"GET",

  "revision":"124.0.206.9538334086041268915.1559577065",

  "results":[

    {

      "q_origin_key":"AD-Server",

      "name":"AD-Server",

      "uuid":"********-****-****-****-************",

      "subnet":"10.100.77.240 255.255.255.255",

      "type":"ipmask",

      "start-mac":"00:00:00:00:00:00",

      "end-mac":"00:00:00:00:00:00",

      "start-ip":"10.100.77.240",

      "end-ip":"255.255.255.255",

      "fqdn":"",

      "country":"",

      "wildcard-fqdn":"",

      "cache-ttl":0,

      "wildcard":"10.100.99.240 255.255.255.255",

      "sdn":"",

      "interface":"",

      "tenant":"",

      "organization":"",

      "epg-name":"",

      "subnet-name":"",

      "sdn-tag":"",

      "policy-group":"",

      "comment":"",

      "visibility":"enable",

      "associated-interface":"",

      "color":0,

      "filter":"",

      "sdn-addr-type":"private",

      "obj-id":"",

      "list":[

      ],

      "tagging":[

      ],

      "allow-routing":"disable"

    },

    {

      "q_origin_key":"AWS-us-east-1a",

      "name":"AWS-us-east-1a",

      "uuid":"********-****-****-****-************",

                   

2./ Sử dụng Curl để kết nối đến API Firewall Fortinet

curl là một công cụ dòng lệnh được sử dụng để tải xuống hoặc tải lên dữ liệu từ các máy chủ web hoặc các giao thức mạng khác như FTP, SCP, SFTP và nhiều giao thức khác. Công cụ này được hỗ trợ trên nhiều hệ điều hành, bao gồm Linux, macOS và Windows.

curl có thể được sử dụng để gửi các yêu cầu HTTP, bao gồm GET, POST, PUT, DELETE và nhiều loại yêu cầu khác đến các máy chủ web. Nó cũng có thể xử lý các yêu cầu thông qua các proxy và hỗ trợ nhiều tùy chọn để điều chỉnh cách thức thực hiện yêu cầu.

Một số ví dụ sử dụng curl:

  • Lấy nội dung của trang web: curl https://www.example.com
  • Tải xuống một tệp từ một URL: curl -O https://example.com/file.zip
  • Gửi yêu cầu POST với dữ liệu đầu vào: curl -d "param1=value1¶m2=value2" -X POST https://example.com/api
  • Sử dụng proxy để truy cập một trang web: curl --proxy http://proxy.example.com:8080 https://example.com

 

Để sử dụng API của Firewall Fortinet bằng cách sử dụng công cụ curl, bạn có thể thực hiện các bước sau:

Bước 1: Mở cửa sổ Terminal hoặc Command Prompt trên máy tính của bạn.

Bước 2: Thiết lập thông tin kết nối với Firewall Fortinet bằng lệnh curl. Điều này bao gồm địa chỉ IP của Firewall Fortinet, cổng API, tên người dùng và mật khẩu.

Ví dụ:

curl -k -u admin:password https://firewall_ip/api/v2/cmdb/firewall/policy

Trong ví dụ này, admin và password là tên đăng nhập và mật khẩu của tài khoản quản trị Firewall Fortinet.

Bước 3: Thực hiện yêu cầu API bằng lệnh curl. Bạn có thể sử dụng các yêu cầu API như GET, POST, PUT, DELETE để thực hiện các hành động trên Firewall Fortinet.

Ví dụ:

Để lấy danh sách các chính sách bảo mật trên Firewall Fortinet, bạn có thể sử dụng yêu cầu API GET như sau:

curl -k -u admin:password https://firewall_ip/api/v2/cmdb/firewall/policy

Để tạo một chính sách bảo mật mới, bạn có thể sử dụng yêu cầu API POST như sau:


curl -k -u admin:password -H 'Content-Type: application/json' -d '{"name": "new_policy","srcintf": [{"name": "port1"}],"dstintf": [{"name": "port2"}],"srcaddr": [{"name": "any"}],"dstaddr": [{"name": "any"}],"action": "accept","schedule": "always","service": [{"name": "HTTP"}],"utm-status": "disable","logtraffic": "enable"}' https://firewall_ip/api/v2/cmdb/firewall/policy

Trong ví dụ này, yêu cầu API POST được sử dụng để tạo một chính sách bảo mật mới trên Firewall Fortinet với các thông tin như tên, các giao diện nguồn và đích, địa chỉ nguồn và đích, action, schedule, service, trạng thái UTM và logtraffic.

Lưu ý rằng các thông số truyền vào yêu cầu API phải được mã hóa đúng định dạng và được truyền đúng theo cấu trúc yêu cầu. Bạn cần phải kiểm tra kỹ các thông số truyền vào để đảm bảo yêu cầu API được thực hiện chính xác.

3./ Một vài ví dụ cho việc sử dụng API Fortinet

3.1/sử dụng curl kết nối api fortinet để tạo rule mới và xóa rule mới vừa tạo

Bước 1: Tạo một tệp JSON chứa thông tin về rule mới. Ví dụ:

{

    "jsonrpc": "2.0",

    "method": "add",

    "params": [

        "root",

        {

            "action": "accept",

            "dstintf": [

                {

                    "name": "port2"

                }

            ],

            "dstaddr": [

                {

                    "name": "all"

                }

            ],

            "srcintf": [

                {

                    "name": "port1"

                }

            ],

            "srcaddr": [

                {

                    "name": "all"

                }

            ],

            "service": [

                {

                    "name": "HTTP"

                }

            ],

            "schedule": "always",

            "name": "new_rule"

        }

    ],

    "id": 1

}
 

Thông tin về rule mới được lưu trong đối tượng JSON này. Trong ví dụ này, rule mới có tên là "new_rule", được áp dụng cho giao diện nguồn "port1" và giao diện đích "port2", có hành động là "accept", cho phép lưu lượng dịch vụ HTTP, và được lên lịch chạy liên tục.

Bước 2: Sử dụng lệnh curl để gửi yêu cầu tạo rule mới tới Firewall Fortinet:

curl -k -u admin:password -H 'Content-Type: application/json' -d @new_rule.json https://firewall_ip/api/v2/cmdb/firewall/policy

Ở đây, new_rule.json là tên tệp JSON chứa thông tin về rule mới.

Nếu thành công, yêu cầu API sẽ trả về một thông báo xác nhận về việc tạo rule mới.

Để xóa rule mới vừa tạo, bạn có thể sử dụng yêu cầu API DELETE như sau:


curl -k -u admin:password -X DELETE https://firewall_ip/api/v2/cmdb/firewall/policy/new_rule

Ở đây, new_rule là tên của rule mới cần xóa.

Nếu thành công, yêu cầu API sẽ trả về một thông báo xác nhận về việc xóa rule mới.

3.2/ Sử dụng curl để tạo VLAN mới

Bước 1: Tạo một tệp JSON chứa thông tin về VLAN mới. Ví dụ:


{

    "jsonrpc": "2.0",

    "method": "add",

    "params": [

        "root",

        {

            "name": "new_vlan",

            "vlanid": 10,

            "interface": [

                {

                    "name": "port2"

                }

            ]

        }

    ],

    "id": 1

}

Thông tin về VLAN mới được lưu trong đối tượng JSON này. Trong ví dụ này, VLAN mới có tên là "new_vlan", có ID VLAN là 10, và được gán cho giao diện "port2".

Bước 2: Sử dụng lệnh curl để gửi yêu cầu tạo VLAN mới tới Firewall Fortinet:

curl -k -u admin:password -H 'Content-Type: application/json' -d @new_vlan.json https://firewall_ip/api/v2/cmdb/system/interface/vlan

Ở đây, new_vlan.json là tên tệp JSON chứa thông tin về VLAN mới.

Nếu thành công, yêu cầu API sẽ trả về một thông báo xác nhận về việc tạo VLAN mới.

Lưu ý: để tạo VLAN mới, bạn cần phải truy cập vào Firewall Fortinet bằng tư cách quản trị viên có quyền truy cập API. Ngoài ra, bạn cần thay thế admin và password bằng tên đăng nhập và mật khẩu của quản trị viên của Firewall Fortinet.

3.3/ sử dụng API Fortinet Firewall để chặn IP Facebook

Để tạo một rule mới chặn IP Facebook trên Firewall Fortinet bằng cách sử dụng API và curl, bạn có thể thực hiện các bước sau:

Bước 1: Tạo một tệp JSON chứa thông tin về rule mới. Ví dụ:

{

    "jsonrpc": "2.0",

    "method": "add",

    "params": [

        "root",

        {

            "name": "block_facebook",

            "action": "deny",

            "srcintf": [

                {

                    "name": "any"

                }

            ],

            "dstintf": [

                {

                    "name": "any"

                }

            ],

            "srcaddr": [

                {

                    "name": "all"

                }

            ],

            "dstaddr": [

                {

                    "name": "facebook_ip"

                }

            ],

            "schedule": "always",

            "service": [

                {

                    "name": "ALL"

                }

            ],

            "logtraffic": "enable",

            "utm-status": "disable",

            "av-status": "disable",

            "webfilter-status": "disable",

            "ssl-ssh-profile": "certificate-inspection",

            "policyid": 0,

            "comments": "Block Facebook IP addresses",

            "session-ttl": 0,

            "ftgd-waf-policy": "",

            "ftgd-profile-override": "",

            "ips-status": "disable",

            "ssl-ssh-profile-override": "",

            "dnsfilter-status": "disable",

            "identity-based-route": "disable"

        }

    ],

    "id": 1

}

Thông tin về rule mới được lưu trong đối tượng JSON này. Trong ví dụ này, rule mới có tên là "block_facebook", có hành động là "deny" để chặn lưu lượng, và được áp dụng cho tất cả các giao diện.

Bạn cần có dánh sách IP của Facebook để update vào file ‘facebook_ip’

ví dụ cấu trúc của file facebook_ip

{

  "facebook_ip": [

    "31.13.24.0/21",

    "31.13.64.0/18",

    "45.64.40.0/22",

    "69.63.176.0/20",

}

Bước 2: Sử dụng lệnh curl để gửi yêu cầu tạo rule mới tới Firewall Fortinet:

curl -k -u admin:password -H 'Content-Type: application/json' -d @block_facebook.json https://firewall_ip/api/v2/cmdb/firewall/policy
 

Ở đây, block_facebook.json là tên tệp JSON chứa thông tin về rule mới.

Nếu thành công, yêu cầu API sẽ trả về một thông báo xác nhận về việc tạo rule mới.

Để đảm bảo rằng rule mới được ưu tiên cao nhất trong danh sách rule, bạn cần đảm bảo rằng nó được đặt trên đầu tiên. Bạn có thể thực hiện điều này bằng cách di chuyển rule mới vừa tạo lên đầu danh sách rule. Để làm điều này, bạn có thể sử dụng yêu cầu API Move như sau:

 

Trên đây là chia sẻ về Hướng dẫn chi tiết sử dụng kết nối API Firewall Fortinet

Trong quá trình thực hiện, nếu gặp bất kỳ khó khăn nào, bạn vui lòng liên hệ các kỹ thuật viên của CloudX đđược nhanh chóng hỗ trợ.! Nếu thấy bài viết này hữu ích hãy subscribe để theo dõi những thông tin mới nhất từ CloudX nhé. Chúc các bạn thành công!

 

H sinh thái ca CloudX:

  • Tư vấn miễn phí hệ thống CNTT cho doanh nghiệp
  • Miễn phí đăng ký dùng thử Cloud Server, Cloud VPS, Hosting (lưu trữ website, phần mềm, xử lý dữ liệu)
  • Xmail - Email tên miền doanh nghiệp
  • Server vật lý, cho thuê chỗ đặt Server tại các Datacenter hàng đầu Việt Nam
  • Dịch vụ quản trị máy chủ, Outsource CNTT, quản trị hệ thống mạng doanh nghiệp, IT Support
  • Miễn phí cài đặt, vận hành quản trị phần mềm trường học ảo E-Learning Canvas LMS (được đánh giá E-Learning tốt nhất thế giới)
  • Triển khai, quản trị Firewall cho doanh nghiệp
  • Các giải pháp về Monitor, Alert Cảnh báo, Sao lưu - Backup dữ liệu từ xa cho máy chủ, Cloud, VPS.
  • Thiết kế website chuyên nghiệp

Xin vui lòng liên h Hotline/Zalo: 0983.357.585 Mr.Cưng đ đưc tư vn tn tình

 

BÀI VIẾT CÙNG CHUYÊN MỤC

Hướng dẫn Extend Disk ổ C trên Windows Server 2022, 2019…
Hướng dẫn Extend Disk ổ C trên Windows Server 2022, ...

Hướng dẫn Extend Disk ổ C trên Windows Server 2022, 2019…

Canvas LMS Hướng dẫn đăng nhập – Tạo khóa học mới và Copy khóa học đã có
Canvas LMS Hướng dẫn đăng nhập – Tạo khóa học mới và ...

Canvas LMS Hướng dẫn đăng nhập – Tạo khóa học mới và Copy khóa học đã có

Tìm hiểu và cấu hình Dynamic subdomain, ví dụ cấu hình trên nginx và haproxy
Tìm hiểu và cấu hình Dynamic subdomain, ví dụ cấu hình ...

Tìm hiểu và cấu hình Dynamic subdomain, ví dụ cấu hình trên nginx và haproxy

Hướng dẫn cài đặt MSSQL 2019 Standard Edition
Hướng dẫn cài đặt MSSQL 2019 Standard Edition

Hướng dẫn cài đặt MSSQL 2019 Standard Edition

5 phần mềm quản lý đào tạo - LMS tốt nhất năm 2024
5 phần mềm quản lý đào tạo - LMS tốt nhất năm 2024

5 phần mềm quản lý đào tạo - LMS tốt nhất năm 2024

Tổng quan về giải pháp Cisco ACI
Tổng quan về giải pháp Cisco ACI

Tổng quan về giải pháp Cisco ACI