ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಇದುವರೆಗೆ ಕೆಲಸ ಮಾಡಿದ ಪ್ರತಿಯೊಬ್ಬರೂ ಎಂದು ನನಗೆ ಖಾತ್ರಿಯಿದೆ ಚೆಕ್ ಪಾಯಿಂಟ್, ಬಗ್ಗೆ ದೂರು ಬಂದಿತ್ತು ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸುವ ಅಸಾಧ್ಯತೆ. ಸಿಸ್ಕೋ ಎಎಸ್ಎಯೊಂದಿಗೆ ಹಿಂದೆ ಕೆಲಸ ಮಾಡಿದವರಿಗೆ ಇದು ವಿಶೇಷವಾಗಿ ವಿಚಿತ್ರವಾಗಿದೆ, ಅಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಎಲ್ಲವನ್ನೂ CLI ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಚೆಕ್ ಪಾಯಿಂಟ್‌ನೊಂದಿಗೆ ಇದು ವಿಭಿನ್ನವಾಗಿದೆ - ಎಲ್ಲಾ ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಗ್ರಾಫಿಕಲ್ ಇಂಟರ್ಫೇಸ್‌ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ನಿರ್ವಹಿಸಲಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಕೆಲವು ವಿಷಯಗಳನ್ನು GUI ಮೂಲಕ ಮಾಡಲು ಸಂಪೂರ್ಣವಾಗಿ ಅನನುಕೂಲವಾಗಿದೆ (ಚೆಕ್ ಪಾಯಿಂಟ್‌ನಂತೆಯೇ ಸಹ). ಉದಾಹರಣೆಗೆ, 100 ಹೊಸ ಹೋಸ್ಟ್‌ಗಳು ಅಥವಾ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಸೇರಿಸುವ ಕಾರ್ಯವು ದೀರ್ಘ ಮತ್ತು ಬೇಸರದ ಕಾರ್ಯವಿಧಾನವಾಗಿ ಬದಲಾಗುತ್ತದೆ. ಪ್ರತಿ ವಸ್ತುವಿಗೆ ನೀವು ಮೌಸ್ ಅನ್ನು ಹಲವಾರು ಬಾರಿ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು IP ವಿಳಾಸವನ್ನು ನಮೂದಿಸಬೇಕು. ಸೈಟ್‌ಗಳ ಗುಂಪನ್ನು ರಚಿಸಲು ಅಥವಾ IPS ಸಹಿಗಳನ್ನು ಸಾಮೂಹಿಕವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲು/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅದೇ ಹೋಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ತಪ್ಪು ಮಾಡುವ ಹೆಚ್ಚಿನ ಸಂಭವನೀಯತೆಯಿದೆ.

ತುಲನಾತ್ಮಕವಾಗಿ ಇತ್ತೀಚೆಗೆ "ಪವಾಡ" ಸಂಭವಿಸಿದೆ. ಹೊಸ ಆವೃತ್ತಿಯ ಬಿಡುಗಡೆಯೊಂದಿಗೆ ಗಯಾ R80 ಅವಕಾಶವನ್ನು ಘೋಷಿಸಲಾಯಿತು API ಬಳಕೆ, ಇದು ಸ್ವಯಂಚಾಲಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಆಡಳಿತ, ಮೇಲ್ವಿಚಾರಣೆ ಇತ್ಯಾದಿಗಳಿಗೆ ವ್ಯಾಪಕ ಅವಕಾಶಗಳನ್ನು ತೆರೆಯುತ್ತದೆ. ನೀನೀಗ ಮಾಡಬಹುದು:

  • ವಸ್ತುಗಳನ್ನು ರಚಿಸಿ;
  • ಪ್ರವೇಶ ಪಟ್ಟಿಗಳನ್ನು ಸೇರಿಸಿ ಅಥವಾ ಸಂಪಾದಿಸಿ;
  • ಬ್ಲೇಡ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ / ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ;
  • ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ;
  • ನೀತಿಗಳನ್ನು ಸ್ಥಾಪಿಸಿ;
  • ಮತ್ತು ಹೆಚ್ಚು.

ನಿಜ ಹೇಳಬೇಕೆಂದರೆ, ಈ ಸುದ್ದಿಯನ್ನು ಹಬ್ರ್ ಹೇಗೆ ರವಾನಿಸಿದ್ದಾರೆಂದು ನನಗೆ ಅರ್ಥವಾಗುತ್ತಿಲ್ಲ. ಈ ಲೇಖನದಲ್ಲಿ ನಾವು API ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ವಿವರಿಸುತ್ತೇವೆ ಮತ್ತು ಹಲವಾರು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಒದಗಿಸುತ್ತೇವೆ. ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಚೆಕ್‌ಪಾಯಿಂಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು.

