数据库 SSL ^v4.0.0-beta.399
Coolify 中的数据库 SSL 可加密应用程序与数据库之间的通信,确保数据安全。
通过自动绑定和生成证书,此功能简化了安全设置。该功能首次引入于 Coolify 版本 v4.0.0-beta.399。
简介
数据库 SSL 通过加密与数据库交换的数据来增加额外的安全层。本指南涵盖:
- 为您的数据库连接启用 SSL 模式。
- 根据您的安全需求选择合适的 SSL 模式。
- 管理用于验证数据库连接的 CA 证书。
1. 如何启用数据库 SSL
要使用 SSL 保护数据库连接:
-
访问数据库设置
在 Coolify 仪表板中,访问要保护的数据库的常规设置。
-
启用 SSL 模式
选中 启用 SSL 选项以激活数据库连接的 SSL。
-
选择 SSL 模式
从下拉菜单中选择 SSL 模式。例如,选择 verify-full 以获得最高安全性。
注意
启用 SSL 后,若要使用 SSL,您需要为应用使用包含 SSL 配置的新连接 URL。
如果您不使用新 URL,数据库连接将不会使用 SSL(在大多数情况下)。
Coolify 会自动将生成的证书和密钥绑定到所需位置,因此只有在希望使用自定义证书时才需要进行手动更改。
2. SSL 模式详解
Coolify 支持多种 SSL 模式,每种模式提供不同的安全级别:
PostgreSQL
-
allow(不安全)
此模式允许加密和非加密连接。它不强制使用 SSL,因此如果 SSL 失败,连接将回退到非加密状态。此选项被认为是不安全的,因为它允许非加密流量。
-
prefer(安全)
使用此模式时,Coolify 将首先尝试使用 SSL。如果可用 SSL 连接,则使用该连接,否则将回退到非加密连接。虽然此选项优先使用加密,但它不能保证每个连接都是安全的。
-
require(安全)
此模式强制要求连接必须加密。但是,它不会对服务器证书执行任何检查。这意味着连接是加密的,但服务器的身份未经验证。
-
verify-ca(安全)
此选项更进一步,不仅加密连接,还验证服务器的证书是否由受信任的证书颁发机构(CA)签名。它不检查主机名是否与证书匹配。此模式在安全性和设置简便性之间取得了平衡。
-
verify-full(安全)
这是最安全的模式。它不仅加密连接并验证证书颁发机构,还确认服务器的主机名与证书匹配。这提供了充分的保证,确保您连接到的是正确的服务器,类似于 Cloudflare Origin Certificate 设置提供的安全级别。
其他数据库
- MySQL & MongoDB:
仅支持以下模式:prefer、require、verify ca、verify full。 - MariaDB、Redis、KeyDB、DragonFly DB:
UI 中未显示任何 SSL 模式。 - Clickhouse DB:
不支持 SSL,没有启用 SSL 的复选框,也没有下拉选项。
开发者注意
低于 require 的模式并非 100% 安全,因为它们仅加密连接而未完全验证服务器身份。
对于高于 require 的模式(即 verify-ca 和 verify-full),您必须将 Coolify CA 证书挂载到连接到数据库的容器中,以增强安全性。
请注意,在大多数情况下(例如 PostgreSQL),仅启用 SSL 是无效的,除非您使用强制使用 SSL 的新连接 URL。
然而,对于某些数据库(如基于 Redis 的数据库),在 UI 中启用 SSL 会强制执行该模式。
提示
为了获得最大安全性,建议使用 verify-full(当可用时)。
3. CA SSL 证书管理
Coolify 自动管理 CA 证书,确保验证安全的数据库连接。
在仪表板中,进入 服务器 > 您的服务器名称 > 代理 > 高级,您可以看到以下选项:
- CA SSL 证书:显示当前使用的 CA 证书。
- 保存证书:允许您保存证书的本地副本。
- 重新生成证书:如需,可生成新的 CA 证书。
推荐配置
为了安全连接,请将 Coolify CA 证书挂载到所有需要连接到数据库的容器中。
推荐的绑定挂载路径为:
/data/coolify/ssl/coolify-ca.crt:/etc/ssl/certs/coolify-ca.crt:ro4. 使用自定义 CA 证书
如果您希望使用自己的 CA 证书而不是 Coolify 生成的证书:
-
准备您的 CA 证书
确保您的证书采用 PEM 格式。 -
上传您的证书
在以下位置上传您的自定义 CA 证书:/data/coolify/ssl/coolify-ca.crt -
挂载证书
确保需要数据库访问的容器将证书挂载到:/data/coolify/ssl/coolify-ca.crt:/etc/ssl/certs/coolify-ca.crt:ro
