安全配置
安全插件包含演示证书,以便您快速启动和运行。要在生产环境中使用带安全插件的 OpenSearch,您必须手动更改演示证书和其他配置选项。
替换演示证书
OpenSearch 附带的演示证书旨在用于快速设置和演示目的。对于生产环境,关键是使用以下步骤将其替换为您自己的受信任证书,以确保安全通信:
- 生成您自己的证书:使用 OpenSSL 或证书颁发机构 (CA) 等工具生成您自己的证书。有关使用 OpenSSL 生成证书的更多信息,请参阅生成自签名证书。
- 将生成的证书和私钥存储在相应目录中:生成的证书通常存储在
<OPENSEARCH_HOME>/config/
中。有关更多信息,请参阅将证书文件添加到 opensearch.yml。 - 设置以下文件权限:
- 私钥(.key 文件):将文件模式设置为
600
。这将限制访问,以便只有文件所有者(OpenSearch 用户)才能读写文件,确保私钥安全且未经授权的用户无法访问。 - 公共证书(.crt、.pem 文件):将文件模式设置为
644
。这允许文件所有者读写文件,而其他用户只能读取文件。
- 私钥(.key 文件):将文件模式设置为
有关文件模式的更多指导,请参阅下表。
| 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.yml
、roles_mapping.yml
或 internal_users.yml
文件。使用任何附加配置信息更新这些文件。有关更多信息,请参阅修改 YAML 文件。
设置密码策略
当使用内部用户数据库时,我们建议强制执行密码策略以确保使用强密码。有关强密码策略的信息,请参阅密码设置。
使用 securityadmin
脚本应用更改
以下步骤不适用于首次用户,因为当 OpenSearch 启动时,安全索引会自动从 YAML 配置文件初始化。
初始设置后,如果您更改了安全配置或通过将 plugins.security.allow_default_init_securityindex
设置为 false
(这会阻止从 yaml
文件初始化安全索引)来禁用自动初始化,则需要使用 securityadmin
脚本手动应用更改:
- 找到
securityadmin
脚本。该脚本通常存储在 OpenSearch 插件目录plugins/opensearch-security/tools/securityadmin.[sh|bat]
中。- 注意:如果您使用的是 OpenSearch 1.x,
securityadmin
脚本位于plugins/opendistro_security/tools/
目录中。 - 有关更多信息,请参阅基本用法。
- 注意:如果您使用的是 OpenSearch 1.x,
- 使用以下命令运行脚本:
./plugins/opensearch-security/tools/securityadmin.[sh|bat]
- 检查 OpenSearch 日志和配置,确保更改已成功应用。
有关使用 securityadmin
脚本的更多信息,请参阅将更改应用于配置文件。
添加用户、角色、角色映射和租户
如果您不想使用安全插件,可以通过在 opensearch.yml
文件中添加以下设置来禁用它:
plugins.security.disabled: true
然后,您可以通过删除 plugins.security.disabled
设置来启用该插件。
有关禁用安全插件的更多信息,请参阅禁用安全。
安全插件有几个默认的用户、角色、操作组、权限和 OpenSearch Dashboards 设置,这些设置的名称中包含“Kibana”。我们将在未来的版本中更改这些名称。
有关 opensearch.yml
安全插件设置的完整列表,请参阅安全设置。