ನಿರ್ವಹಣಾ ಸರ್ವರ್‌ಗೆ ಮಾತ್ರ API ಅನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂದು ನಾನು ಈಗಿನಿಂದಲೇ ಕಾಯ್ದಿರಿಸಲು ಬಯಸುತ್ತೇನೆ. ಆ. ನಿರ್ವಹಣಾ ಸರ್ವರ್ ಇಲ್ಲದೆ ಗೇಟ್‌ವೇಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಇನ್ನೂ ಅಸಾಧ್ಯ.

ಈ API ಅನ್ನು ಯಾರು ತಾತ್ವಿಕವಾಗಿ ಬಳಸಬಹುದು?

  1. ವಾಡಿಕೆಯ ಚೆಕ್ ಪಾಯಿಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಕಾರ್ಯಗಳನ್ನು ಸರಳೀಕರಿಸಲು ಅಥವಾ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಬಯಸುವ ಸಿಸ್ಟಮ್ ನಿರ್ವಾಹಕರು;
  2. ಚೆಕ್ ಪಾಯಿಂಟ್ ಅನ್ನು ಇತರ ಪರಿಹಾರಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಲು ಬಯಸುವ ಕಂಪನಿಗಳು (ವರ್ಚುವಲೈಸೇಶನ್ ಸಿಸ್ಟಮ್‌ಗಳು, ಟಿಕೆಟ್ ಸಿಸ್ಟಮ್‌ಗಳು, ಕಾನ್ಫಿಗರೇಶನ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಸಿಸ್ಟಮ್‌ಗಳು, ಇತ್ಯಾದಿ);
  3. ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪ್ರಮಾಣೀಕರಿಸಲು ಅಥವಾ ಹೆಚ್ಚುವರಿ ಚೆಕ್ ಪಾಯಿಂಟ್-ಸಂಬಂಧಿತ ಉತ್ಪನ್ನಗಳನ್ನು ರಚಿಸಲು ಬಯಸುವ ಸಿಸ್ಟಮ್ ಇಂಟಿಗ್ರೇಟರ್‌ಗಳು.

ವಿಶಿಷ್ಟ ಯೋಜನೆ

ಆದ್ದರಿಂದ, ಚೆಕ್ ಪಾಯಿಂಟ್ನೊಂದಿಗೆ ವಿಶಿಷ್ಟವಾದ ಯೋಜನೆಯನ್ನು ಕಲ್ಪಿಸೋಣ:

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಎಂದಿನಂತೆ ನಮಗೆ ಗೇಟ್‌ವೇ ಇದೆ (SG), ನಿರ್ವಹಣಾ ಸರ್ವರ್ (ಎಸ್ಎಂಎಸ್) ಮತ್ತು ನಿರ್ವಾಹಕ ಕನ್ಸೋಲ್ (ಸ್ಮಾರ್ಟ್ ಕನ್ಸೋಲ್) ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸಾಮಾನ್ಯ ಗೇಟ್ವೇ ಕಾನ್ಫಿಗರೇಶನ್ ಪ್ರಕ್ರಿಯೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಆ. ಮೊದಲು ನೀವು ನಿರ್ವಾಹಕರ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ರನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಸ್ಮಾರ್ಟ್ ಕನ್ಸೋಲ್, ಇದರೊಂದಿಗೆ ನಾವು ನಿರ್ವಹಣಾ ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ (ಎಸ್ಎಂಎಸ್) ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು SMS ನಲ್ಲಿ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಂತರ ಮಾತ್ರ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ (ನೀತಿಯನ್ನು ಸ್ಥಾಪಿಸಿ) ಗೇಟ್ವೇಗೆ (SG).

ಬಳಸಿ ನಿರ್ವಹಣೆ API, ನಾವು ಮೂಲಭೂತವಾಗಿ ಮೊದಲ ಬಿಂದುವನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು (SmartConsole ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ) ಮತ್ತು ಬಳಸಬಹುದು API ಆಜ್ಞೆಗಳು ನೇರವಾಗಿ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಸರ್ವರ್‌ಗೆ (SMS).

API ಅನ್ನು ಬಳಸುವ ಮಾರ್ಗಗಳು

API ಬಳಸಿಕೊಂಡು ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸಲು ನಾಲ್ಕು ಮುಖ್ಯ ಮಾರ್ಗಗಳಿವೆ:

1) mgmt_cli ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸುವುದು

ಉದಾಹರಣೆ - # mgmt_cli ಹೋಸ್ಟ್ ಹೆಸರು ಹೋಸ್ಟ್ 1 ಐಪಿ-ವಿಳಾಸ 192.168.2.100 ಸೇರಿಸಿ
ಈ ಆಜ್ಞೆಯನ್ನು ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಸರ್ವರ್ (SMS) ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಚಲಾಯಿಸಲಾಗುತ್ತದೆ. ಆಜ್ಞೆಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಸ್ಪಷ್ಟವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ - host1 ಅನ್ನು 192.168.2.100 ವಿಳಾಸದೊಂದಿಗೆ ರಚಿಸಲಾಗಿದೆ.

