Security 插件概述
Security 插件包含演示证书,以便您可以快速启动和运行。要在生产环境中使用带有 Security 插件的 UDB-SX,必须手动更改演示证书和其他配置选项。
替换演示证书
UDB-SX 附带的演示证书旨在用于快速设置和演示目的。对于生产环境,必须按照以下步骤用您自己受信任的证书替换这些证书,以确保通信安全:
生成您自己的证书: 使用 OpenSSL 或证书颁发机构 (CA) 等工具生成您自己的证书。
将生成的证书和私钥存储在适当的目录中: 生成的证书通常存储在
udbsx/udbsx-25.0.0/config/中。
设置以下文件权限:
私钥(.key 文件):将文件权限设置为
600。这限制访问权限,只有文件所有者(UDB-SX 用户)可以读取和写入文件,确保私钥保持安全且未经授权的用户无法访问。公钥证书(.crt, .pem 文件):将文件权限设置为
644。这允许文件所有者读取和写入文件,而其他用户只能读取它。
有关文件模式的更多指导,请参阅下表。
| 项目 | 示例 | 数值 | 位表示 |
|---|---|---|---|
| 公钥 | ~/.ssh/id_rsa.pub |
644 |
-rw-r--r-- |
| 私钥 | ~/.ssh/id_rsa |
600 |
-rw------- |
| SSH 文件夹 | ~/.ssh |
700 |
drwx------ |
重新配置 udbsx.yml 以使用您的证书
udbsx.yml 文件是 UDB-SX 的主要配置文件;您可以在 udbsx/udbsx-25.0.0/config/udbsx.yml 找到该文件。按照以下步骤更新此文件以指向您的自定义证书:
在 udbsx.yml 中,为您的证书和密钥设置正确的路径,如下例所示:
plugins.security.ssl.transport.pemcert_filepath: /path/to/your/cert.pem
plugins.security.ssl.transport.pemkey_filepath: /path/to/your/key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /path/to/your/ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /path/to/your/cert.pem
plugins.security.ssl.http.pemkey_filepath: /path/to/your/key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /path/to/your/ca.pem
重新配置 config.yml 以使用您的身份验证后端
config.yml 文件允许您为 UDB-SX 配置身份验证和授权机制。根据您的要求更新 udbsx/udbsx-25.0.0/config/udbsx-security/config.yml 中的身份验证后端设置。
例如,要使用内部身份验证后端,请添加以下设置:
authc:
basic_internal_auth:
http_enabled: true
transport_enabled: true
order: 1
http_authenticator:
type: basic
challenge: true
authentication_backend:
type: internal
设置密码策略
当使用内部用户数据库时,我们建议强制执行密码策略以确保使用强密码。
使用 securityadmin 脚本应用更改
以下步骤不适用于首次用户,因为在 UDB-SX 启动时,安全索引会自动从 YAML 配置文件初始化。
初始设置后,如果您更改了安全配置或通过将 plugins.security.allow_default_init_securityindex 设置为 false 来禁用自动初始化(这会阻止从 yaml 文件初始化安全索引),则需要使用 securityadmin 脚本手动应用更改:
找到
securityadmin脚本。该脚本通常存储在 UDB-SX 插件目录中:plugins/udbsx-security/tools/securityadmin.[sh|bat]。使用以下命令运行脚本:
./plugins/udbsx-security/tools/securityadmin.sh
检查 UDB-SX 日志和配置以确保更改已成功应用。
添加用户、角色、角色映射和租户
如果您不想使用 Security 插件,可以通过将以下设置添加到 udbsx.yml 文件来禁用它:
plugins.security.disabled: true
然后,您可以通过移除 plugins.security.disabled 设置来启用该插件。