项目简介

这是一个基于 Rust 语言实现的 Wazuh MCP 服务器。其核心功能是将 Wazuh Security Information and Event Management (SIEM) 系统中的安全告警数据转换为符合 Model Context Protocol (MCP) 规范的格式,供兼容的 LLM 客户端(如 Claude Desktop)使用,从而为 LLM 应用提供丰富的安全上下文信息和可调用的功能。

主要功能点

  • 获取 Wazuh 数据: 通过调用 Wazuh Indexer API,获取最新的安全告警信息。
  • 数据转换: 将 Wazuh 告警的原始 JSON 数据结构转换为 MCP 协议定义的标准化上下文信息。
  • 支持 MCP 协议: 实现 MCP 协议的 JSON-RPC 通信,处理来自 LLM 客户端的初始化、获取能力、请求上下文、调用工具、获取 Prompt 等请求。
  • 多种传输方式: 支持通过标准输入/输出 (Stdio) 或 HTTP 协议与 MCP 客户端通信。
  • 能力声明: 向客户端声明服务器支持的功能,包括工具、资源和 Prompt。
  • 工具注册与执行: 提供一个名为 'wazuhAlertSummary' 的工具,当 LLM 客户端调用该工具时,服务器会获取 Wazuh 告警并生成一个文本摘要作为结果返回。
  • Prompt 定义: 定义 Prompt 模板,指导 LLM 进行特定的交互,例如 'list-wazuh-alerts' Prompt。

安装步骤

  1. 下载可执行文件:
    • 访问项目的 GitHub Releases 页面 ('https://github.com/gbrigandi/mcp-server-wazuh/releases')。
    • 下载与您的操作系统架构相匹配的最新版本二进制文件(例如 'mcp-server-wazuh-linux-amd64', 'mcp-server-wazuh-macos-amd64', 'mcp-server-wazuh-windows-amd64.exe')。
  2. 赋予执行权限 (Linux/macOS):
    • 打开终端,导航到下载文件的目录。
    • 运行命令 'chmod +x <下载的文件名>'。
  3. (可选) 简化访问:
    • 将下载的文件重命名为更简洁的名称(如 'mcp-server-wazuh')。
    • 将其移动到系统 PATH 包含的目录中(如 '/usr/local/bin'),以便可以直接通过名称运行。

服务器配置 (针对 MCP 客户端)

MCP 服务器通常作为 LLM 客户端的子进程启动(Stdio 模式)或通过网络连接(HTTP 模式)。您需要在 MCP 客户端的配置文件中指定如何启动和连接到此 Wazuh MCP 服务器。以下是一个常见的配置结构示例(具体字段名称和配置方式取决于您使用的 MCP 客户端):

{
  // ... 您的 MCP 客户端的其他配置
  "mcpServers": {
    "wazuh": { // 给这个MCP服务器实例起一个唯一的名称,例如 "wazuh"
      "command": "/path/to/your/downloaded/mcp-server-wazuh", // 指向您下载并赋予执行权限的MCP服务器可执行文件的完整路径
      "args": [], // 传递给MCP服务器启动命令的额外参数列表,通常留空
      "env": { // 设置MCP服务器运行所需的环境变量,特别是连接Wazuh的信息
        "WAZUH_HOST": "your_wazuh_indexer_host", // Wazuh Indexer 的 IP 地址或主机名
        "WAZUH_PORT": "9200", // Wazuh Indexer API 的端口号,默认为 9200
        "WAZUH_USER": "your_wazuh_user", // 具有 API 访问权限的 Wazuh 用户名
        "WAZUH_PASS": "your_wazuh_password", // 对应 Wazuh 用户的密码
        "VERIFY_SSL": "false", // 是否验证 Wazuh API 的 SSL 证书,设置为 "true" 会进行验证,"false" 跳过验证 (生产环境强烈建议设置为 "true")
        "MCP_SERVER_PORT": "8000", // 如果您希望 MCP 服务器也启动 HTTP 监听模式,指定一个端口号
        "RUST_LOG": "info" // 控制 MCP 服务器输出的日志级别 (可选,常见值有 info, debug, trace)
      }
    }
    // ... 可以配置其他 MCP 服务器实例
  }
}

请根据您的实际 Wazuh 环境和 MCP 客户端的要求填写上述配置信息。

基本使用方法

完成上述安装和配置步骤后:

  1. 确保您的 Wazuh Indexer API 已启用并可从运行 MCP 服务器的机器访问。
  2. 启动您的 MCP 客户端(例如配置好的 Claude Desktop)。
  3. MCP 客户端将根据配置自动启动 'mcp-server-wazuh' 可执行文件(Stdio 模式)或尝试连接到指定的 HTTP 地址。
  4. 一旦连接成功,MCP 客户端将能够通过 MCP 协议向服务器请求 Wazuh 安全告警的上下文信息,或调用服务器提供的工具(例如 'wazuhAlertSummary')来获取 Wazuh 数据的处理结果。
  5. LLM 将可以使用这些信息来回答关于您的安全环境的问题,分析告警,或执行工具来获取特定格式的输出。

信息

分类

AI与计算