Security 插件概述

Security 插件包含演示证书,以便您可以快速启动和运行。要在生产环境中使用带有 Security 插件的 UDB-SX,必须手动更改演示证书和其他配置选项。

替换演示证书

UDB-SX 附带的演示证书旨在用于快速设置和演示目的。对于生产环境,必须按照以下步骤用您自己受信任的证书替换这些证书,以确保通信安全:

  1. 生成您自己的证书: 使用 OpenSSL 或证书颁发机构 (CA) 等工具生成您自己的证书。

  1. 将生成的证书和私钥存储在适当的目录中: 生成的证书通常存储在 udbsx/udbsx-25.0.0/config/ 中。

  1. 设置以下文件权限:

    • 私钥(.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 脚本手动应用更改:

  1. 找到 securityadmin 脚本。该脚本通常存储在 UDB-SX 插件目录中:plugins/udbsx-security/tools/securityadmin.[sh|bat]

  2. 使用以下命令运行脚本:

     ./plugins/udbsx-security/tools/securityadmin.sh
    
  3. 检查 UDB-SX 日志和配置以确保更改已成功应用。

添加用户、角色、角色映射和租户

如果您不想使用 Security 插件,可以通过将以下设置添加到 udbsx.yml 文件来禁用它:

plugins.security.disabled: true

然后,您可以通过移除 plugins.security.disabled 设置来启用该插件。