Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π‘ΠΈΠ³ΡƒΡ€Π΅Π½ съм, Ρ‡Π΅ всСки, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» с Check Point, Π΅ ΠΈΠΌΠ°Π» ΠΎΠΏΠ»Π°ΠΊΠ²Π°Π½Π΅ относно Π½Π΅Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° конфигурацията ΠΎΡ‚ командния Ρ€Π΅Π΄. Π’ΠΎΠ²Π° Π΅ особСно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° са Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈ с Cisco ASA, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всичко ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС настроСно Π² CLI. ΠŸΡ€ΠΈ Check Point всичко Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ β€” всички настройки ΠΏΠΎ сигурността сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΡ‚ графичния интСрфСйс. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, някои Π½Π΅Ρ‰Π° Π½Π΅ са ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΠΏΡ€Π°Π²Π΅Π½Π΅ Ρ‡Ρ€Π΅Π· GUI (Π΄ΠΎΡ€ΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π½Π° Check Point). НапримСр, Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π·Π° добавянС Π½Π° 100 Π½ΠΎΠ²ΠΈ хостовС ΠΈΠ»ΠΈ ΠΌΡ€Π΅ΠΆΠΈ сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² дълга ΠΈ досадна ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°. Π—Π° всСки ΠΎΠ±Π΅ΠΊΡ‚ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π΄Π° Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ с ΠΌΠΈΡˆΠΊΠ°Ρ‚Π° ΠΈ Π΄Π° Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ IP адрСса. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ Π²Π°ΠΆΠΈ Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€ΡƒΠΏΠΈ сайтовС ΠΈΠ»ΠΈ масово Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅/ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° IPS сигнатури. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° голяма вСроятност Π΄Π° допуснСтС Π³Ρ€Π΅ΡˆΠΊΠ°.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»Π½ΠΎ скоро сС случи "Ρ‡ΡƒΠ΄ΠΎ". Π‘ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Gaia R80 Π±Π΅ анонсирана Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API, ΠΊΠΎΠ΅Ρ‚ΠΎ отваря ΡˆΠΈΡ€ΠΎΠΊΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° автоматизация Π½Π° настройкитС, администриранС, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Ρ‚.Π½. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°:

  • ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ;
  • добавятС ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ access-list-ΠΎΠ²Π΅;
  • Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅/ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅ Π±Π»Π΅ΠΉΠ΄ΠΎΠ²Π΅;
  • настройватС ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси;
  • инсталиратС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ;
  • ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ.

Ако чСстно, Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ ΠΊΠ°ΠΊ Ρ‚Π°Π·ΠΈ Π½ΠΎΠ²ΠΈΠ½Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π° ΠΏΠΎΠΊΡ€Π°ΠΉ Π₯Π°Π±Ρ€Π°. Π’ Ρ‚Π°Π·ΠΈ статия Π½Π°ΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ‰Π΅ опишСм ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ API ΠΈ Ρ‰Π΅ прСдоставим няколко практичСски ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π·Π° настройка Π½Π° Check Point с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° скриптовС.

Искам Π΄Π° уточня, Ρ‡Π΅ API сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само Π·Π° Management ΡΡŠΡ€Π²ΡŠΡ€. Π’.Π΅. ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡˆΠ»ΡŽΠ·ΠΈΡ‚Π΅ Π±Π΅Π· Management ΡΡŠΡ€Π²ΡŠΡ€ всС ΠΎΡ‰Π΅ Π΅ нСвъзмоТно.

На ΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ·ΠΈ API?

  1. БистСмни администратори, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° опростят ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ настройка Π½Π° Check Point;
  2. Компании, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚ Check Point с Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Ρ‚ΠΈΠΊΠ΅Ρ‚ систСми, систСми Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€.);
  3. БистСмни ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ искат Π΄Π° стандартизират настройкитС ΠΈΠ»ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Check Point.

Π’ΠΈΠΏΠΎΠ²Π° схСма

И Ρ‚Π°ΠΊΠ°, прСдставямС Ρ‚ΠΈΠΏΠΎΠ²Π° схСма с Check Point:

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

ΠšΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΈΠΌΠ°ΠΌΠ΅ шлюз (SG), управляващ ΡΡŠΡ€Π²ΡŠΡ€ (SMS) ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π° Π½Π° администратора (SmartConsole). ΠžΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡΡ‚ процСс Π½Π° настройка Π½Π° шлюза ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π’.Π΅. ΠΏΡŠΡ€Π²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° Π½Π° администратора Π΄Π° стартиратС SmartConsole, с която сС ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ с Management-ΡΡŠΡ€Π²ΡŠΡ€Π° (SMS). На SMS сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ настройки Π·Π° сигурност, Π° слСд Ρ‚ΠΎΠ²Π° сС прилагатинсталационни ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ) Π½Π° шлюза (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, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ.

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π’ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Ρ‚Π΅ API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

4) Π£Π΅Π± услуги. ИзползванС Π½Π° HTTPS Post заявка (REST API)

БмятамС, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-проспСктивнитС Π½Π°Ρ‡ΠΈΠ½Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ позволява "ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ" Π½Π° Ρ†Π΅Π»ΠΈ прилоТСния Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ (ΠΈΠ·Π²ΠΈΠ½Π΅Ρ‚Π΅ Π·Π° тавтологията). По-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Ако ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ:

  1. API + cli ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠΆΠ΄Π° Π·Π° Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ са свикнали с Cisco;
  2. API + shell Π·Π° изпълнСниС Π½Π° скриптовС ΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ;
  3. REST API Π·Π° автоматизация.

