我正在尝试以编程方式将列入黑名单的IP添加到防火墙。 我尝试这样做,但出现错误。 我对python并不是那么陌生,但是我对阅读文档不是那么精通,所以如果有帮助的话,这里就是。
https://media.readthedocs.org/pdf/smc-python/latest/smc-python.pdf
https://smc-python.readthedocs.io/en/latest/index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
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()
Traceback (most recent call last): File
"/home/matthew/PycharmProjects/GitSMC/BlacklistTest.py", line 12, in
system.blacklist(src='1.1.1.1/32', dst='2.2.2.2/32', duration=3600)
File
"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/administration/system.py",
line 159, in blacklist
json=prepare_blacklist(src, dst, duration, **kw))
File
"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/base/mixins.py",
line 32, in make_request
result = getattr(request, method)()
File
"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py",
line 66, in create
return self._make_request(method='POST')
File
"/home/matthew/PycharmProjects/GitSMC/venv/lib/python3.7/site-packages/smc/api/common.py",
line 101, in _make_request
raise err
smc.api.exceptions.ActionCommandFailed: Invalid JSON format: At line 1
and column 17, end_point1 is not recognized as JSON attribute.
可以通过多种方法将其列入黑名单,既可以通过上面的系统入口点,也可以针对单个防火墙/群集单独进行黑名单。
如果使用系统入口点,则黑名单条目将转到所有SMC管理的防火墙。
根据该消息,您似乎正在使用较新版本的smc-python(即>6.5.x)。
在这种情况下,最好使用引擎级别黑名单:
1
2
3
4
5
6
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命令。
一 首先要了解什么是盗链盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或者提供很少的资源,而真正的服务提供商却得不到任何的利益。
最熟悉的,就是盗版网络小说网站,可能盗链起点中文网等的小说内容。
根据盗链的形式,可简单地分成2类,常规盗链和分布式盗链。 常规盗链,只针对某个或某些网站的链接。在自己的页面嵌入别人的链接即可。分布式盗链,互联网上任何一台机器都可成为盗链的对象。服务提供商一般在后台设置专门程序(spider,爬虫)在网上抓取有用的链接,然后存储到自己的数据库中,而对于最终用户的每次访问,都将其转化为对已有数据库的查询。被查询到的URL就是被盗链的对象。由于对文件的访问已经被浏览器屏东掉了,最终用户感觉不到所访问的链接是被盗取的链接。
二 反盗链
原始方式, 修改文件或目录的名称
限制引用页, 仅限自己站内提交,或自己信任的站点提交的。否则视为盗链
文件伪装,用得最多的技术,一般结合服务器动态脚本,。实际上用户请求的文件地址,只是一个经过伪装的脚本文件。这个脚本文件会对用户的请求作认证。一般会检查session,cookie或者http_referer作为判断是否为盗链的依据。而真实的文件实际隐藏在用户不能够访问的地方,只有用户通过验证以后才会返回给用户。
加密认证, 先从客户端获取用户信息,根据信息和用户请求的文件名一起加密成session id作身份验证。成功后,才把用户需要的文件传送给客户。对分布式盗链非常有效。
随机附加码,