SMC-Python添加和删除列入黑名单的IP

时间:2018-12-19 21:03:22

标签: python

我正在尝试以编程方式将列入黑名单的IP添加到防火墙。我尝试这样做,但出现错误。我不是python的新手,但是我也不是很精通阅读文档,因此,如果有帮助的话,就在这里。

https://media.readthedocs.org/pdf/smc-python/latest/smc-python.pdf

https://smc-python.readthedocs.io/en/latest/index.html

from smc import session
from smc_monitoring.monitors.blacklist import BlacklistQuery
from smc.core.engines import Engine
from smc.administration.system import System

session.login(url='http://nope', api_key='supersecret')
print("logged in")

# #   Method 1  ERROR
system = System()
print(system.smc_version)
system.blacklist(src='1.1.1.1/32', dst='2.2.2.2/32', duration=3600)
session.logout()
  

回溯(最近通话最近):文件   “ /home/matthew/PycharmProjects/GitSMC/BlacklistTest.py”,第12行,在   

     

system.blacklist(src ='1.1.1.1 / 32',dst ='2.2.2.2 / 32',持续时间= 3600)

     

文件   “ /home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/administration/system.py”,   黑名单中的第159行       json = prepare_blacklist(src,dst,duration,** kw))

     

文件   “ /home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/base/mixins.py”,   第32行,在make_request中       结果= getattr(请求,方法)()

     

文件   “ /home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py”,   第66行,在创建中       返回self._make_request(method ='POST')

     

文件   “ /home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py”,   _make_request中的第101行       提高错误

     

smc.api.exceptions.ActionCommandFailed:无效的JSON格式:在第1行   第17列,end_point1无法识别为JSON属性。

1 个答案:

答案 0 :(得分:1)

有多种方法可以将黑名单列入黑名单,或者通过上述系统入口点,也可以针对单个防火墙/集群单独进行黑名单。 如果使用系统入口点,则黑名单条目将转到所有SMC管理的防火墙。 根据该消息,您似乎正在使用较新版本的smc-python(即> 6.5.x)。

在这种情况下,最好使用引擎级别的黑名单:

from smc.elements.other import Blacklist

engine = Engine('myfw')
blacklist = Blacklist()
blacklist.add_entry(src='1.1.1.1/32', dst='2.2.2.2/32')
engine.blacklist_bulk(blacklist)

我刚刚注意到,系统入口点不具有SMC 6.5的黑名单功能(该库在技术上尚未经过完全认证),但是我将添加到development分支,因为6.5.x将正式发布在接下来的几周内获得支持。

如果使用的是SMC版本<= 6.4.x,则可以使用engine.blacklist或System.blacklist命令。

DLP

相关问题