áá±áá»á¬áá¬ááá±á¬á· áá°áá²á·ááœá²áá°ážáá°ááá¯ááºážáá«áá²á
"á¡á¶á·ááœááºá¡ááŸá¯áá»á¬áž" ááẠáááŒá¬áá±ážáá®á ááŒá áºááœá¬ážáá²á·áááºá áá¬ážááŸááºážá¡áá áºááœááºááŸááá¬áá«ááŒá®á Gaia R80 á¡ááœáá·áºá¡áááºážááá¯ááŒá±ááŒá¬áá²á·áááºá API á¡áá¯á¶ážááŒá¯ááŸá¯á¡ááá¯á¡áá»á±á¬ááºáááºáááºáá»á¬ážá á á®áá¶ááá·áºááœá²ááŒááºážá á á±á¬áá·áºááŒáá·áºááŒááºážá áááºáá»á¬ážá¡ááœáẠáá»ááºááŒáá·áºáá±á¬á¡ááœáá·áºá¡áááºážáá»á¬ážááá¯ááœáá·áºáá±ážáááºá ááᯠáááºáá¯ááºááá¯ááºáááº-
- á¡áá¬ááá¹áá¯áá»á¬ážááá¯áááºáá®áž;
- áááºáá±á¬ááºááœáá·áºá á¬áááºážáá»á¬ážááᯠááá·áºáá« ááá¯á·ááá¯áẠáááºážááŒááºáá«á
- áá¬ážááœá¬ážáá»á¬ážááᯠááœáá·áº/ááááºá
- ááœááºáááºá¡ááºáá¬áá±á·á áºáá»á¬ážááᯠá á®á ááºáááºááŸááºááŒááºážá
- áá°áá«ááá»á¬áž ááá·áºááœááºážáááºá
- ááŒá®ážá¡áá»á¬ážááŒá®ážááá¯á
ááá¯ážááá¯ážáá¬ážáá¬ážááŒá±á¬áááẠáá®ááááºážááᯠHabr á áááºááá¯ááŒááºááœá¬ážáá²ááá¯áᬠáá«áá¬ážááááºáá°ážá á€áá±á¬ááºážáá«ážááœáẠAPI ááá¯á¡áá¯á¶ážááŒá¯áááºážááᯠá¡ááá¯áá»á¯á¶ážáá±á¬áºááŒááŒá®áž áááºááœá±á·áá»áá±á¬ á¥ááá¬áá»á¬ážá
áœá¬ááᯠáá±ážáá«áááºá Scripts áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á CheckPoint áááºáááºáá»á¬áž.
API ááᯠá á®áá¶ááá·áºááœá²ááŸá¯áá¬áá¬á¡ááœááºáᬠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºáž áá»ááºáá»ááºážááŒáá¯áááºááŸá¬áá°ááá¯áá«áááºá á¡á²áá«ááœá±á Management server ááá«áá² gateway áá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááẠáááŒá áºááá¯ááºáá±ážáá«á
ဠAPI ááᯠáááºáá°á áá°á¡á áá¯á¶ážááá¯ááºááááºážá
- áá¯á¶ááŸáẠCheck Point ááœá²á·á ááºážááŸá¯ááá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááá¯ážááŸááºážá¡á±á¬áẠááá¯á·ááá¯áẠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯áá±á¬ á áá áºá á®áá¶ááá·áºááœá²áá°áá»á¬ážá
- Check Point ááᯠá¡ááŒá¬ážáá±á¬ ááŒá±ááŸááºážáááºážáá»á¬ážááŸáá·áº áá±á«ááºážá ááºááá¯áá±á¬ áá¯áá¹ááá®áá»á¬áž (virtualization á áá áºáá»á¬ážá áááºááŸááºá áá áºáá»á¬ážá ááœá²á·á ááºážááŸá¯ááá¯ááºáᬠá á®áá¶ááá·áºááœá²ááŸá¯á áá áºáá»á¬áž á áááºááŒáá·áº)á
- áááºáááºáá»á¬ážááᯠá á¶áááºááŸááºááá¯áá±á¬ ááá¯á·ááá¯áẠáá±á¬ááºááẠCheck Point ááá¯ááºáᬠáá¯ááºáá¯ááºáá»á¬ážááᯠáááºáá®ážááá¯áá±á¬ á áá áºáá±á«ááºážá ááºážáá°áá»á¬ážá
ááá¯ážááá¯ážá¡á á®á¡á á¥áº
ááá¯á·ááŒá±á¬áá·áº Check Point ááŒáá·áº áá¯á¶ááŸááºá¡á á®á¡á á¥áºááᯠá áááºáá°ážááŒáá·áºááŒáá«á áá¯á·á
áá¯á¶ážá
á¶á¡ááá¯ááºáž áá»áœááºáá±á¬áºááá¯á·ááŸá¬ áá¶áá«ážáá±á«áẠ(SG), á
á®áá¶ááá·áºááœá²ááŸá¯áá¬áᬠ(á
á¬ááá¯) ááŸáá·áº admin console (SmartConsole) á€ááá
á¹á
ááœááºá áá¯á¶ááŸáẠgateway configuration áá¯ááºáááºážá
ááºááẠá€áá²á·ááá¯á· ááŒá
áºáá¯á¶ááááºá
á¡á²áá«ááœá±á ááááŠážá
áœá¬áááºá
á®áá¶ááá·áºááœá²áá°áááœááºáá»á°áá¬áá±á«áºááœáẠrun ááá¯á·ááá¯á¡ááºáá«áááºá SmartConsoleá
á®áá¶ááá·áºááœá²ááŸá¯áá¬áá¬ááá¯á· áá»áááºáááºáá±ážáá±á¬áá
á¬ááá¯) áá¯á¶ááŒá¯á¶áá±ážáááºáááºáá»á¬ážááᯠSMS ááœáẠááŒá¯áá¯ááºáá¬ážááŒá®ážááŸáᬠá¡áá¯á¶ážááŒá¯ááá¯ááºááẠ(ááá·áºááœááºážáá°áá«á) áá¶áá«ážáá±á«áẠ(SG).
á¡áá¯á¶ážááŒá¯ááŒááºáž á á®áá¶ááá·áºááœá²ááŸá¯ APIáá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±áá¶á¡á¬ážááŒáá·áº áááá¡áá»áẠ(SmartConsole) ááá¯ááœáá·áºááŒá®áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá API á¡áááá·áºáá»á¬áž á á®áá¶ááá·áºááœá²ááŸá¯áá¬áᬠ(SMS) ááá¯á· ááá¯ááºááá¯ááºá
API ááá¯á¡áá¯á¶ážááŒá¯áááºážáá»á¬áž
API ááá¯á¡áá¯á¶ážááŒá¯á configuration ááá¯áááºážááŒááºááẠá¡ááááááºážáááºáž áá±ážáá¯ááŸááááºá
1) mgmt_cli utility ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá
á¥ááá¬- # mgmt_cli áááºáá¶áá°á¡ááẠhost1 ip-address 192.168.2.100 ááá·áºáá«
á€á¡áááá·áºááᯠManagement Server (SMS) command line á០áá¯ááºáá±á¬ááºáá«áááºá command á syntax ááẠááŸááºážáááºážáááºáᯠáááºáá«ááẠ- host1 ááᯠaddress 192.168.2.100 ááŒáá·áº áááºáá®ážáá¬ážáááºá
2) clish (áá»áœááºážáá»ááºáá°áá¯ááºááœááº) ááŸáááá·áº API ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááá¯ááá·áºáá«á
á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá áááºáá¯ááºáááºááá¯á¡ááºáááºááŸá¬ command line ááá¯á·áááºáá±á¬ááºáááºááŒá áºááẠ(mgmt á¡áá±á¬áá·áºáááºáá«áSmartConsole (ááá¯á·ááá¯áẠroot á¡áá±á¬áá·áº) ááŸáááá·áºáá»áááºáááºáá±á¬á¡áá«ááœááºá¡áá¯á¶ážááŒá¯áá±á¬á¡áá±á¬áá·áºá¡á±á¬ááºááœááº) á ááŒá®ážááẠáááºááá¯á·ááá«áááºá API á¡áááá·áºáá»á¬áž (á€á¡ááŒá±á¡áá±ááœáẠcommand áá áºáá¯á á®áááá¯ááºáá® utility ááá¯á¡áá¯á¶ážááŒá¯áááºáááá¯á¡ááºáá«á mgmt_cli) ááŒá®ážááŒáá·áºá á¯á¶á¡á±á¬áẠáááºáá®ážááá¯ááºáá«áááºá BASH áá¬ááºááœáŸááºážáá»á¬áž. á¡áááºááŸááºáááºáá®ážáá±á¬ script áá áºáá¯á á¥ááá¬-
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 window ááá¯ááœáá·áºááŒááºážááŒáá·áº SmartConsole ááŸáááá·áº
áááºáá¯ááºáááºááá¯á¡ááºáááºááŸá¬ window ááá¯ááœáá·áºáá«á CLI á០ááá·áºááá·áº SmartConsoleá¡á±á¬ááºáá«áá¯á¶ááœááºááŒáá¬ážááá·áºá¡ááá¯ááºážá
á€áááºážááá¯ážááœááºá áááºááẠAPI ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá»ááºáá»ááºážáááºáá±á¬ááºááá¯ááºáááºá
4) áááºáááºáá±á¬ááºááŸá¯áá»á¬ážá HTTPS Post áá±á¬ááºážááá¯áá»ááºááᯠáá¯á¶ážáá« (REST API)
áá»áœááºá¯ááºááá¯á·áá¡ááŒááºááœááºá á€áááºááŸá¬á¡áá¬ážá¡áá¬á¡áá±á¬ááºážáá¯á¶ážáááºážáááºážáá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá á¡ááá®áá±ážááŸááºážáá áºáá¯áá¯á¶ážááᯠá¡ááŒá±áá¶á "áááºáá±á¬ááºáááº" ááœáá·áºááŒá¯áááºá á á®áá¶ááá·áºááœá²ááŸá¯áá¬áá¬á á®áá¶ááá·áºááœá²ááŸá¯ (á¡áááºááá¬á¡ááœáẠáá±á¬ááºážáááºáá«áááº)á á¡á±á¬ááºááŸá¬ áá®áááºážáááºážáá±ážááᯠá¡áá±ážá ááẠáá±á·áá¬ááŒáá·áºáá«áááºá
á¡ááŸá áºáá»á¯ááºáááº-
- API + cli Cisco ááá¯á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠááá¯ááá¯ááá·áºáá»á±á¬áºáá«áááºá
- API + shell scripts áá»á¬ážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŸáá·áº áá¯á¶ááŸááºá¡áá¯ááºáá»á¬ážááá¯áá¯ááºáá±á¬ááºááŒááºážá¡ááœááºá
- REST API ááᯠá¡ááá¯á¡áá»á±á¬ááºá áá áºá¡ááœááºá
API ááá¯ááœáá·áºááŒááºážá
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá 4GB RAM áááºááá¯áá±á¬ RAM ááŸáá·áº 8GB RAM áááºááá¯áá±á¬ áá®ážááŒá¬ážááœá²á·á ááºážáá¯á¶áá»á¬ážáá«ááŸááá±á¬ á á®áá¶ááá·áºááœá²ááŸá¯áá¬áá¬áá»á¬ážááœáẠAPI ááᯠááœáá·áºáá¬ážáááºá command ááᯠá¡áá¯á¶ážááŒá¯á á¡ááŒá±á¡áá±ááᯠá á áºáá±ážááá¯ááºáááº- api á¡ááŒá±á¡áá±
api ááá¯ááááºáá¬ážáá«áá SmartConsole ááŸáááá·áºáááºážááá¯ááœáá·áºáááºá¡ááœááºááœááºáá°áááº- á á®áá¶ááá·áºááœá² & áááºáááºáá»á¬áž > Blades > á á®áá¶ááá·áºááœá²ááŸá¯ API > á¡ááá·áºááŒáá·áº áááºáááºáá»á¬áž
ááá¯á·áá±á¬áẠáá¯ááºáá±ááẠ(áá¯á¶ááŸáááºáá¯ááºáá±) ááŒá±á¬ááºážáá²ááŒá®áž command ááᯠrun áá«á api ááᯠrestart áá»ááá¯ááºáá«á.
áááºáá±á¬ááºážááá¯ááŸá¯áá»á¬áž + Python
API ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá áááºááẠáááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá Python ááᯠááŸáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬áž áá±á¬ááºážááá¯ááŸá¯áá»á¬áž, 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) payload áá±á¬ááºážááá¯áá«á
ááá°áá®áá±á¬ áá±á¬ááºáá»á¬ážáá«ááŸááá±á¬ JSON áá±á¬áºáááºááœáẠá á¬áá¬áž
á¡áá»áá¯ážáá»áá¯ážáá±á¬ command áá»á¬ážááá¯áá±á«áºááá¯ááŒááºážá¡ááœááºá¥ááá¬
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
á€áááºááŸá¬ Check Point ááᯠá á®áá¶ááá·áºááœá²áá¬ááœáẠáááºá¡áá»á¬ážáá¯á¶ážááŒá¯á¶ááœá±á·ááá±á·ááŸááá±á¬ á¡áá¯ááºá¡áá»áá¯á·ááŒá áºáááºá
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) Firewall á ááºážáá»ááºážáá»á¬ážááᯠááŒá±á¬ááºážáá²ááŒááºáž-
áá¬ááºááœáŸááºáž
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) áá°áá«áááᯠáá¯ááºáá±ááŒá®áž áááºááŸááºáá«á á¡áááá·áºáá±ážááŸá¯ (task-id) ááᯠá á áºáá±ážáá«-
áá¬ááºááœáŸááºáž
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))
áá±á¬ááºááŒá®áž á¡áá°á¡áá®áá²á· Web API ááᯠááœááºáááºáá»á¬ážá áááºáá¶áá±á¬ááºááœááºáá±ážáá°áá»á¬ážá áááºáá±á¬ááºáá¯á¶ážá
áœá²ááá¯ááºááá·áº á¡áááºážááá¹ááá»á¬áž á
áááºááá¯á·ááᯠáááºááá·áºááœááºážááá¯ááºááŒá®áž áááºááŸá¬ážááá¯ááºáááºá Blades áá»á¬ážááᯠá
áááºááŒáá¯ááºááŒá¯áá¯ááºááá¯ááºáá«áááºá Antivirusá Antibotá IPSá VPN. command ááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºá
ááºáá»á¬ážááᯠááá·áºááœááºážáááºááẠááŒá
áºááá¯ááºáááºá run-script. Check Point API ááœáŸááºááŒá¬ážáá»ááºá¡á¬ážáá¯á¶ážááᯠá€áá±áá¬ááœáẠááœá±á·ááá¯ááºáá«áááºá
á¡ááŸáẠAPI + á á¬ááá¯á·ááá¬ážááᯠá á áºáá±ážáá«á
áá¯á¶ážááá¬áááºáž á¡áááºááŒá±áááºá Check Point ááẠAPI ááŸáá·áº ááœá²áááº
á€á¡áá¯á¶ážá¡áá±á¬ááºááᯠá¡áá¯á¶ážááŒá¯á Check Point API ááá¯á· áááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá¯ááºáá±ážááá¯ááºáá«áááºá API command á¡á¬ážáá¯á¶ážááᯠáááŸááºááá
á±áááºá ááá¯á¡ááºáá±á¬ command áá»á¬ážá¡á¬ážáá¯á¶ážáá«ááŸáááŒá®ážááŒá
áºááá·áº collections (templates) áá¯áá±á«áºáá±á¬ áááºááœááºážááẠááŒá
áºááá¯ááºáááº-
áá»áœááºáá±á¬á·áºá¡ááŒááºá¡ááá±á¬á· áá«á á¡áááºážá¡áááºááŒá±áááºá Check Point API ááᯠá¡áá¯á¶ážááŒá¯á á¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáá»ááºááŒááºá
áœá¬ á
áááºáááºáá®ážááá¯ááºáá«áááºá
Check Point + Ansible
ááŸááá±ááŒá±á¬ááºážááá¯áááºáž áááááŒá¯á
á±ááá¯áá«áááºá ááŒááºáááá°áž
áá±á¬ááºáá»ááº
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·á Check Point API á á¡ááá¯áá»á¯á¶ážáá¯á¶ážáááºáá»ááºááᯠá¡ááŒá®ážáááºááá¯ááºáá«áááºá áá»áœááºá¯ááºáá¡ááŒááºá¡áá á€á¡ááºá¹áá«áááºáááºá¡ááœááºá á±á¬áá·áºááá¯ááºážáá²á·áááŒá®ážááá¯á¡ááºáááºá API áá±á«áºáá±á«ááºáá¬ááŒááºážááẠCheck Point áá¯ááºáá¯ááºáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáá±á¬ á áá áºá á®áá¶ááá·áºááœá²áá°áá»á¬ážááŸáá·áº á áá áºáá±á«ááºážá ááºážáá°áá»á¬ážá¡ááœáẠá¡ááœááºáá»ááºááŒáá·áºáá±á¬ á¡ááœáá·áºá¡áááºážáá»á¬ážááᯠááœáá·áºá á±áááºá Orchestrationá á¡ááá¯á¡áá»á±á¬ááºá áá áºá SIEM áá¯á¶á·ááŒááºáá»ááº... á¡á¬ážáá¯á¶ážááŒá áºááá¯ááºáá«ááŒá®á
PS á¡ááŒá±á¬ááºáž áá±á¬ááºáááºáá±á¬ááºážáá«ážáá»á¬áž
PSS Check Point ááᯠáááºááŸááºááŒááºážááŸáá·áº áááºáááºááá·áº áááºážááá¬ááá¯ááºáᬠáá±ážááœááºážáá»á¬ážá¡ááœáẠáááºááẠááŒá±ááá¯ááá¯ááºáá«áááºá
á
á¬áááºážááœááºážá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáᬠá
á
áºáááºážááœáẠáá«áááºááá¯ááºáá«áááºá
API ááᯠá¡áá¯á¶ážááŒá¯ááẠá á®á ááºáá±áá«ááá¬ážá
-
70,6%áá¯ááºáááº12
-
23,5%áá¶áá«áẠááá
-
5,9%1 áá¯á¶ážáá±ááŒá®
á¡áá¯á¶ážááŒá¯áá° ááá áŠáž áá²áá±ážáá²á·áááºá á¡áá¯á¶ážááŒá¯áá° 17 áŠáž ááŒá¬ážáá±áá²á·áá«áááºá
source: www.habr.com