
Π‘ΠΈΠ³ΡΡΠ΅Π½ ΡΡΠΌ, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ Π½ΡΠΊΠΎΠ³Π° Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» Ρ , Π΅ ΠΈΠΌΠ°Π» ΠΎΠΏΠ»Π°ΠΊΠ²Π°Π½Π΅ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π½Π΅Π»Π΅ΠΏΠΎ Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ° ΡΠ°Π±ΠΎΡΠΈΠ»ΠΈ Ρ Cisco ASA, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ Π² CLI. ΠΡΠΈ Check Point Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ β Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π½ΡΠΊΠΎΠΈ Π½Π΅ΡΠ° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΠΏΡΠ΅Π· GUI (Π΄ΠΎΡΠΈ ΡΠ°ΠΊΡΠ² ΡΠ΄ΠΎΠ±Π΅Π½, ΠΊΠ°ΠΊΡΠ²ΡΠΎ Π΅ ΠΏΡΠΈ Check Point). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° 100 Π½ΠΎΠ²ΠΈ Ρ
ΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΌΡΠ΅ΠΆΠΈ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² Π΄ΡΠ»Π³Π° ΠΈ ΡΠΊΡΡΠ½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Ρ ΠΌΠΈΡΠΊΠ°ΡΠ° ΠΈ Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ IP Π°Π΄ΡΠ΅Ρ. Π‘ΡΡΠΎΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΡΠΏΠ° ΡΠ°ΠΉΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΎΠ²ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° IPS ΡΠΈΠ³Π½Π°ΡΡΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π·Π° Π΄ΠΎΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ° Π΅ Π²ΠΈΡΠΎΠΊΠ°.
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΡΠΊΠΎΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ "ΡΡΠ΄ΠΎ". Π‘ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Gaia R80 Π±Π΅ΡΠ΅ Π°Π½ΠΎΠ½ΡΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° API, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Ρ.Π½. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°:
- ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ;
- Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ access-list-ΠΎΠ²Π΅;
- Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π±Π»Π΅ΠΉΠ΄ΠΎΠ²Π΅;
- Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ;
- ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ;
- ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ.
ΠΠΊΠΎ ΡΡΠΌ ΡΠ΅ΡΡΠ΅Π½, Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΈ Π½ΠΎΠ²ΠΈΠ½Π° Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»Π° Π½Π΅Π·Π°Π±Π΅Π»ΡΠ·Π°Π½ΠΎ ΠΎΡ Π₯Π°Π±ΡΠ°. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ API ΠΈ ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° Check Point Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅..
ΠΠ΅Π΄Π½Π°Π³Π° Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΡΡΠΎΡΠ½Ρ, ΡΠ΅ API ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ Π·Π° Management ΡΡΡΠ²ΡΡ. Π’.Π΅. ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ»ΡΠ·ΠΈΡΠ΅ Π±Π΅Π· Management ΡΡΡΠ²ΡΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΠΌΡ Π±ΠΈ ΠΌΠΎΠ³ΡΠ» Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠΎΠ·ΠΈ API?
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΎΠΏΡΠΎΡΡΡΡ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ ΡΡΡΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Check Point;
- ΠΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Ρ Check Point Ρ Π΄ΡΡΠ³ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ (ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΈΠΊΠ΅Ρ-ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Ρ.Π½.);
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Check Point.
Π’ΠΈΠΏΠΎΠ²Π° ΡΡ Π΅ΠΌΠ°
Π ΡΠ°ΠΊΠ°, Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠΈΠΏΠΎΠ²Π° ΡΡ Π΅ΠΌΠ° Ρ Check Point:

ΠΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ»ΡΠ· (SG), ΡΡΡΠ²ΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (SMS) ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° (SmartConsole). ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΠ»ΡΠ·Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:

