Link Search Menu Expand Document Documentation Menu

安全配置

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

替换演示证书

OpenSearch 附带的演示证书旨在用于快速设置和演示目的。对于生产环境,关键是使用以下步骤将其替换为您自己的受信任证书,以确保安全通信:

  1. 生成您自己的证书:使用 OpenSSL 或证书颁发机构 (CA) 等工具生成您自己的证书。有关使用 OpenSSL 生成证书的更多信息,请参阅生成自签名证书
  2. 将生成的证书和私钥存储在相应目录中:生成的证书通常存储在 <OPENSEARCH_HOME>/config/ 中。有关更多信息,请参阅将证书文件添加到 opensearch.yml
  3. 设置以下文件权限:
    • 私钥(.key 文件):将文件模式设置为 600。这将限制访问,以便只有文件所有者(OpenSearch 用户)才能读写文件,确保私钥安全且未经授权的用户无法访问。
    • 公共证书(.crt、.pem 文件):将文件模式设置为 644。这允许文件所有者读写文件,而其他用户只能读取文件。

有关文件模式的更多指导,请参阅下表。

    | Item        | Sample              | Numeric | Bitwise      |
    |-------------|---------------------|---------|--------------|
    | Public key  | `~/.ssh/id_rsa.pub` | `644`   | `-rw-r--r--` |
    | Private key | `~/.ssh/id_rsa`     | `600`   | `-rw-------` |
    | SSH folder  | `~/.ssh`            | `700`   | `drwx------` |

有关更多信息,请参阅配置基本安全设置

重新配置 opensearch.yml 以使用您的证书

opensearch.yml 文件是 OpenSearch 的主要配置文件;您可以在 <OPENSEARCH_HOME>/config/opensearch.yml 找到该文件。使用以下步骤更新此文件以指向您的自定义证书:

opensearch.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

有关更多信息,请参阅配置 TLS 证书

重新配置 config.yml 以使用您的身份验证后端

config.yml 文件允许您配置 OpenSearch 的身份验证和授权机制。根据您的要求更新 <OPENSEARCH_HOME>/config/opensearch-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

有关更多信息,请参阅配置安全后端

修改配置文件 YAML

确定是否需要修改任何额外的 YAML 文件,例如 roles.ymlroles_mapping.ymlinternal_users.yml 文件。使用任何附加配置信息更新这些文件。有关更多信息,请参阅修改 YAML 文件

设置密码策略

当使用内部用户数据库时,我们建议强制执行密码策略以确保使用强密码。有关强密码策略的信息,请参阅密码设置

使用 securityadmin 脚本应用更改

以下步骤不适用于首次用户,因为当 OpenSearch 启动时,安全索引会自动从 YAML 配置文件初始化。

初始设置后,如果您更改了安全配置或通过将 plugins.security.allow_default_init_securityindex 设置为 false(这会阻止从 yaml 文件初始化安全索引)来禁用自动初始化,则需要使用 securityadmin 脚本手动应用更改:

  1. 找到 securityadmin 脚本。该脚本通常存储在 OpenSearch 插件目录 plugins/opensearch-security/tools/securityadmin.[sh|bat] 中。
    • 注意:如果您使用的是 OpenSearch 1.x,securityadmin 脚本位于 plugins/opendistro_security/tools/ 目录中。
    • 有关更多信息,请参阅基本用法
  2. 使用以下命令运行脚本:
     ./plugins/opensearch-security/tools/securityadmin.[sh|bat]
    
  3. 检查 OpenSearch 日志和配置,确保更改已成功应用。

有关使用 securityadmin 脚本的更多信息,请参阅将更改应用于配置文件

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

如果您不想使用安全插件,可以通过在 opensearch.yml 文件中添加以下设置来禁用它:

plugins.security.disabled: true

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

有关禁用安全插件的更多信息,请参阅禁用安全

安全插件有几个默认的用户、角色、操作组、权限和 OpenSearch Dashboards 设置,这些设置的名称中包含“Kibana”。我们将在未来的版本中更改这些名称。

有关 opensearch.yml 安全插件设置的完整列表,请参阅安全设置


相关文章