Neo4J在线备份 — 有什么方法可以解决安全漏洞吗?



如果我要按照 Neo4J 的建议使用 neo4j-admin 备份工具远程进行在线备份,我必须在我的 Neo4J 应用程序上打开一个公共 IP 和备份端口。

但是,我没有看到neo4j-admin要求任何登录凭据,基本上任何人都可以在打开端口时访问服务器并复制所有数据。

neo4j.conf 中没有只接受来自某个地址的备份请求的设置。

这是什么意思呢?当远程完成在线备份时,正如建议的那样,数据库可能容易受到其他人复制所有数据的攻击。

我在 Neo4J 文档中没有找到任何解决此缺陷的内容(只是一个警告(,看起来在 7 年多的时间里,此功能已作为商业企业版本的一部分提供,没有任何解决方案为此提供。

那么,您如何保护数据库呢?目前,唯一的解决方案似乎无法远程备份它,但这会给服务器带来额外的压力,并且不是最佳解决方案。此外,对于大型数据库,本地执行在线备份时不稳定。另一种解决方案可能是仅通过某种API远程打开端口到服务器,但如果有人计算出进行备份的时间范围,则仍可能被利用。

文档指出 ne04j-admin 必须作为 neo4j 用户调用。即拥有 neo4j 可执行文件和数据库的用户。因此,安全性由操作系统登录名处理,并且应设置文件权限以防止未经许可地访问neo4j目录/文件,包括neo4j-admin可执行文件。

最新更新