เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจฎเฉˆเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจนเจฐ เจ•เฉ‹เจˆ เจœเจฟเจธเจจเฉ‡ เจ•เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ, เจฌเจพเจฐเฉ‡ เจธเจผเจฟเจ•เจพเจ‡เจค เจธเฉ€ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจคเฉ‹เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ…เจธเฉฐเจญเจตเจคเจพ. เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจœเฉ€เจฌ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ Cisco ASA เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจฌเจฟเจฒเจ•เฉเจฒ เจนเจฐ เจšเฉ€เจœเจผ CLI เจตเจฟเฉฑเจš เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจฒเจŸ เจนเฉˆ - เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจ—เฉเจฐเจพเจซเจฟเจ•เจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจคเฉ‹เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ•เฉเจ เจšเฉ€เจœเจผเจพเจ‚ GUI เจฆเฉเจ†เจฐเจพ เจ•เจฐเจจ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเจจ (เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจœเจฟเฉฐเจจเฉ€ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเฉ€)เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, 100 เจจเจตเฉ‡เจ‚ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจœเจพเจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเจพ เจ•เฉฐเจฎ เจ‡เฉฑเจ• เจฒเฉฐเจฌเฉ€ เจ…เจคเฉ‡ เจ”เจ–เฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจ†เจฌเจœเฉˆเจ•เจŸ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจˆ เจตเจพเจฐ เจฎเจพเจŠเจธ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ IP เจเจกเจฐเฉˆเฉฑเจธ เจฆเจฐเจœ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจนเฉ€ เจธเจพเจˆเจŸเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฌเจฃเจพเจ‰เจฃ เจœเจพเจ‚ IPS เจฆเจธเจคเจ–เจคเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจกเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ/เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ—เจฒเจคเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เฉฑเจš เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ.

เจ‡เฉฑเจ• "เจšเจฎเจคเจ•เจพเจฐ" เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจนเฉ‹เจ‡เจ† เจนเฉˆ. เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจœเจพเจฐเฉ€ เจนเฉ‹เจฃ เจฆเฉ‡ เจจเจพเจฒ Gaia R80 เจฎเฉŒเจ•เฉ‡ เจฆเจพ เจเจฒเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ API เจตเจฐเจคเฉ‹เจ‚, เจœเฉ‹ เจธเจตเฉˆเจšเจพเจฒเจฟเจค เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚, เจชเฉเจฐเจธเจผเจพเจธเจจ, เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ†เจฆเจฟ เจฒเจˆ เจตเจฟเจ†เจชเจ• เจฎเฉŒเจ•เฉ‡ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆเฅค เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  • เจตเจธเจคเฉ‚เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃเจพ;
  • เจชเจนเฉเฉฐเจš เจธเฉ‚เจšเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเฉ‹ เจœเจพเจ‚ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเฉ‹;
  • เจฌเจฒเฉ‡เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ/เจ…เจฏเฉ‹เจ— เจ•เจฐเฉ‹;
  • เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ;
  • เจจเฉ€เจคเฉ€เจ†เจ‚ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹;
  • เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ.

เจ‡เจฎเจพเจจเจฆเจพเจฐ เจนเฉ‹เจฃ เจฒเจˆ, เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฎเจ เจจเจนเฉ€เจ‚ เจ†เจ‰เจ‚เจฆเฉ€ เจ•เจฟ เจ‡เจน เจ–เจผเจฌเจฐ เจนเจพเจฌเจฐ เจฆเฉเจ†เจฐเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฒเฉฐเจ˜เฉ€. เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจˆ เจตเจฟเจนเจพเจฐเจ• เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚.

เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจ‡เฉฑเจ• เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจฟเจฐเจซเจผ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‰เจน. เจฎเฉˆเจจเฉ‡เจœเจฎเฉˆเจ‚เจŸ เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ—เฉ‡เจŸเจตเฉ‡ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ เจ…เจœเฉ‡ เจตเฉ€ เจ…เจธเฉฐเจญเจต เจนเฉˆเฅค

เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš เจ‡เจธ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉŒเจฃ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ?

  1. เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ• เจœเฉ‹ เจฐเฉเจŸเฉ€เจจ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจ•เจพเจฐเจœเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจœเจพเจ‚ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ;
  2. เจ‰เจน เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจœเฉ‹ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจนเฉฑเจฒเจพเจ‚ (เจตเจฐเจšเฉเจ…เจฒเจพเจˆเจœเฉ‡เจธเจผเจจ เจธเจฟเจธเจŸเจฎ, เจŸเจฟเจ•เจŸ เจธเจฟเจธเจŸเจฎ, เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจฎเฉˆเจจเฉ‡เจœเจฎเฉˆเจ‚เจŸ เจธเจฟเจธเจŸเจฎ, เจ†เจฆเจฟ) เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ;
  3. เจธเจฟเจธเจŸเจฎ เจ‡เฉฐเจŸเฉ€เจ—เฉเจฐเฉ‡เจŸเจฐ เจœเฉ‹ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจ†เจฐเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเจพเจ‚ เจตเจพเจงเฉ‚ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ-เจธเจฌเฉฐเจงเจค เจ‰เจคเจชเจพเจฆ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ†เจฎ เจธเจ•เฉ€เจฎ

เจ‡เจธ เจฒเจˆ, เจ†เจ“ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ†เจฎ เจธเจ•เฉ€เจฎ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ:

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ†เจฎ เจตเจพเจ‚เจ— เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ—เฉ‡เจŸเจตเฉ‡ เจนเฉˆ (SG), เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐ (เจเจธเจเจฎเจเจธ) เจ…เจคเฉ‡ เจเจกเจฎเจฟเจจ เจ•เฉฐเจธเฉ‹เจฒ (เจธเจฎเจพเจฐเจŸ เจ•เฉฐเจธเฉ‹เจฒ). เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ†เจฎ เจ—เฉ‡เจŸเจตเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ‰เจน. เจชเจนเจฟเจฒเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเจฌเฉฐเจงเจ• เจฆเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจธเจฎเจพเจฐเจŸ เจ•เฉฐเจธเฉ‹เจฒ, เจœเจฟเจธ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจฆเฉ‡ เจนเจพเจ‚ (เจเจธเจเจฎเจเจธ). เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ SMS 'เจคเฉ‡ เจฌเจฃเจพเจˆเจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจ•เฉ‡เจตเจฒ เจคเจฆ เจนเฉ€ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ (เจจเฉ€เจคเฉ€ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹) เจ—เฉ‡เจŸเจตเฉ‡ เจคเฉฑเจ• (SG).

เจตเจฐเจคเจฃ เจตเฉ‡เจฒเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ API, เจ…เจธเฉ€เจ‚ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ‡ เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ (เจธเจฎเจพเจฐเจŸ เจ•เฉฐเจธเฉ‹เจฒ เจฒเจพเจ‚เจš เจ•เจฐเฉ‹) เจ…เจคเฉ‡ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ API เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจธเจฟเฉฑเจงเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐ (SMS) เจจเฉ‚เฉฐ.

API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ‡ เจคเจฐเฉ€เจ•เฉ‡

API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจšเจพเจฐ เจฎเฉเฉฑเจ– เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ:

1) mgmt_cli เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจ‰เจฆเจพเจนเจฐเจจ - # mgmt_cli เจนเฉ‹เจธเจŸ เจจเจพเจฎ host1 ip-address 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 เจฐเจพเจนเฉ€เจ‚

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจตเจฟเฉฐเจกเฉ‹ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ CLI เจธเจฟเฉฑเจงเฉ‡ เจคเฉ‹เจ‚ เจธเจฎเจพเจฐเจŸ เจ•เฉฐเจธเฉ‹เจฒ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจคเจธเจตเฉ€เจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ‡เจธ เจตเจฟเฉฐเจกเฉ‹ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค API เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเจพเจ–เจฒ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

4) เจตเฉˆเฉฑเจฌ เจธเฉ‡เจตเจพเจตเจพเจ‚เฅค HTTPS เจชเฉ‹เจธเจŸ เจฌเฉ‡เจจเจคเฉ€ (REST API) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹

เจธเจพเจกเฉ€ เจฐเจพเจ เจตเจฟเฉฑเจš, เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจขเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ "เจฌเจฟเจฒเจก" เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐ เจชเฉเจฐเจฌเฉฐเจงเจจ (เจŸเฉŒเจŸเฉ‹เจฒเฉ‹เจœเฉ€ เจฒเจˆ เจ…เจซเจธเฉ‹เจธ เจนเฉˆ)เฅค เจนเฉ‡เจ เจพเจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจตเฉ‡เจ–เจพเจ‚เจ—เฉ‡.

เจธเฉฐเจ–เฉ‡เจช เจ•เจฐเจจ เจฒเจˆ:

  1. API + cli เจธเจฟเจธเจ•เฉ‹ เจฆเฉ‡ เจ†เจฆเฉ€ เจฒเฉ‹เจ•เจพเจ‚ เจฒเจˆ เจตเจงเฉ‡เจฐเฉ‡ เจขเฉเจ•เจตเจพเจ‚;
  2. API + เจธเจผเฉˆเฉฑเจฒ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฐเฉเจŸเฉ€เจจ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ;
  3. REST API เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ เจฒเจˆ.

API เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจเจพ

เจชเฉ‚เจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡, API 4GB เจคเฉ‹เจ‚ เจตเฉฑเจง RAM เจ…เจคเฉ‡ 8GB เจคเฉ‹เจ‚ เจตเฉฑเจง RAM เจฆเฉ‡ เจจเจพเจฒ เจธเจŸเฉˆเจ‚เจกเจ…เจฒเฉ‹เจจ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจเจพเจ‚ เจตเจพเจฒเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹: api เจธเจฅเจฟเจคเฉ€

เจœเฉ‡ เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจเจชเฉ€เจ†เจˆ เจ…เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ SmartConsole เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจเจพ เจ•เจพเจซเจผเฉ€ เจ†เจธเจพเจจ เจนเฉˆ: เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ > เจฌเจฒเฉ‡เจก > เจชเฉเจฐเจฌเฉฐเจงเจจ API > เจ‰เฉฑเจจเจค เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจซเจฟเจฐ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเฉ‹ (เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเฉ‹) เจฌเจฆเจฒเฉ‹ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“ api เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹.

เจตเฉˆเฉฑเจฌ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ + เจชเจพเจˆเจฅเจจ

API เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจตเฉˆเฉฑเจฌ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจชเจพเจˆเจฅเจจ เจ…เจคเฉ‡ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚, เจœเฉ‡เจธเจจ. เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจฌเจฃเจคเจฐ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจญเจพเจ— เจนเฉเฉฐเจฆเฉ‡ เจนเจจ:

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 เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจจเจพเจฒ เจœเฉ‹เฉœ เจ•เฉ‡ เจชเฉ‹เจธเจŸเจฎเฉˆเจจ. เจชเฉ‹เจธเจŸเจฎเฉˆเจจ เจ•เฉ‹เจฒ เจตเจฟเฉฐเจกเฉ‹เจœเจผ, เจฒเฉ€เจจเจ•เจธ เจ…เจคเฉ‡ เจฎเฉˆเจ•เฉ‹เจธ เจฒเจˆ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจธเฉฐเจธเจ•เจฐเจฃ เจนเจจเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ—เฉ‚เจ—เจฒ เจ•เจฐเฉ‹เจฎ เจฒเจˆ เจ‡เฉฑเจ• เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉˆ. เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจตเจฐเจคเจพเจ‚เจ—เฉ‡. เจชเจนเจฟเจฒเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ—เฉ‚เจ—เจฒ เจ•เจฐเฉ‹เจฎ เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจชเฉ‹เจธเจŸเจฎเฉˆเจจ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจ…เจคเฉ‡ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ‡เจธ เจธเจนเฉ‚เจฒเจค เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ API เจจเฉ‚เฉฐ เจตเฉˆเฉฑเจฌ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเจพเจ‚เจ—เฉ‡เฅค เจธเจพเจฐเฉ€เจ†เจ‚ API เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฏเจพเจฆ เจจเจพ เจฐเฉฑเจ–เจฃ เจฒเจˆ, เจ…เจ–เฉŒเจคเฉ€ เจธเฉฐเจ—เฉเจฐเจนเจฟ (เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ) เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจพเจฐเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจนเจจ:

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ เจคเฉเจธเฉ€เจ‚ เจฒเฉฑเจญเฉ‹เจ—เฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจจเฉ‚เฉฐ R80.10. เจ†เจฏเจพเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, API เจ•เจฎเจพเจ‚เจก เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเจพเจกเฉ‡ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจœเจพเจฃเจ—เฉ‡:

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ R80.10 APIเฅค CLI, เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจจ

เจฎเฉ‡เจฐเฉ€ เจฐเจพเจ เจตเจฟเฉฑเจš, เจ‡เจน เจฌเจนเฉเจค เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ. เจคเฉเจธเฉ€เจ‚ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ + เจœเจตเจพเจฌเจฏเฉ‹เจ—

เจฎเฉˆเจ‚ เจ‡เจน เจตเฉ€ เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ‰เฉฑเจฅเฉ‡ เจนเฉˆ Ansimate เจฎเฉ‹เจกเฉ€ .เจฒ เจšเฉˆเฉฑเจ•เจชเฉเจ†เจ‡เฉฐเจŸ API เจฒเจˆเฅค เจฎเฉ‹เจกเฉ€เจŠเจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฐเจจเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ•เจฟเจธเฉ‡ เจตเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฒเจฟเจ–เจฃเจพ เจตเจงเฉ‡เจฐเฉ‡ เจฒเจšเจ•เจฆเจพเจฐ เจ…เจคเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉฑเจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจฟเฉฑเจŸเจพ

เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ API เจฆเฉ€ เจธเจพเจกเฉ€ เจ›เฉ‹เจŸเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจฎเฉ‡เจฐเฉ€ เจฐเจพเจ เจตเจฟเฉฑเจš, เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจฌเจนเฉเจค เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจ‰เจกเฉ€เจ•เฉ€ เจ—เจˆ เจ…เจคเฉ‡ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€. เจเจชเฉ€เจ†เจˆ เจฆเจพ เจ‰เจญเจพเจฐ เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจ‡เฉฐเจŸเฉ€เจ—เจฐเฉ‡เจŸเจฐเจพเจ‚ เจฒเจˆ เจฌเจนเฉเจค เจตเจฟเจ†เจชเจ• เจฎเฉŒเจ•เฉ‡ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ เจœเฉ‹ เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ†เจฐเจ•เฉˆเจธเจŸเฉเจฐเฉ‡เจธเจผเจจ, เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ, SIEM เจซเฉ€เจกเจฌเฉˆเจ•... เจ‡เจน เจธเจญ เจนเฉเจฃ เจธเฉฐเจญเจต เจนเฉˆเฅค

PS เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจฒเฉ‡เจ– เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจนเจฎเฉ‡เจธเจผเจพ เจตเจพเจ‚เจ— เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจนเจฌเจฐ เจœเจพเจ‚ 'เจคเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจธเจพเจˆเจŸ.

PSS เจšเฉˆเฉฑเจ• เจชเฉเจ†เจ‡เฉฐเจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจคเจ•เจจเฉ€เจ•เฉ€ เจธเจตเจพเจฒเจพเจ‚ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเฉ‹?

  • 70,6%เจนเจพเจ‚12

  • 23,5%เจจเฉฐ 4

  • 5,9%เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ 1 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

17 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจชเจพเจˆเฅค 3 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจชเจฐเจนเฉ‡เจœเจผ เจฐเจนเฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