เชฎเชจเซ เชเชพเชคเชฐเซ เชเซ เชเซ เชฆเชฐเซเช เชตเซเชฏเชเซเชคเชฟ เชเซเชฎเชฃเซ เชเซเชฏเชพเชฐเซเชฏ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซเชฏเซเช เชเซ
เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชคเชพเชเซเชคเชฐเชฎเชพเช เชเช "เชเชฎเชคเซเชเชพเชฐ" เชฅเชฏเซ. เชจเชตเชพ เชธเชเชธเซเชเชฐเชฃเชจเชพ เชชเซเชฐเชเชพเชถเชจ เชธเชพเชฅเซ เชเซเชฏเชพ R80 เชคเช เชเชพเชนเซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ API เชตเชชเชฐเชพเชถ, เชเซ เชธเซเชตเชเชพเชฒเชฟเชค เชธเซเชเชฟเชเชเซเชธ, เชตเชนเซเชตเช, เชฆเซเชเชฐเซเช เชตเชเซเชฐเซ เชฎเชพเชเซ เชตเชฟเชถเชพเชณ เชคเชเซ เชเซเชฒเซ เชเซ. เชนเชตเซ เชคเชฎเซ เช เชเชฐเซ เชถเชเซ เชเซ:
- เชตเชธเซเชคเซเช เชฌเชจเชพเชตเซ;
- เชเชเซเชธเซเชธ เชธเซเชเชฟเช เชเชฎเซเชฐเซ เช เชฅเชตเชพ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซ;
- เชฌเซเชฒเซเชกเชจเซ เชธเชเซเชทเชฎ/เช เชเซเชทเชฎ เชเชฐเซ;
- เชจเซเชเชตเชฐเซเช เชเชจเซเชเชฐเชซเซเชธ เชเซเช เชตเซ;
- เชจเซเชคเชฟเช เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ;
- เช เชจเซ เชเชฃเซเช เชฌเชงเซเช.
เชธเชพเชเซเช เชเชนเซเช เชคเซ, เชนเชฌเชฐ เชฆเซเชตเชพเชฐเชพ เช เชธเชฎเชพเชเชพเชฐ เชเซเชตเซ เชฐเซเชคเซ เชชเชธเชพเชฐ เชฅเชฏเชพ เชคเซ เชฎเชจเซ เชธเชฎเชเชพเชคเซเช เชจเชฅเซ. เช เชฒเซเชเชฎเชพเช เช
เชฎเซ API เชจเซ เชเชชเชฏเซเช เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซ เช
เชจเซ เชเซเชเชฒเชพเชเช เชตเซเชฏเชตเชนเชพเชฐเซ เชเชฆเชพเชนเชฐเชฃเซ เชเชชเซเชถเซเช เชคเซเชจเซเช เชเซเชเชเชฎเชพเช เชตเชฐเซเชฃเชจ เชเชฐเซเชถเซเช. เชธเซเชเซเชฐเชฟเชชเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชเชชเซเชเชจเซเช เชธเซเชเชฟเชเชเซเชธ.
เชนเซเช เชคเชฐเชค เช เชเช เชเชฐเชเซเชทเชฃ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ API เชจเซ เชเชชเชฏเซเช เชซเชเซเชค เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เชคเซ. เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ เชตเชฟเชจเชพ เชเซเชเชตเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเซเช เชนเชเซ เชชเชฃ เช เชถเชเซเชฏ เชเซ.
เชธเชฟเชฆเซเชงเชพเชเชคเชฎเชพเช เช API เชจเซ เชเชชเชฏเซเช เชเซเชฃ เชเชฐเซ เชถเชเซ เชเซ?
- เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเซเชธ เชเซ เชเซเช เชจเชฟเชฏเชฎเชฟเชค เชเซเช เชชเซเชเชจเซเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเชพเชฐเซเชฏเซเชจเซ เชธเชฐเชณ เช เชฅเชตเชพ เชธเซเชตเชเชพเชฒเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ;
- เช เชจเซเชฏ เชเชเซเชฒเซ (เชตเชฐเซเชเซเชฏเซเช เชฒเชพเชเชเซเชถเชจ เชธเชฟเชธเซเชเชฎเซเชธ, เชเชฟเชเชฟเช เชธเชฟเชธเซเชเชฎเซเชธ, เชเชจเซเชซเชฟเชเชฐเซเชถเชจ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฟเชธเซเชเชฎเซเชธ, เชตเชเซเชฐเซ) เชธเชพเชฅเซ เชเซเช เชชเซเชเชจเซเชเชจเซ เชเชเซเชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชคเซ เชเชเชชเชจเซเช;
- เชธเชฟเชธเซเชเชฎ เชเชจเซเชเชฟเชเซเชฐเซเชเชฐเซเชธ เชเซ เชธเซเชเชฟเชเชเซเชธเชจเซ เชฎเชพเชจเช เชฌเชจเชพเชตเชตเชพ เช เชฅเชตเชพ เชตเชงเชพเชฐเชพเชจเชพ เชเซเช เชชเซเชเชจเซเช-เชธเชเชฌเชเชงเชฟเชค เชเชคเซเชชเชพเชฆเชจเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซ.
เชฒเชพเชเซเชทเชฃเชฟเช เชฏเซเชเชจเชพ
เชคเซเชฅเซ, เชเชพเชฒเซ เชเซเช เชชเซเชเชจเซเช เชธเชพเชฅเซเชจเซ เชฒเชพเชเซเชทเชฃเชฟเช เชฏเซเชเชจเชพเชจเซ เชเชฒเซเชชเชจเชพ เชเชฐเซเช:
เชนเชเชฎเซเชถเชจเซ เชเซเชฎ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชเช เชเซเชเชตเซ เชเซ (SG), เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ (เชเชธเชเชฎเชเชธ) เช
เชจเซ เชเชกเชฎเชฟเชจ เชเชจเซเชธเซเชฒ (เชธเซเชฎเชพเชฐเซเชเชเซเชจเซเชธเซเชฒ). เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชธเชพเชฎเชพเชจเซเชฏ เชเซเชเชตเซ เชเซเช เชตเชฃเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
เชคเซ. เชชเซเชฐเชฅเชฎ เชคเชฎเชพเชฐเซ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเชจเชพ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชธเซเชฎเชพเชฐเซเชเชเซเชจเซเชธเซเชฒ, เชเซเชจเซ เชธเชพเชฅเซ เช
เชฎเซ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเซเช เชเซเช (เชเชธเชเชฎเชเชธ). เชเชธเชเชฎเชเชธ เชชเชฐ เชธเซเชฐเชเซเชทเชพ เชธเซเชเชฟเชเชเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชคเซ เชชเชเซ เช เชฒเชพเชเซ เชฅเชพเชฏ เชเซ (เชจเซเชคเชฟ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ) เชฅเซ เชเซเชเชตเซ (SG).
เชตเชพเชชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช เชฎเซเชจเซเชเชฎเซเชจเซเช API, เช เชฎเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชชเซเชฐเชฅเชฎ เชฌเชฟเชเชฆเซเชจเซ เชเซเชกเซ เชถเชเซเช เชเซเช (เชธเซเชฎเชพเชฐเซเชเชเซเชจเซเชธเซเชฒ เชฒเซเชเช เชเชฐเซ) เช เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซเช เชเซเช API เชเชฆเซเชถเซ เชธเซเชงเชพ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ (SMS) เชชเชฐ.
API เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฐเซเชคเซ
API เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเช เชตเชฃเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเชพเชจเซ เชเชพเชฐ เชฎเซเชเซเชฏ เชฐเซเชคเซ เชเซ:
1) mgmt_cli เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ
เชเชฆเชพเชนเชฐเชฃ - # mgmt_cli เชนเซเชธเซเชเชจเซเช เชจเชพเชฎ host1 ip-address 192.168.2.100 เชเชฎเซเชฐเซ
เช เชเชฆเซเชถ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ (SMS) เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ เชชเชฐเชฅเซ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชเชฆเซเชถเชจเซเช เชตเชพเชเซเชฏเชฐเชเชจเชพ เชธเซเชชเชทเซเช เชเซ - host1 เช 192.168.2.100 เชธเชฐเชจเชพเชฎเชพ เชธเชพเชฅเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ.
2) เชเซเชฒเชฟเชถ เชฆเซเชตเชพเชฐเชพ API เชเชฆเซเชถเซ เชฆเชพเชเชฒ เชเชฐเซ (เชจเชฟเชทเซเชฃเชพเชค เชฎเซเชกเชฎเชพเช)
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชคเชฎเชพเชฐเซ เชซเชเซเชค เชเชฆเซเชถ เชตเชพเชเซเชฏเชฎเชพเช เชฒเซเช เชเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ (เชเชฎเชเซเชเชฎเชเซ เชฒเซเชเชฟเชจ) เชเชพเชคเชพ เชนเซเช เชณ เชเซเชจเซ เชเชชเชฏเซเช SmartConsole (เช เชฅเชตเชพ เชฐเซเช เชเชเชพเชเชจเซเช) เชฆเซเชตเชพเชฐเชพ เชเชจเซเชเซเช เชเชฐเชคเซ เชตเชเชคเซ เชฅเชพเชฏ เชเซ. เชชเชเซ เชคเชฎเซ เชฆเชพเชเชฒ เชเชฐเซ เชถเชเซ เชเซ API เชเชฆเซเชถเซ (เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชฆเชฐเซเช เชเชฆเซเชถ เชชเชนเซเชฒเชพเช เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ mgmt_cli). เชคเชฎเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชตเชฟเชงเชพเชฏเซเชเซเชค เชฌเชจเชพเชตเซ เชถเชเซ เชเซ BASH เชธเซเชเซเชฐเชฟเชชเซเชเซ. เชธเซเชเซเชฐเชฟเชชเซเชเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชเซ เชนเซเชธเซเช เชฌเชจเชพเชตเซ เชเซ:
เชฌเซเชถ เชธเซเชเซเชฐเชฟเชชเซเช
#!/bin/bash
main() {
clear
#LOGIN (don't ask for username and password, user is already logged in to Management server as 'root' user)
mgmt_cli login --root true > id_add_host.txt
on_error_print_and_exit "Error: Failed to login, check that the server is up and running (run 'api status')"
#READ HOST NAME
printf "Enter host name:n"
read -e host_name
on_empty_input_print_and_exit "$host_name" "Error: The host's name cannot be empty."
#READ IP ADDRESS
printf "nEnter host IP address:n"
read -e ip
on_empty_input_print_and_exit "$ip" "Error: The host's IP address cannot be empty."
#CREATE HOST
printf "Creating new host: $host_name with IP address: $ipn"
new_host_response=$(mgmt_cli add host name $host_name ip-address $ip -s id_add_host.txt 2> /dev/null)
on_error_print_and_exit "Error: Failed to create host object. n$new_host_response"
#PUBLISH THE CHANGES
printf "nPublishing the changesn"
mgmt_cli publish --root true -s id_add_host.txt &> /dev/null
on_error_print_and_exit "Error: Failed to publish the changes."
#LOGOUT
logout
printf "Done.n"
}
logout(){
mgmt_cli logout --root true -s id_add_host.txt &> /dev/null
}
on_error_print_and_exit(){
if [ $? -ne 0 ]; then
handle_error "$1"
fi
}
handle_error(){
printf "n$1n" #print error message
mgmt_cli discard --root true -s id_add_host.txt &> /dev/null
logout
exit 1
}
on_empty_input_print_and_exit(){
if [ -z "$1" ]; then
printf "$2n" #print error message
logout
exit 0
fi
}
# Script starts here. Call function "main".
main
เชเซ เชคเชฎเชจเซ เชฐเชธ เชนเซเชฏ, เชคเซ เชคเชฎเซ เช เชจเซเชฐเซเชช เชตเชฟเชกเชฟเช เชเซเช เชถเชเซ เชเซ:
3) CLI เชตเชฟเชจเซเชกเซ เชเซเชฒเซเชจเซ SmartConsole เชฆเซเชตเชพเชฐเชพ
เชคเชฎเชพเชฐเซ เชซเชเซเชค เชตเชฟเชจเซเชกเซ เชเซเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ CLI เชธเซเชงเชพ เชฅเซ เชธเซเชฎเชพเชฐเซเชเชเซเชจเซเชธเซเชฒ, เชจเซเชเซ เชเชฟเชคเซเชฐเชฎเชพเช เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ.
เช เชตเชฟเชเชกเซเชฎเชพเช, เชคเชฎเซ เชคเชฐเชค เช API เชเชฆเซเชถเซ เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ.
4) เชตเซเชฌ เชธเซเชตเชพเช. HTTPS เชชเซเชธเซเช เชตเชฟเชจเชเชคเซ (REST API) เชจเซ เชเชชเชฏเซเช เชเชฐเซ
เช เชฎเชพเชฐเชพ เชฎเชคเซ, เช เชเช เชธเซเชฅเซ เชเชถเชพเชธเซเชชเชฆ เชชเชฆเซเชงเชคเชฟเช เชเซ, เชเชพเชฐเชฃ เชเซ เชจเชพ เชเชงเชพเชฐเซ เชคเชฎเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเชชเซเชฒเชฟเชเซเชถเชจเซ "เชฌเชฟเชฒเซเชก" เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐ เชฎเซเชจเซเชเชฎเซเชจเซเช (เชเซเชเซเชฒเซเชเซ เชฎเชพเชเซ เชฎเชพเชซ เชเชฐเชถเซ). เชจเซเชเซ เชเชชเชฃเซ เช เชชเชฆเซเชงเชคเชฟเชจเซ เชฅเซเชกเซ เชตเชงเซ เชตเชฟเชเชคเชฎเชพเช เชเซเชเชถเซเช.
เชธเชพเชฐเชพเชเชถ เชฎเชพเชเซ:
- API + cli เชธเชฟเชธเซเชเซ เชฎเชพเชเซ เชเซเชตเชพเชฏเซเชฒเชพ เชฒเซเชเซ เชฎเชพเชเซ เชตเชงเซ เชฏเซเชเซเชฏ;
- API + เชถเซเชฒ เชธเซเชเซเชฐเชฟเชชเซเชเซ เชฒเชพเชเซ เชเชฐเชตเชพ เช เชจเซ เชจเชฟเชฏเชฎเชฟเชค เชเชพเชฐเซเชฏเซ เชเชฐเชตเชพ เชฎเชพเชเซ;
- REST API เชเชเซเชฎเซเชถเชจ เชฎเชพเชเซ.
API เชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, API 4GB เชฅเซ เชตเชงเซ RAM เชธเชพเชฅเซ เช เชจเซ 8GB เชฅเซ เชตเชงเซ RAM เชธเชพเชฅเซ เชธเซเชเซเชจเซเชกเช เชฒเซเชจ เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ เชธเชพเชฅเซ เชฎเซเชจเซเชเชฎเซเชจเซเช เชธเชฐเซเชตเชฐเซเชธ เชชเชฐ เชธเชเซเชทเชฎ เชเซ. เชคเชฎเซ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชฅเชฟเชคเชฟ เชเชเชพเชธเซ เชถเชเซ เชเซ: api เชธเซเชฅเชฟเชคเชฟ
เชเซ เชคเซ เชคเชพเชฐเชฃ เชเชชเซ เชเซ เชเซ api เช เชเซเชทเชฎ เชเซ, เชคเซ เชคเซเชจเซ SmartConsole เชฆเซเชตเชพเชฐเชพ เชธเชเซเชทเชฎ เชเชฐเชตเซเช เชเชเชฆเชฎ เชธเชฐเชณ เชเซ: เชฎเซเชจเซเช เชเชฐเซ เช เชจเซ เชธเซเชเชฟเชเชเซเชธ > เชฌเซเชฒเซเชก > เชฎเซเชจเซเชเชฎเซเชจเซเช API > เชเชกเชตเชพเชจเซเชธ เชธเซเชเชฟเชเชเซเชธ
เชชเชเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซ (เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซ) เชฌเชฆเชฒเซ เช
เชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ api เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ.
เชตเซเชฌ เชตเชฟเชจเชเชคเซเช + เชชเชพเชฏเชฅเซเชจ
API เชเชฆเซเชถเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชตเซเชฌ เชตเชฟเชจเชเชคเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ เชชเชพเชฏเชฅเซเชจ เช เชจเซ เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชตเชฟเชจเชเชคเซเช, JSON. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชตเซเชฌ เชตเชฟเชจเชเชคเซเชจเซ เชฐเชเชจเชพเชฎเชพเช เชคเซเชฐเชฃ เชญเชพเชเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ:
1)เชธเชฐเชจเชพเชฎเซเช
(https://<managemenet server>:<port>/web_api/<command>)
2) HTTP เชนเซเชกเชฐเซ
content-Type: application/json
x-chkp-sid: <session ID token as returned by the login command>
3) เชชเซเชฒเซเชกเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ
JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชเซเชเซเชธเซเช เชเซเชฎเชพเช เชตเชฟเชตเชฟเชง เชชเชฐเชฟเชฎเชพเชฃเซ เชเซ
เชตเชฟเชตเชฟเชง เชเชฆเซเชถเซเชจเซ เชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
def api_call(ip_addr, port, command, json_payload, sid):
url = 'https://' + ip_addr + ':' + str(port) + '/web_api/' + command
if sid == โโ:
request_headers = {'Content-Type' : 'application/json'}
else:
request_headers = {'Content-Type' : 'application/json', 'X-chkp-sid' : sid}
r = requests.post(url,data=json.dumps(json_payload), headers=request_headers,verify=False)
return r.json()
'xxx.xxx.xxx.xxx' -> Ip address GAIA
เชเซเช เชชเซเชเชจเซเชเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชคเซ เชตเชเชคเซ เชคเชฎเซ เชฎเซเชเชพเชญเชพเชเซ เช เชจเซเชญเชตเซ เชเซ เชคเซ เช เชนเซเช เชเซเชเชฒเชพเช เชฒเชพเชเซเชทเชฃเชฟเช เชเชพเชฐเซเชฏเซ เชเซ.
1) เช เชงเชฟเชเซเชคเชคเชพ เช เชจเซ เชฒเซเชเชเชเช เชเชพเชฐเซเชฏเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
เชธเซเชเซเชฐเชฟเชชเซเช
payload = {โuserโ: โyour_userโ, โpasswordโ : โyour_passwordโ}
response = api_call('xxx.xxx.xxx.xxx', 443, 'login',payload, '')
return response["sid"]
response = api_call('xxx.xxx.xxx.xxx', 443,'logout', {} ,sid)
return response["message"]
2) เชฌเซเชฒเซเชก เชเชพเชฒเซ เชเชฐเชตเซเช เช เชจเซ เชจเซเชเชตเชฐเซเช เชธเซเช เชเชฐเชตเซเช:
เชธเซเชเซเชฐเชฟเชชเซเช
new_gateway_data = {'name':'CPGleb','anti-bot':True,'anti-virus' : True,'application-control':True,'ips':True,'url-filtering':True,'interfaces':
[{'name':"eth0",'topology':'external','ipv4-address': 'xxx.xxx.xxx.xxx',"ipv4-network-mask": "255.255.255.0"},
{'name':"eth1",'topology':'internal','ipv4-address': 'xxx.xxx.xxx.xxx',"ipv4-network-mask": "255.255.255.0"}]}
new_gateway_result = api_call('xxx.xxx.xxx.xxx', 443,'set-simple-gateway', new_gateway_data ,sid)
print(json.dumps(new_gateway_result))
3) เชซเชพเชฏเชฐเชตเซเชฒ เชจเชฟเชฏเชฎเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ:
เชธเซเชเซเชฐเชฟเชชเซเช
new_access_data={'name':'Cleanup rule','layer':'Network','action':'Accept'}
new_access_result = api_call('xxx.xxx.xxx.xxx', 443,'set-access-rule', new_access_data ,sid)
print(json.dumps(new_access_result))
4) เชเชชเซเชฒเชฟเชเซเชถเชจ เชธเซเชคเชฐ เชเชฎเซเชฐเชตเซเช:
เชธเซเชเซเชฐเชฟเชชเซเช
add_access_layer_application={ 'name' : 'application123',"applications-and-url-filtering" : True,"firewall" : False}
add_access_layer_application_result = api_call('xxx.xxx.xxx.xxx', 443,'add-access-layer', add_access_layer_application ,sid)
print(json.dumps(add_access_layer_application_result))
set_package_layer={"name" : "Standard","access":True,"access-layers" : {"add" : [ { "name" : "application123","position" :2}]} ,"installation-targets" : "CPGleb"}
set_package_layer_result = api_call('xxx.xxx.xxx.xxx', 443,'set-package', set_package_layer ,sid)
print(json.dumps(set_package_layer_result))
5) เชชเซเชฒเชฟเชธเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซ เช เชจเซ เชธเซเช เชเชฐเซ, เชเชฆเซเชถเชจเซ เช เชฎเชฒ เชคเชชเชพเชธเซ (เชเชพเชธเซเช-เชเชเชกเซ):
เชธเซเชเซเชฐเชฟเชชเซเช
publish_result = api_call('xxx.xxx.xxx.xxx', 443,"publish", {},sid)
print("publish result: " + json.dumps(publish_result))
new_policy = {'policy-package':'Standard','access':True,'targets':['CPGleb']}
new_policy_result = api_call('xxx.xxx.xxx.xxx', 443,'install-policy', new_policy ,sid)
print(json.dumps(new_policy_result)
task_id=(json.dumps(new_policy_result ["task-id"]))
len_str=len(task_id)
task_id=task_id[1:(len_str-1)]
show_task_id ={'task-id':(task_id)}
show_task=api_call('xxx.xxx.xxx.xxx',443,'show-task',show_task_id,sid)
print(json.dumps(show_task))
6) เชฏเชเชฎเชพเชจ เชเชฎเซเชฐเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
new_host_data = {'name':'JohnDoePc', 'ip-address': '192.168.0.10'}
new_host_result = api_call('xxx.xxx.xxx.xxx', 443,'add-host', new_host_data ,sid)
print(json.dumps(new_host_result))
7) เชงเชฎเชเซ เชจเชฟเชตเชพเชฐเชฃ เชเซเชทเซเชคเซเชฐ เชเชฎเซเชฐเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
set_package_layer={'name':'Standard','threat-prevention' :True,'installation-targets':'CPGleb'}
set_package_layer_result = api_call('xxx.xxx.xxx.xxx', 443,'set-package',set_package_layer,sid)
print(json.dumps(set_package_layer_result))
8) เชธเชคเซเชฐเซเชจเซ เชฏเชพเชฆเซ เชเซเช
เชธเซเชเซเชฐเชฟเชชเซเช
new_session_data = {'limit':'50', 'offset':'0','details-level' : 'standard'}
new_session_result = api_call('xxx.xxx.xxx.xxx', 443,'show-sessions', new_session_data ,sid)
print(json.dumps(new_session_result))
9) เชจเชตเซ เชชเซเชฐเซเชซเชพเชเชฒ เชฌเชจเชพเชตเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
add_threat_profile={'name':'Apeiron', "active-protections-performance-impact" : "low","active-protections-severity" : "low or above","confidence-level-medium" : "prevent",
"confidence-level-high" : "prevent", "threat-emulation" : True,"anti-virus" : True,"anti-bot" : True,"ips" : True,
"ips-settings" : { "newly-updated-protections" : "staging","exclude-protection-with-performance-impact" : True,"exclude-protection-with-performance-impact-mode" : "High or lower"},
"overrides" : [ {"protection" : "3Com Network Supervisor Directory Traversal","capture-packets" : True,"action" : "Prevent","track" : "Log"},
{"protection" : "7-Zip ARJ Archive Handling Buffer Overflow", "capture-packets" : True,"action" : "Prevent","track" : "Log"} ]}
add_threat_profile_result=api_call('xxx.xxx.xxx.xxx',443,'add-threat-profile',add_threat_profile,sid)
print(json.dumps(add_threat_profile_result))
10) IPS เชธเชนเซ เชฎเชพเชเซ เชเซเชฐเชฟเชฏเชพ เชฌเชฆเชฒเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
set_threat_protection={
"name" : "3Com Network Supervisor Directory Traversal",
"overrides" : [{ "profile" : "Apeiron","action" : "Detect","track" : "Log","capture-packets" : True},
{ "profile" : "Apeiron", "action" : "Detect", "track" : "Log", "capture-packets" : False} ]}
set_threat_protection_result=api_call('xxx.xxx.xxx.xxx',443,'set-threat-protection',set_threat_protection,sid)
print(json.dumps(set_threat_protection_result))
11) เชคเชฎเชพเชฐเซ เชธเซเชตเชพ เชเชฎเซเชฐเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
add_service_udp={ "name" : "Dota2_udp", "port" : '27000-27030',
"keep-connections-open-after-policy-installation" : False,
"session-timeout" : 0, "match-for-any" : True,
"sync-connections-on-cluster" : True,
"aggressive-aging" : {"enable" : True, "timeout" : 360,"use-default-timeout" : False },
"accept-replies" : False}
add_service_udp_results=api_call('xxx.xxx.xxx.xxx',443,"add-service-udp",add_service_udp,sid)
print(json.dumps(add_service_udp_results))
12) เชถเซเชฐเซเชฃเซ, เชธเชพเชเช เช เชฅเชตเชพ เชเซเชฅ เชเชฎเซเชฐเซ:
เชธเซเชเซเชฐเชฟเชชเซเช
add_application_site_category={ "name" : "Valve","description" : "Valve Games"}
add_application_site_category_results=api_call('xxx.xxx.xxx.xxx',443,"add-application-site-category",add_application_site_category,sid)
print(json.dumps(add_application_site_category_results))
add_application_site={ "name" : "Dota2", "primary-category" : "Valve", "description" : "Dotka",
"url-list" : [ "www.dota2.ru" ], "urls-defined-as-regular-expression" : False}
add_application_site_results=api_call('xxx.xxx.xxx.xxx',443,"add-application-site " ,
add_application_site , sid)
print(json.dumps(add_application_site_results))
add_application_site_group={"name" : "Games","members" : [ "Dota2"]}
add_application_site_group_results=api_call('xxx.xxx.xxx.xxx',443,"add-application-site-group",add_application_site_group,sid)
print(json.dumps(add_application_site_group_results))
เชตเชงเซเชฎเชพเช, เชฎเชฆเชฆ เชธเชพเชฅเซ เชตเซเชฌ API เชคเชฎเซ เชจเซเชเชตเชฐเซเช, เชนเซเชธเซเช, เชเชเซเชธเซเชธ เชฐเซเชฒ เชตเชเซเชฐเซ เชเชฎเซเชฐเซ เช
เชจเซ เชฆเซเชฐ เชเชฐเซ เชถเชเซ เชเซ. เชฌเซเชฒเซเชก เชเชธเซเชเชฎเชพเชเช เชเชฐเซ เชถเชเชพเชฏ เชเซ เชเชจเซเชเชฟเชตเชพเชฏเชฐเชธ, เชเชจเซเชเชฟเชฌเซเช, เชเชเชชเซเชเชธ, เชตเซเชชเซเชเชจ. เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฒเชพเชเชธเชจเซเชธ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซเช เชชเชฃ เชถเชเซเชฏ เชเซ เชฐเชจ-เชธเซเชเซเชฐเซเชชเซเช. เชฌเชงเชพ เชเซเช เชชเซเชเชจเซเช API เชเชฆเซเชถเซ เช
เชนเซเช เชฎเชณเซ เชถเชเซ เชเซ
เชชเซเชเชจเซเช API + เชชเซเชธเซเชเชฎเซเชจ เชคเชชเชพเชธเซ
เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ เชชเชฃ เช
เชจเซเชเซเชณ เชชเซเชเชจเซเช เชตเซเชฌ API เชคเชชเชพเชธเซ เชธเชพเชฅเซ เชเซเชกเชพเชฃเชฎเชพเช
เช เชฏเซเชเชฟเชฒเชฟเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช
เชฎเซ เชเซเช เชชเซเชเชจเซเช API เชชเชฐ เชตเซเชฌ เชตเชฟเชจเชเชคเซเช เชเชจเชฐเซเช เชเชฐเซ เชถเชเซเชถเซเช. เชฌเชงเชพ API เชเชฆเซเชถเซเชจเซ เชฏเชพเชฆ เชจ เชฐเชพเชเชตเชพ เชฎเชพเชเซ, เชเชนเซเชตเชพเชคเชพ เชธเชเชเซเชฐเชนเซ (เชเซเชฎเซเชชเซเชฒเซเชเซเชธ) เชเชฏเชพเชค เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชเซ, เชเซเชฎเชพเช เชชเชนเซเชฒเชพเชฅเซ เช เชคเชฎเชพเชฎ เชเชฐเซเชฐเซ เชเชฆเซเชถเซ เชเซ:
เชฎเชพเชฐเชพ เชฎเชคเซ, เช เชเซเชฌ เช
เชจเซเชเซเชณ เชเซ. เชคเชฎเซ เชเซเช เชชเซเชเชจเซเช API เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชกเชชเชฅเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชตเชฟเชเชธเชพเชตเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ.
เชเซเช เชชเซเชเชจเซเช + เชเชตเชพเชฌเซเชฌเชฒ
เชนเซเช เช เชชเชฃ เชจเซเชเชงเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชคเซเชฏเชพเช เชเซ Ansible
เชจเชฟเชทเซเชเชฐเซเชท
เช เชคเซ เชเซ เชเซเชฏเชพเช เช เชฎเซ เชธเชเชญเชตเชคเช เชเซเช เชชเซเชเชจเซเช API เชจเซ เช เชฎเชพเชฐเซ เชเซเชเชเซ เชธเชฎเซเชเซเชทเชพ เชธเชฎเชพเชชเซเชค เชเชฐเซเชถเซเช. เชฎเชพเชฐเชพ เชฎเชคเซ, เช เชธเซเชตเชฟเชงเชพ เชเซเชฌ เช เชฒเชพเชเชฌเชพ เชธเชฎเชฏเชฅเซ เชฐเชพเชน เชเซเชตเชพเชคเซ เช เชจเซ เชเชฐเซเชฐเซ เชนเชคเซ. API เชจเชพ เชเชฆเชญเชตเชฅเซ เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเซเชธ เช เชจเซ เชธเชฟเชธเซเชเชฎ เชเชจเซเชเชฟเชเซเชฐเซเชเชฐเซเชธ เชฌเชเชจเซ เชฎเชพเชเซ เชเซเชฌ เช เชตเซเชฏเชพเชชเช เชคเชเซ เชเซเชฒเซ เชเซ เชเซเช เชเซเช เชชเซเชเชจเซเช เชชเซเชฐเซเชกเชเซเชเซเชธ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ. เชเชฐเซเชเซเชธเซเชเซเชฐเซเชถเชจ, เชเชเซเชฎเซเชถเชจ, SIEM เชชเซเชฐเชคเชฟเชธเชพเชฆ... เช เชฌเชงเซเช เชนเชตเซ เชถเชเซเชฏ เชเซ.
เชชเซ.เชเชธ. เชตเชฟเชถเซ เชตเชงเซ เชฒเซเชเซ
P.S.S. เชเซเช เชชเซเชเชจเซเช เชธเซเช เชเชฐเชตเชพ เชธเชเชฌเชเชงเชฟเชค เชคเชเชจเซเชเซ เชชเซเชฐเชถเซเชจเซ เชฎเชพเชเซ, เชคเชฎเซ เชเชฐเซ เชถเชเซ เชเซ
เชซเชเซเชค เชจเซเชเชงเชพเชฏเซเชฒเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เช เชธเชฐเซเชตเซเชฎเชพเช เชญเชพเช เชฒเช เชถเชเซ เชเซ.
เชถเซเช เชคเชฎเซ API เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชตเชฟเชเชพเชฐเซ เชฐเชนเซเชฏเชพ เชเซ?
-
70,6%เชนเชพ 12
-
23,5%เชจเชเชฌเชฐ 4
-
5,9%เชชเชนเซเชฒเซเชฅเซ เช 1 เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชฐเชนเซเชฏเชพเช เชเซ
17 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเช เชฎเชค โโเชเชชเซเชฏเซ. 3 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฆเซเชฐ เชฐเชนเซเชฏเชพ.
เชธเซเชฐเซเชธ: www.habr.com