Skip to main content

与 CheckPoint R80 API 交互的 python 客户端。

项目描述

# checkpoint_client
与 CheckPoint R80 API (https://sc1.checkpoint.com/documents/R80/APIs/#ws) 交互的 python 客户端。

# 安装
```
pip install checkpoint-client
```

# 功能
1. 执行基本功能,例如添加/删除对象、获取标签、在组中显示对象、发布和安装策略。
2.身份验证会话(sid)可以使用配置文件进行持久化。如果 session 无效,自动重新认证并更新 sid。
3.管理服务器指纹验证。

# 免责声明
1. CheckPoint R80 API 不允许在一次调用中向一个组添加/删除多个主机对象。必须创建每个主机对象,然后将其添加/删除到组中。这导致非常慢的(串行)执行。
2. 在我们的测试中,我们注意到一些不稳定性,变化非常大(10k+)。

# Example
示例配置文件
```
[checkpoint]
username = myusername
# API 不支持基于证书的身份验证
password = mypassword
domain = DMZ

# 一些有用的文件使 CP 会话更具描述性
session-name = inet_blacklist
session-comments = API 自动化示例
session-description = 已知恶意 IP 的自动 DMZ 黑名单(来自 TIP)。
cp_server = 10.10.100.32

# 如果指纹验证失败则退出
指纹 = 82C9C0B60850901BBDF5653D794ADF8E8AAEA1B7
verify_fingerprint = True

# 如果设置为 True,则不进行任何更改
dryrun = False

# 如果验证成功则自动填充
sid =

[dmz_blacklist]
color = red
group = GRP-DMZ_BAD_IP_FROM_TIP_target
= CLLAB_DM
```

一个简单的脚本,用于将主机对象添加到现有组对象、发布更改并最后安装策略。
```
from checkpoint_client import CheckPointClient
from checkpoint_client.utils import set_default_logger, add_logger_streamhandler

# 实例化一个客户端
logger = set_default_logger("inet_blacklist_mgr", "DEBUG")
add_logger_streamhandler(logger, "INFO")
cpc = CheckPointClient('configs/example.ini', logger)

bad_IPs = ['1.2.3.4', '5.6.7.8', ' 9.0.11.12', '13.14.15.16']

color = config.get('dmz_blacklist', 'color', fallback=cpc.default_color),
group = config.get('dmz_blacklist', 'group', fallback="MY_DEFAULT_GROUP ")
target = config.get('dmz_blacklist', 'target', fallback="DMZ_CLUSTER") success_count

= 0
fail_count = 0
for bad_ip in bad_IPs:
resp = cpc.add_host(
name=bad_ip,
ipaddr=bad_ip,
tags="bad_ips_from_tip",
comments="使用 API 包装器导入示例",
color=color,
groups=group)
if resp.success: success_count
+= 1
else:
fail_count += 1

logger.info({'message': {'total': len(bad_IPs), 'success': success_count, 'fail': fail_count} )

# 发布更改
resp = cpc.publish()
if resp.success:
logger.info({'message': "策略发布成功"})
else:
logger.error('message': "策略发布失败。")

#安装策略
# https://sc1.checkpoint.com/documents/R80/APIs/?#gui-cli/install-policy
params = {'access': True, 'threat-prevention': False, 'install-on- all-cluster-members-or-fail': True}

resp = cpc.install_policy(group, target, **params)
if resp.success:
logger.info({'message': "策略安装成功"})
else:
logger.error('message': "策略安装失败。")

cpc.logout()
```


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

checkpoint_client-0.0.1.tar.gz (11.9 kB 查看哈希

已上传 source

内置分布

checkpoint_client-0.0.1-py3-none-any.whl (13.8 kB 查看哈希

已上传 py3