
Tha mi cinnteach gu bheil a h-uile duine a tha air a bhith ag obair còmhla a-riamh , bha gearan air do-dhèanta an rèiteachadh a dheasachadh bhon loidhne-Ă ithne. Tha seo gu sònraichte neònach dhaibhsan a tha air a bhith ag obair le Cisco ASA roimhe seo, far am faodar a h-uile cĂ il a rèiteachadh anns an CLI. Le Check Point tha e an rathad eile - chaidh a h-uile suidheachadh tèarainteachd a dhèanamh a-mhĂ in bhon eadar-aghaidh grafaigeach. Ach, tha cuid de rudan gu tur mĂŹ-ghoireasach a dhèanamh tron ââââGUI (eadhon fear cho goireasach ri Check Point's). Mar eisimpleir, bidh an obair gus 100 neach-aoigheachd no lĂŹonra Ăšr a chuir ris aâ tionndadh gu bhith na phròiseas fada agus duilich. Airson gach nĂŹ feumaidh tu briogadh air an luchag grunn thursan agus cuir a-steach an seòladh IP. Tha an aon rud aâ dol airson a bhith aâ cruthachadh buidheann de lĂ raich no tomad comasachadh/comasachadh ainmean-sgrĂŹobhte IPS. Anns a 'chĂšis seo, tha Ă rd coltachd mearachd a dhèanamh.
Thachair âmĂŹorbhailâ an ĂŹre mhath o chionn ghoirid. Le foillseachadh an dreach Ăšr Gaia R80 chaidh an cothrom ainmeachadh Cleachdadh API, a tha aâ fosgladh chothroman farsaing airson suidheachaidhean fèin-ghluasadach, rianachd, sgrĂšdadh, msaa. A-nis faodaidh tu:
- nithean a chruthachadh;
- cuir ris no deasaich liostaichean ruigsinneachd;
- comas / cuir Ă comas lannan;
- rèiteachadh eadar-aghaidh lÏonra;
- poileasaidhean a stĂ ladh;
- agus mòran a bharrachd.
Gus a bhith onarach, chan eil mi aâ tuigsinn mar a chaidh an naidheachd seo seachad le Habr. San artaigil seo bheir sinn cunntas goirid air mar a chleachdas tu an API agus bheir sinn seachad grunn eisimpleirean practaigeach. Roghainnean CheckPoint aâ cleachdadh sgriobtaichean.
Bu mhath leam glèidheadh ââââsa bhad nach eil an API air a chleachdadh ach airson an fhrithealaiche Riaghlaidh. An fheadhainn sin. Tha e do-dhèanta fhathast geataichean a riaghladh Ă s aonais frithealaiche Riaghlaidh.
Cò as urrainn an API seo a chleachdadh ann am prionnsapal?
- Luchd-rianachd siostaim a tha airson gnÏomhan rèiteachaidh Check Point à bhaisteach a dhèanamh nas sÏmplidhe no fèin-ghluasadach;
- Companaidhean a tha airson Check Point fhilleadh a-steach le fuasglaidhean eile (siostaman virtualization, siostaman tiogaidean, siostaman riaghlaidh rèiteachaidh, msaa);
- Amaladairean siostaim a tha airson suidheachaidhean a dhèanamh à bhaisteach no toraidhean a bharrachd co-cheangailte ri Check Point a chruthachadh.
Sgeama Ă bhaisteach
Mar sin, smaoinichidh sinn air sgeama Ă bhaisteach le Check Point:

Mar is à bhaist tha geata againn (SG), frithealaiche riaghlaidh (SMS) agus consòil rianachd (Console Smart). Anns a 'chÚis seo, tha am pròiseas rèiteachaidh geata à bhaisteach a' coimhead mar seo:

An fheadhainn sin. An toiseach feumaidh tu ruith air coimpiutair an rianadair Console Smart, leis am bi sinn aâ ceangal ris an t-seirbheisiche Riaghlaidh (SMS). Tha roghainnean tèarainteachd air an dèanamh air an SMS, agus dĂŹreach an uairsin air an cur an sĂ s (poileasaidh a stĂ ladh) gu geata (SG).
Nuair a bhios tu a 'cleachdadh API riaghlaidh, is urrainn dhuinn gu bunaiteach leum air aâ chiad phuing (cuir air bhog SmartConsole) agus cleachdadh Ărdughan API gu dĂŹreach chun t-seirbheisiche riaghlaidh (SMS).
Dòighean air an API a chleachdadh
Tha ceithir prĂŹomh dhòighean ann air an rèiteachadh a dheasachadh aâ cleachdadh an API:
1) Aâ cleachdadh aâ ghoireas mgmt_cli
Eisimpleir - # mgmt_cli cuir ainm aoigheachd aoigheachd1 ip-seòladh 192.168.2.100
Tha an à ithne seo air a ruith bhon loidhne-à ithne Management Server (SMS). Tha mi a 'smaoineachadh gu bheil co-chòrdadh na h-à ithne soilleir - tha host1 air a chruthachadh leis an t-seòladh 192.168.2.100.
2) Cuir a-steach òrdughan API tro clish (ann am modh eòlaiche)
Gu bunaiteach, chan eil agad ach logadh a-steach don loidhne-Ă ithne (mgmt logadh a-steach) fon chunntas a thathas aâ cleachdadh nuair a nĂŹ thu ceangal tro SmartConsole (no cunntas freumh). An uairsin faodaidh tu a dhol a-steach Ărdughan API (anns aâ chĂšis seo chan eil feum air aâ ghoireas a chleachdadh ro gach Ă ithne mgmt_cli). Faodaidh tu a chruthachadh lĂ n-chuimseach Sgriobtaichean BASH. Eisimpleir de sgriobt a bhios an t-òstair a 'cruthachadh:
sgriobt 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
Ma tha Ăšidh agad, faodaidh tu coimhead air aâ bhidio iomchaidh:

3) Tro SmartConsole le bhith a 'fosgladh uinneag CLI
Chan eil agad ach an uinneag fhosgladh CLI dĂŹreach bho Console Smart, mar a chithear san dealbh gu h-ĂŹosal.

Anns an uinneag seo, faodaidh tu tòiseachadh sa bhad air òrdughan API a chuir a-steach.
4) Seirbheisean LĂŹn. Cleachd iarrtas Post HTTPS (REST API)
Nar beachd-sa, is e seo aon de na dòighean as gealltanach, oir aâ leigeil leat âaplacaidean slĂ n a thogailâ stèidhichte air riaghladh frithealaiche stiĂširidh (duilich airson an tautology). Gu h-ĂŹosal bheir sinn sĂšil nas mionaidiche air an dòigh seo.
Airson geĂ rr-chunntas:
- API+ cli nas freagarraiche dha daoine a tha cleachdte ri Cisco;
- API + slige airson sgriobtaichean a chur an sĂ s agus gnĂŹomhan Ă bhaisteach a choileanadh;
- CĂRR API airson fèin-ghluasad.
A 'comasachadh an API
Gu gnĂ thach, tha an API air a chomasachadh air frithealaichean riaghlaidh le barrachd air 4GB de RAM agus rèiteachadh leotha fhèin le barrachd air 8GB de RAM. Faodaidh tu sgrĂšdadh a dhèanamh air an inbhe aâ cleachdadh an Ă ithne: inbhe api
Ma thionndaidh e a-mach gu bheil an api ciorramach, tha e gu math furasta a chomasachadh tro SmartConsole: StiĂširich & roghainnean> lannan> API riaghlaidh> roghainnean adhartach

