【问题标题】:Deep Security API - Intrusion Prevention Rules - Error趋势科技服务器深度安全防护系统 API - 入侵防御规则 - 错误
【发布时间】:2021-02-02 02:12:49
【问题描述】:

我有一个 Python API 查询来收集所有入侵防御规则以及与每个规则关联的计算机的 ID,但在大约 14000 条记录后出现错误:

调用 ComputerIntrusionPreventionRuleDetailsApi.lis 时发生异常 t_intrusion_prevention_rules_on_computer:(500) 原因: HTTP 响应标头: HTTPHeaderDict({'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-P rotection': '1;mode=block', 'Cache-Control': 'no-cache,no-store', 'Pragma': 'no- 缓存','X-DSM-版本':'Deep Security/12.0.296','内容类型':'应用程序/ json', 'Content-Length': '35', 'Date': 'Fri, 16 Oct 2020 14:04:02 GMT', 'Connect 离子':'关闭'}) HTTP 响应正文:{"message":"Internal server error"}

我的脚本如下:

# -*- coding: utf-8 -*-
from __future__ import print_function
import sys, warnings
import pymssql
import datetime
import deepsecurity
import json
import requests
import urllib3
from deepsecurity.rest import ApiException
from urllib3.exceptions import InsecureRequestWarning
from pprint import pprint
urllib3.disable_warnings(InsecureRequestWarning)
if not sys.warnoptions:
               warnings.simplefilter("ignore")
configuration = deepsecurity.Configuration()
configuration.host = "Server/api/"


# Authentication
configuration.api_key['api-secret-key'] = 'Key'

# Initialization
# Set Any Required Values
conn = pymssql.connect("localhost","" ,"", "DeepSecurity")
cursor = conn.cursor()
cursor2 = conn.cursor()
api_instance = deepsecurity.ComputerIntrusionPreventionRuleDetailsApi(deepsecurity.ApiClient(configuration))
api_instance2 = deepsecurity.ComputersApi(deepsecurity.ApiClient(configuration))
api_version = 'v1'

overrides = False

try:
        recorddt = datetime.datetime.now()
        api_response2 = api_instance2.list_computers(api_version, overrides=overrides)

        for y in  api_response2.computers:
         
          api_response = api_instance.list_intrusion_prevention_rules_on_computer(y.id,api_version,overrides=overrides)
          for x in  api_response.intrusion_prevention_rules:


         
           strCVE=(x.cve)
           clean_cve=str(strCVE).replace("['", "").replace("']", "").replace("'", "")

           
           
           cursor.executemany("INSERT INTO ip_rules VALUES (%d, %s, %s ,%s,%s) ", [(x.id,x.name,clean_cve,recorddt,y.id)])
           conn.commit()
except ApiException as e:
               print("An exception occurred when calling ComputerIntrusionPreventionRuleDetailsApi.list_intrusion_prevention_rules_on_computer: %s\n" % e)

【问题讨论】:

    标签: api trend deepsecurity


    【解决方案1】:

    我猜它是在使用不同的计算机 ID(如 y.id)循环 (list_intrusion_prevention_rules_on_computer) 时发生的。

    趋势科技服务器深度安全防护系统管理中心似乎能够识别异常并返回 500 内部服务器错误(并带有标头信息)。因此,您可能需要检查 server0.log 中是否有任何异常,您可能会从中得到一些线索。

    您还想确定哪些计算机未能分配预防规则并重试。

    【讨论】:

    • 谢谢 HsiehYY 没想到是电脑没有规则,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多