API:获取所有IPS_Rules

斯文罗斯

我的REST API脚本工作了3个月,出现了问题,现在该脚本因错误而中止。在“ ips_rules = api_ipsrule.list_intrusion_prevention_rules(api_version).intrusion_prevention_rules”行上,脚本中止,并出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\PythonInstall\lib\site-packages\deepsecurity\api\intrusion_prevention_rules_api.py", line 380, in list_intrusion_prevention_rules
    (data) = self.list_intrusion_prevention_rules_with_http_info(api_version, **kwargs)  # noqa: E501
  File "E:\PythonInstall\lib\site-packages\deepsecurity\api\intrusion_prevention_rules_api.py", line 458, in list_intrusion_prevention_rules_with_http_info
    collection_formats=collection_formats)
  File "E:\PythonInstall\lib\site-packages\deepsecurity\api_client.py", line 322, in call_api
    _preload_content, _request_timeout)
  File "E:\PythonInstall\lib\site-packages\deepsecurity\api_client.py", line 153, in __call_api
    _request_timeout=_request_timeout)
  File "E:\PythonInstall\lib\site-packages\deepsecurity\api_client.py", line 343, in request
    headers=headers)
  File "E:\PythonInstall\lib\site-packages\deepsecurity\rest.py", line 238, in GET
    query_params=query_params)
  File "E:\PythonInstall\lib\site-packages\deepsecurity\rest.py", line 228, in request
    raise ApiException(http_resp=r)
deepsecurity.rest.ApiException: (500)
Reason:
HTTP response headers: HTTPHeaderDict({'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1;mode=block', 'Cache-Control': 'no-cache,no-store', 'Pragma': 'no-cache', 'X-DSM-Version': 'Deep Security/11.2.225', 'Content-Type': 'application/json', 'Content-Length': '35', 'Date': 'Mon, 07 Oct 2019 12:23:51 GMT', 'Connection': 'close'})
HTTP response body: {"message":"Internal server error"}

脚本

Script:
from __future__ import print_function
import sys, warnings
import deepsecurity
import datetime
import logging
import smtplib
from deepsecurity.rest import ApiException
from pprint import pprint

deepsecurity.Configuration.verify_ssl = False
# Setup
if not sys.warnoptions:
    warnings.simplefilter("ignore")
configuration = deepsecurity.Configuration()
configuration.host = 'https://HOST:4119/api'


# Authentication
configuration.api_key["api-secret-key"] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Initialization

logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = logging.Formatter(
        '%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

handler_file = logging.FileHandler("e:\\script\\log\\log.txt")
handler_file.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler_file.setFormatter(formatter)
logger.addHandler(handler_file)

logger.info("Start Initialization DSCycleStart")
api_version = 'v1'
api_ipsrule = deepsecurity.IntrusionPreventionRulesApi(deepsecurity.ApiClient(configuration))

filename = "e:\\script\\config\\ruleids_dscycle.txt"
open(filename, 'w').close()
f = open(filename, "a")

logger.info("Start First")
ips_rules = api_ipsrule.list_intrusion_prevention_rules(api_version).intrusion_prevention_rules
for rule in ips_rules:
    f.write(str(rule.id) + "\n")
    highestid = rule.id

logger.info("Start Second")
# BC there is a limit of 5000 per query, it has to be done twice to get up to 10000
search_criteria = deepsecurity.SearchCriteria()
search_criteria.id_value = highestid
search_criteria.id_test = "greater-than"
search_filter = deepsecurity.SearchFilter(None, [search_criteria])


ips_rules = api_ipsrule.search_intrusion_prevention_rules(api_version, search_filter=search_filter).intrusion_prevention_rules
for rule in ips_rules:
    f.write(str(rule.id) + "\n")

logger.info("Finish DSCycleStart")

知道发生了什么变化或我可以做什么吗?

摩根

我对这里可能发生的事情有所了解。大约一个月前,有一小段时间可供下载的趋势科技服务器深度安全防护系统规则更新(DSRU)包含缺少某些元数据的规则。这不会影响规则的功能,但会导致从API提取规则时出现问题。DSRU已更正,因此当前可用的19-044具有完整的元数据。API也进行了改进,以避免在将来的版本中出现这种风险。

为了确认您是否具有受影响的版本,我建议您查看是否有入侵防御规则缺少其“发布日期”(在GUI中显示为N / A)。如果确实有缺少元数据的版本,则可以通过从19-044之前回滚到DSRU,然后应用最新的DSRU来解决API问题。

PS我在趋势科技服务器深度安全防护系统研发部门工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Wikimedia API分别获取所有部分

来自分类Dev

使用API从Google Plus社区获取所有事件

来自分类Dev

如何使用Facebook API获取附近的所有餐厅?

来自分类Dev

使用API(rbvmomi)获取所有VirtualMachines

来自分类Dev

sonarqube java api获取项目的所有问题/违规

来自分类Dev

Youtube API v3-从chanel获取所有视频

来自分类Dev

获取对象的所有字段的API名称的列表。

来自分类Dev

Linkedin公司搜索API:获取所有数据

来自分类Dev

通过REST API获取租户的所有域

来自分类Dev

Soundcloud API-如何获取所有收藏夹?

来自分类Dev

SQL Objects API-获取所有列?

来自分类Dev

musicbrainz api获取所有发行组和发行日期

来自分类Dev

通过REST API获取Nexus存储库的所有版本

来自分类Dev

Mediawiki API沙箱-获取所有翻译替代品

来自分类Dev

如何从gmail API获取“所有邮件”标签?

来自分类Dev

从API获取所有页面

来自分类Dev

无法从Instagram API获取所有标签

来自分类Dev

从Github API获取所有搜索结果

来自分类Dev

MongoDB获取所有记录Java API

来自分类Dev

从facebook API获取所有子附件

来自分类Dev

使用Java API从GitHub获取所有提交

来自分类Dev

从podio api获取所有项目

来自分类Dev

获取所有文章Guardian API

来自分类Dev

Graph API获取所有AAD属性

来自分类Dev

Facebook Api无限获取所有照片

来自分类Dev

Google API获取所有登录帐户

来自分类Dev

无法从Instagram API获取所有标签

来自分类Dev

从facebook API获取所有子附件

来自分类Dev

Instagram通过API获取所有媒体-