Bitnami 备份是否安全?

嘿,我想为我的创客空间搭建一个可部署的环境,为此我打算使用 Bitnami 的 docker-compose 配置。

https://github.com/bitnami/bitnami-docker-discourse

我可以把数据库备份放在 Git 仓库里,或者放在 Releases 标签页中吗?这样,我的创客空间里的任何人都可以简单地运行 docker-compose,然后在网页界面中应用备份,就能恢复到正常的工作状态。

还是说,备份中包含一些关键信息,如果泄露,相当于让人获得了完全的管理员权限,就像直接获得了我机器的完整文件系统访问权限一样?

首先,我们不支持 Bitnami 安装。如果您选择这种方式而不是遵循我们的官方安装说明,那么您将无法获得任何支持。

其次,是的,您不应将 Discourse 备份放在公开位置。否则,网站上的所有信息都将被任何想要访问的人获取。这包括私信、安全分类中的主题,以及个人数据,如 IP 地址、电子邮件和哈希密码。

我理解 Bitnami 的 Docker 方案将不再受支持,但目前我没有原生或官方的替代方案。因为对于接手维护工作的成员来说,任何比“执行docker-compose up -d,然后打开 Web 界面并恢复备份”更复杂的操作都难以胜任。

感谢您确认,数据库中除了密码外,所有内容均以明文形式存储。

但如果你遵循了官方安装步骤,他们至少可以来这里寻求支持,对吧?

你究竟为什么需要针对 docker-compose up -d 寻求支持?此外,这为什么会失败?要出现这种情况,底层系统的某些组件(例如 apt 及其软件源)必须首先失效,对吧?它本质上只是围绕 Discourse 提供的包和软件构建的系统。它是从属于 Discourse 的,而不是反过来。

Bitnami 在其 Compose 配置中做了什么与 launcher 不同的事情吗?它只不过是以一种更符合 Docker 原生方式,自动化了你原本使用 launcher 时需要手动执行的步骤。

我不是先知,也不愿预测未来,但 docker-compose 所做的无非是充当一个更可靠的 Bash 脚本。我完全可以用一个 Bash 脚本来完成所有这些操作,那个脚本大概会有 100 行,充斥着各种 Docker 命令。我确信你依然会支持我,支持我那非常愚蠢、难以维护且毫无意义的 Bash 脚本。问题出在哪里呢?为什么只要在句子里加上“docker-compose”这个词,就会被归入“不支持”的类别?

Bitnami 将您置于 unsupported-install 模式,社区仅支持标准安装。

如果我想写一个很长的 Bash 脚本来执行所有启动器命令等,你们会帮我吗?

不支持,因为唯一受支持的安装方式是标准安装。

如果您选择进行标准安装以外的任何操作,您将承担所有风险及额外的技术复杂性。

好的,我明白了这个逻辑。我原本以为这更像是一种“请离开”的态度,没意识到官方支持和非官方支持之间是有区分的,通常我遇到这类问题都会直接去 IRC 询问。

如果你不需要针对它的支持,你就不会发起这个主题了。

我们不知道,你也不知道。

那你已经万事俱备了!

./discourse-setupdocker-compose up -d 更容易输入,也更容易理解。它能处理许多事情,并且适用于许多从未见过命令行的用户。如果你按照数百人已经使用的方式进行安装,你的成员获得帮助的机会也会大得多。

如果你想使用 Bitnami,请前往 Bitnami 论坛获取支持。

如果那是项目的理念等等,当然可以。我只是喜欢那种能去 IRC 频道获得明智、协作、非机械式开源答案的感觉,这也是我在这里做出任何姿态的唯一原因。关键词是“协作”,而不是“那个项目太不一样了”,而实际上它并没有太大不同。

我曾在 Docker 的 IRC 频道里讨论过许多不相关的事情。Docker 并不“支持”Discourse,但他们确实帮助我完成了设置,就像他们帮助 Nextcloud 和其他几个项目一样。也许我只是进错了频道,抱歉。

你绝对可以在这里获得这样的答案,但如果我们必须支持 N 种不同的软件部署方式,那么我们的支持能力(毕竟除了一种之外,其他方式均由其他实体完成)将会导致支持复杂度急剧上升。

我非常喜欢这个简洁的回复:

这才是关键:我们完全不知道他们在做什么,也不知道他们的做法可能会如何微妙地导致升级失败或引发奇怪的问题,同时我们也不知道如何与他们的自定义设置进行交互。

我们保证,只要您按照规定的说明操作,它们就能生效。我们非常、非常、非常希望它能成功,尤其是如果您打算将此事留给他人后续处理的话。如果您在此处搜索 Bitnami,会发现数十位尝试过但最终放弃的用户。

但也许很快就会有成功让 Bitnami 运行起来并对此感到满意的人来回应。

但如果这就是你想知道的全部内容……

任何拥有恢复整个数据库权限的人,理论上都可以借此修改其中的内容,例如为自己赋予管理员权限。

哈哈!好吧,要向现在的人介绍 Docker,我正准备给一位 38 岁左右、长期使用 Unix 却完全不了解它的人演示一下。我会告诉你进展如何,测试场景如下:

我们只需运行 docker-compose up -d,然后从备份中导入数据库,看看效果如何 :smiley:

实际的 Discourse 数据库 备份包含大量内容,包括哈希后的密码、所有帖子的内容以及所有用户信息(实践中通常仅为电子邮件地址)。如果这些数据落入意图加害于你的恶意者手中,那将非常糟糕;不过,具体风险程度还取决于其中有多少是公开帖子,多少是私人消息或受保护类别中的内容等。

然而,获取 Discourse 数据库 并不会 以任何方式授予任何人 SSH 访问运行 Discourse 的服务器的权限。

这是我目前能对你第一条评论做出的最好回答,不过说实话,我现在也不太确定你真正想问的是什么。

好吧,我清楚这显然不会授予他们 shell 访问权限。我只是想了解所包含内容的性质,以及这些数据在解锁后是否像 Bitwarden 那样由数据库后续进行解析。我不想贸然假设其不安全而进行多余的加密或安全加固,所以才在这里询问。