АктивиранС Π½Π° API

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, API Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΠΌΡŠΠ½Ρ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ с RAM Π½Π°Π΄ 4Π“Π± ΠΈ самостоятСлни ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с RAM Π½Π°Π΄ 8Π“Π±. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ статуса с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°: api status

Ако сС ΠΎΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ API Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½, Π΅ доста лСсно Π΄Π° Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π΅Π· SmartConsole: Manage & Settings > Blades > Management API > Advanced Settings

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°ΠΉΡ‚Π΅ (Publish) ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° api restart.

Web заявки + Python

Π—Π° изпълнСниС Π½Π° API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Web заявки с ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ requests, json. Π’ ΠΎΠ±Ρ‰ Π²ΠΈΠ΄ структурата Π½Π° web заявката сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Ρ‚Ρ€ΠΈ части:

1) АдрСс

(https://<ΠΌΠ΅Π½ΠΈΠ΄ΠΆΠΌΡŠΠ½Ρ‚ ΡΡŠΡ€Π²ΡŠΡ€>:<ΠΏΠΎΡ€Ρ‚>/web_api/<ΠΊΠΎΠΌΠ°Π½Π΄Π°>) 


2) HTTP Заглавия

content-Type: application/json
x-chkp-sid: <сСсионСн ID Ρ‚ΠΎΠΊΠ΅Π½, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° Π»ΠΎΠ³ΠΈΠ½>


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': '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) ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ ΠΈ инсталиранС Π½Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° (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 ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° добавятС ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ, хостовС, Ρ€ΠΎΠ»ΠΈ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΈ Ρ‚.Π½. Има Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π»Π΅ΠΉΠ΄ΠΎΠ²Π΅ Антивирус, Антибот, IPS, VPN. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½Π° Π΅ Π΄ΠΎΡ€ΠΈ инсталация Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° run-script. Π‘ всички API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Check Point ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ..

Check Point API + Postman

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Check Point Web API Π² комбинация с Postman. Postman ΠΈΠΌΠ° дСсктоп вСрсии Π·Π° Windows, Linux ΠΈ MacOS. ОсвСн Ρ‚ΠΎΠ²Π°, ΠΈΠΌΠ° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π·Π° Google Chrome. НиС Ρ‰Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠŸΡŠΡ€Π²ΠΎ трябва Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Postman Π² Google Chrome Store ΠΈ Π΄Π° инсталиратС:

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ инструмСнт ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ Web-запроси към API Check Point. Π—Π° Π΄Π° Π½Π΅ запомнямС всички API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ Ρ‚.Π½. ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (шаблони), ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π’ΡƒΠΊ Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ коллСкция Π·Π° R80.10. Π‘Π»Π΅Π΄ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ Π½Π° API-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ Ρ‰Π΅ станат Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ:

Check Point R80.10 API. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π· CLI, скриптовС ΠΈ Π½Π΅ само.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½, Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. МоТСм доста Π±ΡŠΡ€Π·ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прилоТСния, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Check Point API.

Check Point + Ansible

Искам ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° подчСртая, Ρ‡Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Ansible ΠΌΠΎΠ΄ΡƒΠ» Π·Π° CheckPoint API. ΠœΠΎΠ΄ΡƒΠ»ΡŠΡ‚ позволява ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΠ·ΠΎΡ‚ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΠΈΡΠ°Π½Π΅Ρ‚ΠΎ Π½Π° скриптовС Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΈ Π΄Π° Π΅ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎ-гъвкави ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Извод

Π‘ Ρ‚ΠΎΠ²Π° вСроятно Ρ‰Π΅ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈΠΌ нашия малък ΠΎΠ±Π·ΠΎΡ€ Π½Π° Check Point API. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½, Ρ‚Π°Π·ΠΈ функция Π΅ Π΄ΡŠΠ»Π³ΠΎΠΎΡ‡Π°ΠΊΠ²Π°Π½Π° ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°. ΠŸΠΎΡΠ²Π°Ρ‚Π° Π½Π° API ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° систСмни администратори, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° систСмни ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° Check Point. ΠžΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ, автоматизация, ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° с SIEM… всичко Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ възмоТно.

P.S. ΠŸΠΎΠ²Π΅Ρ‡Π΅ статии Π·Π° Check Point ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π² нашия Π±Π»ΠΎΠ³ Π₯Π°Π±Ρ€ ΠΈΠ»ΠΈ Π² Π±Π»ΠΎΠ³Π° Π½Π° сайта.

P.S.S. ВСхничСски Π²ΡŠΠΏΡ€ΠΎΡΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с настройкитС Π½Π° Check Point, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ‚ΡƒΠΊ.

Π‘Π°ΠΌΠΎ рСгистрирани ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° участват Π² Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Π’Π»Π΅Π·Ρ‚Π΅, моля.

ΠŸΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ API?

  • 70,6%Π”Π°12

  • 23,5%НС4

  • 5,9%Π’Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ1

Гласували 17 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. 3 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ сС Π²ΡŠΠ·Π΄ΡŠΡ€ΠΆΠ°Ρ‚.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster