Skip to content

Commit b645246

Browse files
committed
docs(sec): enhance security warnings for gremlin execution in CN docs
1 parent 1fda07c commit b645246

5 files changed

Lines changed: 21 additions & 3 deletions

File tree

content/cn/docs/clients/restful-api/gremlin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ description: "Gremlin(图查询语言)REST 接口:通过 HTTP 接口执行 G
77

88
### 8.1 Gremlin
99

10+
> ⚠️ **SEC 提醒:生产环境下安全使用原生查询接口**
11+
>
12+
> 图查询语言 (如 Gremlin/Cypher) 本身的灵活性会带来一些潜在的安全隐患。为了保障核心安全,**请避免直接在公网环境暴露任何相关的原生查询接口**
13+
> 在必须对内暴露的生产场景中,必须开启 **[鉴权体系 (Auth)](/cn/docs/config/config-authentication/)** 并结合 **IP 白名单**作为双重保障机制,严格控制用户执行权限。同时建议结合 Audit Log (审计日志) 来审计具体执行的语句,以及采用 **[容器环境 (Docker/K8s)](/cn/docs/quickstart/hugegraph/hugegraph-server/#31-使用-docker-容器-便于测试)** 部署以提升系统级的安全隔离。
14+
1015
#### 8.1.1 向 HugeGraphServer 发送 gremlin 语句(GET),同步执行
1116

1217
##### Params

content/cn/docs/config/config-authentication.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ user(name=xx) -belong-> group(name=xx) -access(read)-> target(graph=graph1, reso
2424

2525
### 配置用户认证
2626

27-
HugeGraph 目前默认**未启用**用户认证功能,需通过修改配置文件来启用该功能。(Note: 如果在生产环境/外网使用,
28-
请使用 **Java11** 版本 + 开启权限避免安全相关隐患)
27+
HugeGraph 目前默认**未启用**用户认证功能,需通过修改配置文件来启用该功能。
28+
29+
> ⚠️ **SEC 提醒:图查询语言 (Gremlin/Cypher) 的安全性**
30+
>
31+
> 出于图查询语言的灵活性可能带来的潜在系统安全隐患,**请避免直接在公网/外网环境暴露任何查询相关接口**。在实际生产部署时,请以此处的 **[鉴权认证体系](/cn/docs/config/config-authentication/)** 结合 **IP 白名单** 为安全双重保障机制,同时建议开启 Audit Log (审计日志) 以精准定位用户执行的具体查询语句。鉴于 Server 的无状态特性,整体架构上强烈推荐采用 **[容器化环境 (Docker/K8s)](/cn/docs/quickstart/hugegraph/hugegraph-server/#31-使用-docker-容器-便于测试)** 部署,以极低成本有效隔离底层系统的安全风险。
2932
3033
目前已内置实现了`StandardAuthenticator`模式,该模式支持多用户认证与细粒度权限控制。此外,开发者可以自定义实现`HugeAuthenticator`接口来对接自身的权限系统。
3134

content/cn/docs/guides/security.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ weight: 7
66

77
## 报告 Apache HugeGraph 的安全问题
88

9+
> ⚠️ **SEC 提醒:致漏洞研究人员关于图查询语言的说明**
10+
>
11+
> 鉴于图查询语言 (如 Gremlin/Cypher) 本身在解析与执行上的灵活性,HugeGraph 推荐在生产环境依赖 **"[Auth (配置鉴权)](/cn/docs/config/config-authentication/) + IP 白名单 + Audit Log (审计日志)"** 机制来践行最小权限原则。同时由于 Server 节点基本是无状态的,**所有生产环境均明确建议使用[容器环境 (Docker/K8s)](/cn/docs/quickstart/hugegraph/hugegraph-server/#31-使用-docker-容器-便于测试) 进行隔离部署**
12+
>
13+
> 近期社区已收到较多关于图查询语言灵活性的安全反馈。在 HugeGraph 安全体系整体重构完成前,对于在**不启用或跳过 Auth 系统/避开授权身份**的前提下执行 DSL 查询的情况,此类已知风险将**不再单独视为新漏洞**进行处理。
14+
>
15+
> 但是,如果在**已开启 Auth 系统**的环境中,仍能以**匿名或未授权身份访问**并进行漏洞利用,或者成功**绕过 IP 白名单 / 逃逸容器**造成严重越权或底层系统破坏,我们仍然将其视为高危安全漏洞,非常欢迎您随时向我们反馈!
16+
917
遵循 ASF 的规范,HugeGraph 社区对**解决修复**项目中的安全问题保持非常积极和开放的态度。
1018

1119
我们强烈建议用户首先向我们的独立安全邮件列表报告此类问题,相关详细的流程规范请参考 [ASF SEC](https://www.apache.org/security/committers.html) 守则。

content/cn/docs/quickstart/hugegraph/hugegraph-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Core 模块是 Tinkerpop 接口的实现,Backend 模块用于管理数据存
3434
- 方式 3:源码编译
3535
- 方式 4:使用 tools 工具部署 (Outdated)
3636

37-
**注意**生产环境或对公网暴露的环境必须使用 Java 11,并开启 [Auth 权限认证](/cn/docs/config/config-authentication/),否则存在安全风险
37+
> ⚠️ **SEC 提醒**由于图查询语言 (如 Gremlin/Cypher) 的高度灵活性,直接暴露原生查询接口会带来潜在的安全隐患,因此**请避免直接在公网环境中暴露任何查询相关接口**。生产环境中务必开启 **[鉴权体系 (Auth)](/cn/docs/config/config-authentication/)** 配合 **IP 白名单** 构成双重保障机制,同时建议辅以 Audit Log (审计日志) 追踪具体查询语句。推荐整体采用 **[容器化环境 (Docker/K8s)](#31-使用-docker-容器-便于测试)** 进行部署以获得更好的系统级安全隔离
3838
3939
#### 3.1 使用 Docker 容器 (便于**测试**)
4040
<!-- 3.1 is linked by another place. if change 3.1's title, please check -->

content/cn/docs/quickstart/toolchain/hugegraph-hubble.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,8 @@ HugeGraph 支持 Apache TinkerPop3 的图遍历查询语言 Gremlin,Gremlin
402402

403403
Gremlin 查询后,下方为图结果展示区域,提供 3 种图结果展示方式,分别为:【图模式】、【表格模式】、【Json 模式】。
404404

405+
> ⚠️ **SEC 提醒**:Hubble 允许在网页端直接输入并执行 Gremlin 原生查询语句,这赋予了使用者较高的操作权限。**请避免将 Hubble 服务暴露在公网环境**,建议在使用时确保图数据库服务端已开启 **[鉴权体系 (Auth)](/cn/docs/config/config-authentication/)** 并配合 **IP 白名单**进行严格的权限控制,防止未授权访问或恶意代码执行风险。
406+
405407
支持缩放、居中、全屏、导出等操作。
406408

407409
【图模式】

0 commit comments

Comments
 (0)