Π’.Π΅. ΠΏΡΡΠ²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° SmartConsole, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Ρ Management-ΡΡΡΠ²ΡΡΠ° (SMS). ΠΠ° SMS ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ (install policy) Π½Π° ΡΠ»ΡΠ·Π° (SG).
ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Management API, Π²ΡΡΡΠ½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π΅ΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ° (ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° SmartConsole) ΠΈ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°ΠΌΠ΅ API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ Management-ΡΡΡΠ²ΡΡΠ° (SMS).
ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° API
ΠΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° API ΠΈΠΌΠ° ΡΠ΅ΡΠΈΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°:
1) Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° mgmt_cli
ΠΡΠΈΠΌΠ΅Ρ β # mgmt_cli add host name host1 ip-address 192.168.2.100
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° Management-ΡΡΡΠ²ΡΡΠ° (SMS). Π‘ΠΌΡΡΠ°ΠΌ, ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ β ΡΡΠ·Π΄Π°Π²Π° ΡΠ΅ host1 Ρ Π°Π΄ΡΠ΅Ρ 192.168.2.100.
2) ΠΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΏΡΠ΅Π· clish (Π² ΡΠ΅ΠΆΠΈΠΌ expert)
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, Π΅ Π΄Π° Π²Π»Π΅Π·Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ (mgmt login) Ρ Π°ΠΊΠ°ΡΠ½ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΠ΅Π· SmartConsole (ΠΈΠ»ΠΈ root-Π°ΠΊΠ°ΡΠ½ΡΠ°). Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° mgmt_cli). ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½ΠΈ BASH-ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Ρ ΠΎΡΡ:
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) Π§ΡΠ΅Π· SmartConsole, ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ CLI ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ
ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, Π΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° CLI Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ SmartConsole, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ.