2) ಕ್ಲಿಶ್ ಮೂಲಕ API ಆಜ್ಞೆಗಳನ್ನು ನಮೂದಿಸಿ (ತಜ್ಞ ಮೋಡ್‌ನಲ್ಲಿ)

ಮೂಲಭೂತವಾಗಿ, ನೀವು ಮಾಡಬೇಕಾಗಿರುವುದು ಆಜ್ಞಾ ಸಾಲಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡುವುದು (mgmt ಲಾಗಿನ್) 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 ಮೂಲಕ

ನೀವು ಮಾಡಬೇಕಾಗಿರುವುದು ವಿಂಡೋವನ್ನು ತೆರೆಯುವುದು ಸಿಎಲ್ಐ ನೇರವಾಗಿ ಸ್ಮಾರ್ಟ್ ಕನ್ಸೋಲ್, ಕೆಳಗಿನ ಚಿತ್ರದಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ.

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಈ ವಿಂಡೋದಲ್ಲಿ, ನೀವು ತಕ್ಷಣ API ಆಜ್ಞೆಗಳನ್ನು ನಮೂದಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು.

4) ವೆಬ್ ಸೇವೆಗಳು. HTTPS ಪೋಸ್ಟ್ ವಿನಂತಿಯನ್ನು ಬಳಸಿ (REST API)

ನಮ್ಮ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಇದು ಅತ್ಯಂತ ಭರವಸೆಯ ವಿಧಾನಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ, ಏಕೆಂದರೆ ಆಧರಿಸಿ ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು "ನಿರ್ಮಿಸಲು" ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ನಿರ್ವಹಣೆ ಸರ್ವರ್ ನಿರ್ವಹಣೆ (ಟೌಟಾಲಜಿಗಾಗಿ ಕ್ಷಮಿಸಿ). ಕೆಳಗೆ ನಾವು ಈ ವಿಧಾನವನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡುತ್ತೇವೆ.

ಸಾರಾಂಶಿಸು:

  1. API + cli ಸಿಸ್ಕೋಗೆ ಬಳಸುವ ಜನರಿಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿದೆ;
  2. API + ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಅನ್ವಯಿಸಲು ಮತ್ತು ದಿನನಿತ್ಯದ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು;
  3. REST API ಅನ್ನು ಯಾಂತ್ರೀಕರಣಕ್ಕಾಗಿ.

API ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, 4GB ಗಿಂತ ಹೆಚ್ಚಿನ RAM ಮತ್ತು 8GB ಗಿಂತ ಹೆಚ್ಚಿನ RAM ಹೊಂದಿರುವ ಸ್ವತಂತ್ರ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳೊಂದಿಗೆ ನಿರ್ವಹಣಾ ಸರ್ವರ್‌ಗಳಲ್ಲಿ API ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು: api ಸ್ಥಿತಿ

Api ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ತಿರುಗಿದರೆ, ಅದನ್ನು SmartConsole ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸುವುದು ತುಂಬಾ ಸುಲಭ: ನಿರ್ವಹಣೆ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳು > ಬ್ಲೇಡ್‌ಗಳು > ನಿರ್ವಹಣೆ API > ಸುಧಾರಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳು

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ನಂತರ ಪ್ರಕಟಿಸಿ (ಪ್ರಕಟಿಸು) ಬದಲಾವಣೆಗಳು ಮತ್ತು ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ 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 ಪರಿಶೀಲಿಸಿ ಇದರ ಜೊತೆಯಲ್ಲಿ ಪೋಸ್ಟ್ಮ್ಯಾನ್. ಪೋಸ್ಟ್‌ಮ್ಯಾನ್ ವಿಂಡೋಸ್, ಲಿನಕ್ಸ್ ಮತ್ತು ಮ್ಯಾಕೋಸ್‌ಗಾಗಿ ಡೆಸ್ಕ್‌ಟಾಪ್ ಆವೃತ್ತಿಗಳನ್ನು ಹೊಂದಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, Google Chrome ಗಾಗಿ ಪ್ಲಗಿನ್ ಇದೆ. ಇದನ್ನೇ ನಾವು ಬಳಸುತ್ತೇವೆ. ಮೊದಲು ನೀವು Google Chrome ಸ್ಟೋರ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್‌ಮ್ಯಾನ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು ಮತ್ತು ಸ್ಥಾಪಿಸಬೇಕು:

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಈ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು, ಚೆಕ್ ಪಾಯಿಂಟ್ API ಗೆ ವೆಬ್ ವಿನಂತಿಗಳನ್ನು ರಚಿಸಲು ನಮಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಎಲ್ಲಾ API ಆಜ್ಞೆಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳದಿರಲು, ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಆಜ್ಞೆಗಳನ್ನು ಹೊಂದಿರುವ ಸಂಗ್ರಹಣೆಗಳು (ಟೆಂಪ್ಲೇಟ್‌ಗಳು) ಎಂದು ಕರೆಯಲ್ಪಡುವ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿದೆ:

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ಇದು ನೀವು ಕಾಣುವಿರಿ ಸಂಗ್ರಹ ಗೆ R80.10. ಆಮದು ಮಾಡಿದ ನಂತರ, API ಕಮಾಂಡ್ ಟೆಂಪ್ಲೇಟ್‌ಗಳು ನಮಗೆ ಲಭ್ಯವಾಗುತ್ತವೆ:

ಚೆಕ್ ಪಾಯಿಂಟ್ R80.10 API. CLI, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ನಿರ್ವಹಣೆ

ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ. ಚೆಕ್ ಪಾಯಿಂಟ್ API ಅನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ತ್ವರಿತವಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು.

ಚೆಕ್ ಪಾಯಿಂಟ್ + ಅನ್ಸಿಬಲ್

ಇದೆ ಎಂಬುದನ್ನು ಸಹ ನಾನು ಗಮನಿಸಲು ಬಯಸುತ್ತೇನೆ ಅನುಕಂಪ ಮಾಡ್ಯೂಲ್ ಚೆಕ್‌ಪಾಯಿಂಟ್ API ಗಾಗಿ. ಮಾಡ್ಯೂಲ್ ನಿಮಗೆ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ವಿಲಕ್ಷಣ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿಲ್ಲ. ಯಾವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬರೆಯುವುದು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಮತ್ತು ಅನುಕೂಲಕರ ಪರಿಹಾರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

ತೀರ್ಮಾನಕ್ಕೆ

ಚೆಕ್ ಪಾಯಿಂಟ್ API ಯ ನಮ್ಮ ಕಿರು ವಿಮರ್ಶೆಯನ್ನು ನಾವು ಬಹುಶಃ ಇಲ್ಲಿಯೇ ಮುಗಿಸುತ್ತೇವೆ. ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಈ ವೈಶಿಷ್ಟ್ಯವು ಬಹುನಿರೀಕ್ಷಿತ ಮತ್ತು ಅಗತ್ಯವಾಗಿತ್ತು. API ಯ ಹೊರಹೊಮ್ಮುವಿಕೆಯು ಸಿಸ್ಟಮ್ ನಿರ್ವಾಹಕರು ಮತ್ತು ಚೆಕ್ ಪಾಯಿಂಟ್ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಸಿಸ್ಟಮ್ ಇಂಟಿಗ್ರೇಟರ್‌ಗಳಿಗೆ ಬಹಳ ವಿಶಾಲವಾದ ಅವಕಾಶಗಳನ್ನು ತೆರೆಯುತ್ತದೆ. ಆರ್ಕೆಸ್ಟ್ರೇಶನ್, ಆಟೊಮೇಷನ್, SIEM ಪ್ರತಿಕ್ರಿಯೆ... ಈಗ ಎಲ್ಲವೂ ಸಾಧ್ಯ.

PS ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಲೇಖನಗಳು ಚೆಕ್ ಪಾಯಿಂಟ್ ಯಾವಾಗಲೂ ನೀವು ಅದನ್ನು ನಮ್ಮ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು ಹಬ್ರ್ ಅಥವಾ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಸೈಟ್.

PSS ಚೆಕ್ ಪಾಯಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸಲು ಸಂಬಂಧಿಸಿದ ತಾಂತ್ರಿಕ ಪ್ರಶ್ನೆಗಳಿಗೆ, ನೀವು ಮಾಡಬಹುದು ಇಲ್ಲಿ

ನೋಂದಾಯಿತ ಬಳಕೆದಾರರು ಮಾತ್ರ ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದು. ಸೈನ್ ಇನ್ ಮಾಡಿ, ದಯವಿಟ್ಟು.

ನೀವು API ಅನ್ನು ಬಳಸಲು ಯೋಜಿಸುತ್ತಿರುವಿರಾ?

  • 70,6%ಹೌದು 12

  • 23,5%No4

  • 5,9%ಈಗಾಗಲೇ ಬಳಸಲಾಗುತ್ತಿದೆ 1

17 ಬಳಕೆದಾರರು ಮತ ಹಾಕಿದ್ದಾರೆ. 3 ಬಳಕೆದಾರರು ದೂರ ಉಳಿದಿದ್ದಾರೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