NextGuardHQ/nextguard-drupal-11
GitHub: NextGuardHQ/nextguard-drupal-11
NextGuard 官方的 Drupal 11 模块,自动同步站点模块与主题清单至 NextGuard 平台以实现持续的 CVE 漏洞监控。
Stars: 0 | Forks: 0
# NextGuard 安全扫描器 — Drupal 11
[](LICENSE)



适用于 [NextGuard](https://nextguardhq.com) 的官方 Drupal 11 模块。它会将您
已启用的模块和主题同步到您的 NextGuard 项目,以便您可以在单个仪表盘中
监控您的 Drupal 技术栈是否存在已知的 CVE 漏洞。
## 功能
- 通过 `hook_cron()` 自动同步(限制为每 12 小时一次)
- 通过 Drush 进行完整的设备授权流程 — 无需复制粘贴 token
- 同步每个已安装的模块和主题(机器名 + 版本 + 激活状态)
- 请求使用 HMAC-SHA256 进行签名;凭证存储在 Drupal config/state 中
## 要求
- Drupal 11
- 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
## 连接
使用设备授权流程进行连接 — 运行一个命令并从您的
NextGuard 仪表盘中对其进行授权:
```
drush nextguard:connect vs_pk_your_api_key
```
该命令会输出一个简短的验证码。打开 **nextguardhq.com/account → Connected
Devices**,输入验证码,模块就会自动存储生成的设备 token 和
项目。
| 命令 | 描述 |
|---|---|
| `drush nextguard:connect ` | 通过设备授权流程进行连接 |
| `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 客户端发送签名后的 `POST` 请求到 `https://nextguardhq.com/api/v1/cms/sync`,并在 `X-API-Key` 标头中附带设备 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 核心及贡献生态系统保持一致。
标签:Drupal模块, Drush, ffuf, GPT, OpenVAS, PHP, SaaS集成, 安全合规, 漏洞管理, 网络代理