An uairsin foillsich (Foillsich) atharraich agus ruith an à ithne ath-thòiseachadh api.
Iarrtasan lĂŹn + Python
Gus òrdughan API a chuir an gnĂŹomh, faodaidh tu iarrtasan lĂŹn a chleachdadh aâ cleachdadh Python agus leabharlannan iarrtasan, json. San fharsaingeachd, tha trĂŹ pĂ irtean ann an structar iarrtas lĂŹn:
1) Seòladh
(https://<managemenet server>:<port>/web_api/<command>)
2) Cinn-cinn HTTP
content-Type: application/json
x-chkp-sid: <session ID token as returned by the login command>
3) Iarrtas pĂ ighidh pĂ ighidh
Teacs ann an cruth JSON anns a bheil na diofar pharaimearan
Eisimpleir airson diofar òrdughan a ghairm:
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
Seo cuid de na gnĂŹomhan Ă bhaisteach a choinnicheas tu gu tric nuair a bhios tu aâ rianachd Check Point.
1) Eisimpleir de dhleastanasan Ăšghdarrachaidh is suaicheantais:
Sgriobt
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) Tionndaidh air na lannan agus stèidheachadh an lÏonra:
Sgriobt
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) Ag atharrachadh riaghailtean balla-teine:
Sgriobt
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) Aâ cur ĂŹre tagraidh ris:
Sgriobt
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) Foillsich agus suidhich am poileasaidh, thoir sĂšil air coileanadh na h-Ă ithne (task-id):
Sgriobt
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) Cuir a-steach aoigheachd:
Sgriobt
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) Cuir raon casg bagairt ris:
Sgriobt
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) Faic liosta nan seiseanan
Sgriobt
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) Cruthaich pròifil Úr:
Sgriobt
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) Atharraich an gnĂŹomh airson ainm-sgrĂŹobhte IPS:
Sgriobt
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) Cuir ris an t-seirbheis agad:
Sgriobt
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) Cuir roinn, lĂ rach no buidheann ris:
Sgriobt
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))
A bharrachd air an sin, le cuideachadh API lÏn faodaidh tu lÏonraidhean, luchd-aoigheachd, dreuchdan ruigsinneachd, msaa a chuir ris agus a thoirt air falbh. Faodar lannan a ghnà thachadh Antivirus, Antibot, IPS, VPN. Tha e eadhon comasach ceadan a chuir a-steach leis an à ithne ruith-sgriobhaidh. Gheibhear a h-uile òrdugh Check Point API an seo .
Check Point API + Postman
Cuideachd goireasach ri chleachdadh Thoir sĂšil air Point Web API ann an co-bhoinn ri Tha dreachan deasg aig Postman airson Windows, Linux agus MacOS. Tha plugan ann cuideachd airson Google Chrome, a chleachdas sinn. An toiseach, lorg Postman ann am BĂšth Google Chrome agus stĂ laich e:

Aâ cleachdadh aâ ghoireas seo, bidh e comasach dhuinn iarrtasan lĂŹn a ghineadh don Check Point API. Gus nach cuimhnich thu air na h-òrdughan API gu lèir, tha e comasach cruinneachaidhean (teamplaidean) ris an canar a thoirt a-steach, anns a bheil na h-òrdughan riatanach uile mar-thĂ :

gheibh thu chruinneachadh airson R80.10. Ăs deidh an toirt a-steach, bidh teamplaidean Ă ithne API rim faighinn leinn:

Na mo bheachd-sa, tha seo gu math goireasach. Faodaidh tu tòiseachadh gu sgiobalta air tagraidhean a leasachadh aâ cleachdadh an Check Point API.
Check Point + Ansible
Bu mhath leam a thoirt fa-near cuideachd gu bheil Freagair airson CheckPoint API. Leigidh am modal leat rèiteachadh a riaghladh, ach chan eil e cho goireasach airson fuasgladh fhaighinn air duilgheadasan coimheach. Bheir sgrÏobhadh sgriobtaichean ann an cà nan prògramadh sam bith fuasglaidhean nas sÚbailte agus nas goireasaiche.
co-dhĂšnadh
Seo far an cuir sinn crĂŹoch air ar lèirmheas goirid air an Check Point API. Na mo bheachd-sa, bha am feart seo air a shĂšileachadh o chionn fhada agus riatanach. Tha nochdadh an API aâ fosgladh chothroman fĂŹor fharsaing dha luchd-rianachd shiostaman agus integradairean shiostaman a bhios ag obair le toraidhean Check Point. Orcastra, fèin-ghluasad, fios air ais bho SIEM ... tha e comasach a-nis.
PS Tuilleadh artaigilean mu dheidhinn mar as Ă bhaist gheibh thu e air ar blog neo air aâ bhlog aig .
PSS Airson ceistean teicnigeach co-cheangailte ri stèidheachadh Check Point, faodaidh tu
Chan fhaod ach luchd-cleachdaidh clĂ raichte pĂ irt a ghabhail san sgrĂšdadh. , mas e do thoil e.
A bheil thu an dĂšil an API a chleachdadh?
70,6%Seadh12
23,5%Chan eil 4
5,9%Aâ cleachdadh mu thrĂ th 1
Bhòt 17 neach-cleachdaidh. Cha do stad 3 neach-cleachdaidh.
Source: www.habr.com
