WAF管理MCP服务器

一个基于Model Context Protocol (MCP)的服务器,通过自然语言管理Check Point CloudGuard WAF配置,适用于AI助手集成和自动化安全策略管理。

  • by Presidentsu
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Presidentsu/checkpoint-waf-mcp

使用说明

Check Point CloudGuard WAF MCP服务器

A. 模型上下文协议(MCP) 包装Check Point CloudGuard WAF Management GraphQL API的服务器。这使像Claude这样的AI助手能够通过自然语言管理您的CloudGuard WAF配置。

它的作用

此MCP服务器公开 68工具 让AI助手完全管理您的CloudGuard WAF部署:

类别 工具 你能做什么
资产 9 创建、更新、删除Web应用程序和Web API资产
档案 14 管理Docker、Kubernetes、嵌入式和AppSec网关部署配置文件
实践 10 配置Web应用程序和Web API安全实践(IPS、WebAttacks、WebBot等)
行为 10 管理异常、可信来源和web用户响应行为
区域 5 创建和管理安全区域
触发器 6 使用syslog、CEF、云和代理日志配置日志触发器
政策 9 发布更改、执行策略、查看威胁防御策略
代理 3 列出代理、撤销访问权限、触发升级

先决条件

  • Python 3.10+
  • Check Point Infinity门户帐户 启用CloudGuard WAF
  • API证书 来自Infinity门户的(客户端ID和密钥)

安装

使用紫外线(推荐)

# Clone the repo
git clone https://github.com/presidentsu/checkpoint-waf-mcp.git
cd checkpoint-waf-mcp

# Create venv and install
uv venv
uv pip install -e .

使用pip

git clone https://github.com/presidentsu/checkpoint-waf-mcp.git
cd checkpoint-waf-mcp

python -m venv .venv
source .venv/bin/activate   # On Windows: .venv\Scripts\activate
pip install -e .

配置

1.获取API凭据

  1. 登录到 Check Point无限门户
  2. 首选 设置>API密钥
  3. 使用CloudGuard WAF权限创建新的API密钥
  4. 注意你的 客户端ID 和 密钥

2.设置环境变量

export CHECKPOINT_CLIENT_ID="your-client-id"
export CHECKPOINT_SECRET_KEY="your-secret-key"
export CHECKPOINT_REGION="us"  # Options: us, eu, india, australia

或复制 .env.example 到 .env 并填写你的价值观。

3.连接到您的MCP客户端

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "checkpoint-waf": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/checkpoint-waf-mcp",
        "run", "checkpoint-waf-mcp"
      ],
      "env": {
        "CHECKPOINT_CLIENT_ID": "your-client-id",
        "CHECKPOINT_SECRET_KEY": "your-secret-key",
        "CHECKPOINT_REGION": "us"
      }
    }
  }
}

克劳德代码(CLI)

添加到您的 .claude/settings.json:

{
  "mcpServers": {
    "checkpoint-waf": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/checkpoint-waf-mcp",
        "run", "checkpoint-waf-mcp"
      ],
      "env": {
        "CHECKPOINT_CLIENT_ID": "your-client-id",
        "CHECKPOINT_SECRET_KEY": "your-secret-key",
        "CHECKPOINT_REGION": "us"
      }
    }
  }
}

支持的地区

区域 端点
us (默认) cloudinfra-gw-us.portal.checkpoint.com
eu cloudinfra-gw.portal.checkpoint.com
india cloudinfra-gw.in.portal.checkpoint.com
australia cloudinfra-gw.au.portal.checkpoint.com

使用示例

连接后,您可以向您的AI助手询问以下问题:

  • “列出我的所有WAF资产”
  • “使用上游URL创建一个名为“prod-app”的新Web应用程序资产http://10.0.0.1"
  • “显示资产X所附的安全实践”
  • “将IPS实践切换到预防模式”
  • “创建一个日志触发器,发送到192.168.1.100的syslog服务器”
  • “发布并执行当前策略”
  • “哪些代理商与生产概况有关?”

建筑

src/checkpoint_waf_mcp/
├── __main__.py          # Entry point
├── config.py            # Region endpoints & env var loading
├── auth.py              # Token auth with auto-refresh
├── graphql_client.py    # Async GraphQL client with retry
├── server.py            # FastMCP server & tool registration
├── queries/             # GraphQL query/mutation definitions
│   ├── assets.py
│   ├── profiles.py
│   ├── practices.py
│   ├── behaviors.py
│   ├── zones.py
│   ├── triggers.py
│   ├── policy.py
│   └── utility.py
└── tools/               # MCP tool implementations
    ├── assets.py
    ├── profiles.py
    ├── practices.py
    ├── behaviors.py
    ├── zones.py
    ├── triggers.py
    ├── policy.py
    └── agents.py

许可证

Apache 2.0-请参阅 许可证 了解详情。