Π ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
4) Π£Π΅Π± ΡΡΠ»ΡΠ³ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° HTTPS Post Π·Π°ΡΠ²ΠΊΠ° (REST API)
ΠΠ° Π½Π°ΡΠ΅ΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ βΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρβ ΡΠ΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Management-ΡΡΡΠ²ΡΡΠ° (ΠΈΠ·Π²ΠΈΠ½Π΅ΡΠ΅ Π·Π° ΡΠ°Π²ΡΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°). ΠΠΎ-Π΄ΠΎΠ»Ρ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΠ° ΡΠ΅Π·ΡΠΌΠ΅:
- API + cli ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠΆΠ΄Π° Π½Π° Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Ρ Cisco;
- API + shell Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ;
- REST API Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ.
ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° API
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, API Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΠΊΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ Ρ ΠΎΠ±Π΅ΠΌ RAM Π½Π°Π΄ 4ΠΠ± ΠΈ standalone ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ RAM Π½Π°Π΄ 8ΠΠ±. Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°: api status
ΠΠΊΠΎ ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅, ΡΠ΅ api Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½, ΡΠΎ Π΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΡΠ΅Π· SmartConsole: Manage & Settings > Blades > Management API > Advanced Settings

Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΉΡΠ΅ (Publish) ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° api restart.
Π£Π΅Π± Π·Π°ΡΠ²ΠΊΠΈ + Python
ΠΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅Π± Π·Π°ΡΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ requests, json. Π ΠΎΠ±Ρ Π²ΠΈΠ΄ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ΅Π± Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠΈ ΡΠ°ΡΡΠΈ:
1) ΠΠ΄ΡΠ΅Ρ
(https://:/web_api/)
2) HTTP Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
content-Type: application/json
x-chkp-sid:
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 Π°Π΄ΡΠ΅Ρ GAIA
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Check Point.
1) ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΡ ΠΎΠ΄Π°:
Π‘ΠΊΡΠΈΠΏΡ
payload = {'user': 'Π²Π°Ρ_ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ', '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) ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (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" : "Π½ΠΈΡΠΊΠΎ","active-protections-severity" : "Π½ΠΈΡΠΊΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ","confidence-level-medium" : "ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ",
"confidence-level-high" : "ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ", "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" : "Π²ΠΈΡΠΎΠΊΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ-Π½ΠΈΡΠΊΠΎ"},
"overrides" : [ {"protection" : "3Com Network Supervisor Directory Traversal","capture-packets" : True,"action" : "ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ","track" : "ΠΠΎΠ³"},
{"protection" : "7-Zip ARJ Archive Handling Buffer Overflow", "capture-packets" : True,"action" : "ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ","track" : "ΠΠΎΠ³"} ]}
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" : "ΠΠ±Π½Π°ΡΡΠΆΠΈ","track" : "ΠΠΎΠ³","capture-packets" : True},
{ "profile" : "Apeiron", "action" : "ΠΠ±Π½Π°ΡΡΠΆΠΈ", "track" : "ΠΠΎΠ³", "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" : "ΠΠ³ΡΠΈ","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 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°ΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ, Ρ ΠΎΡΡΠΎΠ²Π΅, ΡΠΎΠ»ΠΈ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΈ Ρ.Π½. ΠΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π±Π»Π΅ΠΉΠ΄ΠΎΠ²Π΅ ΠΠ½ΡΠΈΠ²ΠΈΡΡΡ, ΠΠ½ΡΠΈΠ±ΠΎΡ, IPS, VPN. ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ Π΄Π°ΠΆΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° run-script. Π‘ Π²ΡΠΈΡΠΊΠΈ API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Check Point ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ .
Check Point API + Postman
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Check Point Web API Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ . Postman ΠΏΡΠ΅Π΄Π»Π°Π³Π° desktop Π²Π΅ΡΡΠΈΠΈ Π·Π° Windows, Linux ΠΈ MacOS. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ° ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ° Π·Π° Google Chrome. ΠΠΈΠ΅ ΡΠ΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ Postman Π² Google Chrome Store ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅:

Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΠΌΠ΅ Web Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ API Π½Π° Check Point. ΠΠ° Π΄Π° Π½Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ (ΡΠ°Π±Π»ΠΎΠ½ΠΈ), ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:

ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ Π·Π° R80.10. Π‘Π»Π΅Π΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅, ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π½Π° API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΡΠ΅ ΡΡΠ°Π½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π½Π°Ρ:

ΠΠΈΡΠ½ΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½, ΡΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΠ° Π±ΡΡΠ·ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Check Point API.
Check Point + Ansible
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Ansible Π·Π° CheckPoint API. ΠΠΎΠ΄ΡΠ»ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅, Π½ΠΎ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΠ·ΠΎΡΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ·Π²ΠΎΠ΄
Π’ΡΠΊ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π·Π°Π²ΡΡΡΠΈΠΌ Π½Π°ΡΠΈΡ ΠΌΠ°Π»ΡΠΊ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Check Point API. ΠΠΈΡΠ½ΠΎ ΡΠΌΡΡΠ°ΠΌ, ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅ΡΠ΅ Π΄ΡΠ»Π³ΠΎΠΎΡΠ°ΠΊΠ²Π°Π½Π° ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°. ΠΠΎΡΠ²Π°ΡΠ° Π½Π° API ΠΎΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠΎΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅ Π½Π° Check Point. ΠΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ, ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° Ρ SIEM... Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ.
P.S. ΠΠΎΠ²Π΅ΡΠ΅ ΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³ ΠΈΠ»ΠΈ Π² Π±Π»ΠΎΠ³Π° Π½Π° .
P.S.S. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Check Point, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°. , ΠΌΠΎΠ»Ρ.
ΠΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ API?
70,6%ΠΠ°12
23,5%ΠΠ΅4
5,9%ΠΠ΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ1
ΠΠ»Π°ΡΡΠ²Π°Π»ΠΈ 17 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΡΠΈΠ΄ΡΡΠΆΠ°Π»ΠΈ ΡΠ΅ 3 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
