安全生产注意事项编辑

为了确保 Kibana 安装在生产环境中的安全性,请考虑以下高优先级主题,以确保只有授权用户才能访问 Kibana。有关 Kibana 安全控制的更多信息,请参阅配置安全性

启用 SSL/TLS编辑

您应该使用 SSL/TLS 加密,以确保浏览器和 Kibana 服务器之间的流量不会被第三方查看或篡改。请参阅加密 Kibana 的 HTTP 客户端通信

加密 Kibana HTTP

使用 Elastic Stack 安全功能编辑

您可以使用 Elastic Stack 安全功能来控制用户可以通过 Kibana 访问哪些 Elasticsearch 数据。

启用安全功能后,Kibana 用户必须登录。他们必须拥有授予Kibana 权限的角色,并且能够访问他们将在 Kibana 中使用的索引。

如果用户加载的 Kibana 仪表板访问了他们无权查看的索引中的数据,则会收到一个错误,指示该索引不存在。

有关授予 Kibana 访问权限的更多信息,请参阅授予 Kibana 访问权限

使用安全的 HTTP 标头编辑

Kibana 服务器可以使用 HTTP 标头指示浏览器启用其他安全控制。

  1. 启用 HTTP 严格传输安全。

    使用strictTransportSecurity确保浏览器只会尝试使用 SSL/TLS 加密访问 Kibana。这旨在防止中间人攻击。要在您的kibana.yml中配置此选项,生存期为一年

    server.securityResponseHeaders.strictTransportSecurity: "max-age=31536000"

    此标头将阻止对整个域的未加密连接。如果您使用不同的端口或路径在同一个域上托管多个 Web 应用程序,则所有应用程序都将受到影响。

  2. 禁用嵌入。

    使用disableEmbedding确保 Kibana 无法嵌入到其他网站中。要在您的kibana.yml中配置此选项

    server.securityResponseHeaders.disableEmbedding: true

要求内容安全策略编辑

Kibana 使用内容安全策略 (CSP) 来防止浏览器允许不安全的脚本,但较旧的浏览器会静默忽略此策略。如果您的组织不需要支持我们支持的浏览器的非常旧版本,我们建议您为 CSP 启用 Kibana 的strict模式。这将阻止任何不强制执行甚至是最基本的 CSP 保护集的浏览器访问 Kibana。

要执行此操作,请在您的kibana.yml中将csp.strict设置为true

csp.strict: true