NextGuardHQ/nextguard-drupal-10

GitHub: NextGuardHQ/nextguard-drupal-10

NextGuard 官方的 Drupal 10 模块,自动同步站点模块与主题清单至云端仪表盘,实现持续 CVE 漏洞监控。

Stars: 0 | Forks: 0

# NextGuard 安全扫描器 — Drupal 10 [![许可证:GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](LICENSE) ![Drupal](https://img.shields.io/badge/Drupal-10-0678be) ![PHP](https://img.shields.io/badge/PHP-8.1%2B-777bb4) ![Version](https://img.shields.io/badge/version-1.0.0-success) [NextGuard](https://nextguardhq.com) 的官方 Drupal 10 模块。它会将您启用的模块和主题同步到您的 NextGuard 项目中,以便您可以在单一仪表盘中监控您的 Drupal 技术栈是否存在已知的 CVE。 ## 功能 - 通过 `hook_cron()` 自动同步(限制为每 12 小时一次) - 通过 Drush 实现完整的 Device Authorization Flow — 无需复制粘贴 token - 同步每个已安装的模块和主题(机器名 + 版本 + 激活状态) - 使用 HMAC-SHA256 对请求进行签名;凭证存储在 Drupal config/state 中 ## 要求 - Drupal 10 - PHP 8.1 或更高版本 - [Drush](https://www.drush.org/) 12+(建议用于连接) - **Starter** 计划或以上的 NextGuard 账户(从 Starter 计划起即包含 CMS 插件同步功能) ## 安装说明 ### 使用 Composer(推荐) ``` composer require nextguardhq/nextguard-drupal drush en nextguard -y ``` ### 手动安装 1. 下载最新版本并将其解压到 `modules/custom/nextguard/` 目录中。 2. 启用模块: drush en nextguard -y drush cr ## 连接 使用 Device Authorization Flow 进行连接 — 运行一个命令并从您的 NextGuard 仪表板中进行授权: ``` drush nextguard:connect vs_pk_your_api_key ``` 该命令会打印一个简短的代码。打开 **nextguardhq.com/account → Connected Devices**,输入该代码,模块就会自动存储生成的设备 token 和项目信息。 | 命令 | 描述 | |---|---| | `drush nextguard:connect ` | 通过 Device Authorization Flow 进行连接 | | `drush nextguard:status` | 显示连接状态和上次同步时间 | | `drush nextguard:sync` | 立即强制手动同步 | | `drush nextguard:disconnect` | 删除所有存储的凭证 | 从 **NextGuard → Account → API Keys** 获取您的 API key(从 Starter 计划起包含)。 ## 工作原理 在每次运行 cron 时(最多每 12 小时一次),该模块会: 1. 通过 `extension.list.module` 列出已安装的模块,并通过 `extension.list.theme` 列出主题。 2. 构建包含机器名、版本和激活状态的清单。 3. 使用 Guzzle HTTP client 向 `https://nextguardhq.com/api/v1/cms/sync` 发送带有签名的 `POST` 请求,并在 `X-API-Key` header 中携带设备 token。 您可以按需使用 `drush nextguard:sync` 或 `drush cron` 触发它。 ## 故障排除 **同步从未运行** — 确保 cron 已正确配置(`drush cron`),并且服务器能够向 `nextguardhq.com` 发起出站 HTTPS 请求。 **检查是否成功** — 在您的 NextGuard 项目中,查找名为 `cms-manifest-drupal.json` 的文件,或运行 `drush nextguard:status`。 **查看错误** — `drush watchdog:show --type=nextguard` ## 许可证 根据 [GNU General Public License v2.0](LICENSE) 或更高版本发布,与 Drupal 核心及贡献生态系统保持一致。
标签:CWE/CVE, Drupal, ffuf, OpenVAS, PHP, 安全合规, 插件模块, 漏洞监控, 网络代理