安全性
ECE ECK Elastic Cloud Hosted Self Managed Serverless
Elastic 实现包含许多移动部件:形成集群的 Elasticsearch 节点、Kibana 实例、其他堆栈组件(如 Logstash 和 Beats)以及各种客户端和集成,所有这些都与您的集群通信。
为了确保您的数据安全,Elastic 提供了安全性功能,可防止恶意行为者篡改您的数据,并加密与集群之间以及集群内部的通信。 无论您的部署类型如何,Elastic 都会自动为您设置某些安全性功能。
安全性功能的可用性和可配置性因部署类型而异。 在每个页面上,您都会看到部署类型指示器,这些指示器显示哪些内容适用于特定部署类型。 重点关注标有您的部署类型的章节,并查找专门针对您的部署模型的子章节。 您还可以查看比较表,其中显示了按部署类型划分的功能可用性和可配置性。
Elastic Cloud Hosted Serverless
Elastic Cloud 具有内置安全性。 例如,Elastic Cloud 和互联网之间的 HTTPS 通信以及节点间通信都会自动受到保护,并且集群数据在静态时会被加密。
在 Elastic Cloud Hosted 中,您可以通过以下方式增强这些安全性功能
- 配置流量过滤,以防止对您的部署进行未经授权的访问。
- 使用客户管理的加密密钥加密您的部署。
- 使用 Elasticsearch 和 Kibana 密钥库保护您的设置。
- 使用 Elastic Cloud 静态 IP列表,以允许或限制您的基础设施中的通信。
Elastic Cloud Hosted 不支持自定义 SSL 证书,这意味着也不支持 Elastic Cloud Hosted 端点的自定义 CNAME,例如mycluster.mycompanyname.com。
有关 Elastic 安全性和隐私计划的更多详细信息,请参阅Elastic Cloud 安全性。
Serverless 项目由 Elastic 完全管理和保护,并且在项目级别没有任何可配置的安全性功能。
ECE ECK
在 Elastic Cloud Enterprise 或 Elastic Cloud on Kubernetes 上运行 Elastic Stack 应用程序时,您还必须保护负责部署和管理您的 Elastic 产品的编排层。
了解如何保护以下组件
Elastic 为您保护 Elastic Cloud 编排器。
ECE ECK Elastic Cloud Hosted Self Managed
您可以配置 Elastic 集群或部署的以下方面,以维护和增强安全性
Elasticsearch 安全性功能解锁了关键功能,例如身份验证和授权、TLS 加密以及本节中描述的其他与安全性相关的功能。 保护您的部署的第一步是确保 Elasticsearch 安全性功能已启用并正确配置。
对于自管理部署,尽可能自动配置安全性功能。 要了解自动配置过程、可能跳过自动配置的情况以及如何手动配置安全性,请参阅在自管理部署中设置安全性。
如果您想使用自己的 TLS 证书,则应手动配置安全性。
由 Elastic Cloud on Kubernetes、Elastic Cloud Enterprise、Elastic Cloud Hosted 以及 Elastic Cloud Serverless 项目管理的部署默认会自动配置安全性。 这包括设置 elastic
用户密码、生成 TLS 证书以及配置 Kibana 以安全地连接到 Elasticsearch。 在这些部署类型中,不支持禁用安全性。
- 管理 TLS 证书:TLS 证书将安全控制应用于网络通信。 Elastic 使用 TLS 证书来保护两个位置的通信
- HTTP 层:用于您的集群或部署与互联网之间的通信。
- 传输层:主要用于节点间通信,在某些情况下用于集群到集群的通信。
- 在自管理 Elasticsearch 集群中,您还可以配置 Kibana 和 Elasticsearch 以使用相互 TLS。
- 启用密码套件以实现更强的加密:TLS 和 SSL 协议使用密码套件来确定用于保护数据的加密强度。 您可能需要启用其他密码套件的使用,以便您可以为 TLS 通信或与身份验证提供程序的通信使用不同的密码套件。
- 使用流量过滤限制连接:流量过滤允许您限制对部署的访问方式。 通过将入站流量限制为仅来自您信任的源,为您的安装和部署添加另一层安全性。 根据 IP 地址或 CIDR 范围限制访问,或者,在 Elastic Cloud Hosted 部署中,通过 AWS PrivateLink、Azure Private Link 或 GCP Private Service Connect 保护连接。
- 允许或拒绝 Elastic Cloud Hosted IP 范围:Elastic Cloud 发布了其 Elastic Cloud Hosted 服务用于传入和传出流量的 IP 地址列表。 用户可以使用这些列表来配置其网络防火墙,以根据需要允许或限制与 Elastic Cloud Hosted 服务相关的流量。
保护您的设置:您在 Elastic 中配置的某些设置是敏感的,例如密码,并且仅依靠文件系统权限来保护这些设置是不够的。 了解如何在 Elasticsearch 密钥库或 Kibana 密钥库中配置安全设置。
保护已保存的对象:Kibana 将实体(例如仪表板、可视化、警报、操作和高级设置)存储为已保存的对象,这些对象保存在专用的内部 Elasticsearch 索引中。 如果此类对象包含敏感信息,例如 PagerDuty 集成密钥或警报操作使用的电子邮件服务器凭据,Kibana 会对其进行加密,并确保它不会意外泄漏或被篡改。 您可以配置和轮换已保存的对象加密密钥以获得额外的安全性。
加密静态数据:默认情况下,Elastic Cloud 已经加密了您的 Elastic Cloud Hosted 部署数据、Serverless 项目数据和静态快照。 如果您使用的是 ECH,那么您可以通过提供自己的加密密钥来增强此机制,也称为 自带密钥 (BYOK)。
注意其他部署类型开箱即用不实现静态加密。 对于自管理集群,要实现静态加密,必须使用磁盘级加密(例如
dm-crypt
)配置运行集群的主机。 此外,快照目标必须确保数据在静态时也被加密。配置
dm-crypt
或类似技术不在本文档的范围内,与磁盘加密相关的问题也不在支持范围内。
管理 Kibana 会话,以控制登录到 Kibana 的会话的超时和生命周期,以及每个用户可以拥有的并发会话数。
审计日志记录是一项强大的功能,可帮助您监控和跟踪 Elastic Stack 中的安全相关事件。 通过启用审计日志,您可以了解身份验证尝试、授权决策和其他系统活动。
审计日志记录还可以在发生攻击时提供取证证据,并且可以为 Elasticsearch 和 Kibana 独立启用。
安全功能的可用性因部署类型而异,每个功能都具有以下状态之一
状态 | 描述 |
---|---|
完全托管 | 由 Elastic 自动处理,无需用户配置 |
托管 | 由 Elastic 自动处理,但允许进行某些配置 |
可配置 | 需要您配置的内置功能(例如 IP 过滤器或密码) |
不适用 | 此部署类型不可用 |
选择下面的部署类型,以查看哪些可用以及如何分配实施责任
类别 | 安全功能 | 状态 | 备注 |
---|---|---|---|
通信 | TLS(HTTP 层) | 完全托管 | 由 Elastic 自动配置 |
TLS(传输层) | 完全托管 | 由 Elastic 自动配置 | |
网络 | IP 流量过滤 | 可配置 | 配置基于 IP 的访问限制 |
专用链接 | 可配置 | 建立安全的 VPC 连接 | |
Kubernetes 网络策略 | 不适用 | ||
数据 | 静态加密 | 托管 | 您可以自带加密密钥 |
安全设置 | 可配置 | 配置安全设置 | |
已保存对象加密 | 完全托管 | 由 Elastic 自动加密 | |
用户会话 | Kibana 会话 | 可配置 | 自定义会话参数 |
类别 | 安全功能 | 状态 | 备注 |
---|---|---|---|
通信 | TLS(HTTP 层) | 完全托管 | 由 Elastic 自动配置 |
TLS(传输层) | 完全托管 | 由 Elastic 自动配置 | |
网络 | IP 流量过滤 | 不适用 | |
专用链接 | 不适用 | ||
Kubernetes 网络策略 | 不适用 | ||
数据 | 静态加密 | 完全托管 | 由 Elastic 自动加密 |
安全设置 | 不适用 | ||
已保存对象加密 | 完全托管 | 由 Elastic 自动加密 | |
用户会话 | Kibana 会话 | 完全托管 | 由 Elastic 自动配置 |
类别 | 安全功能 | 状态 | 备注 |
---|---|---|---|
通信 | TLS(HTTP 层) | 托管 | 您可以配置自定义证书 |
TLS(传输层) | 完全托管 | 由 Elastic 自动配置 | |
网络 | IP 流量过滤 | 可配置 | 配置基于 IP 的访问限制 |
专用链接 | 不适用 | ||
Kubernetes 网络策略 | 不适用 | ||
数据 | 静态加密 | 不适用 | |
安全设置 | 可配置 | 配置安全设置 | |
已保存对象加密 | 可配置 | 启用对已保存对象的加密 | |
用户会话 | Kibana 会话 | 可配置 | 自定义会话参数 |
类别 | 安全功能 | 状态 | 备注 |
---|---|---|---|
通信 | TLS(HTTP 层) | 托管 | 多种选项可用于自定义 |
TLS(传输层) | 托管 | 多种选项可用于自定义 | |
网络 | IP 流量过滤 | 可配置 | 配置基于 IP 的访问限制 |
专用链接 | 不适用 | ||
Kubernetes 网络策略 | 可配置 | 将网络策略应用于您的 Pod | |
数据 | 静态加密 | 不适用 | |
安全设置 | 可配置 | 配置安全设置 | |
已保存对象加密 | 可配置 | 启用对已保存对象的加密 | |
用户会话 | Kibana 会话 | 可配置 | 自定义会话参数 |
类别 | 安全功能 | 状态 | 备注 |
---|---|---|---|
通信 | TLS(HTTP 层) | 可配置 | 可以自动或手动配置。 请参阅初始安全设置 |
TLS(传输层) | 可配置 | 可以自动或手动配置。 请参阅初始安全设置 | |
网络 | IP 流量过滤 | 可配置 | 配置基于 IP 的访问限制 |
专用链接 | 不适用 | ||
Kubernetes 网络策略 | 不适用 | ||
数据 | 静态加密 | 不适用 | |
密钥库安全 | 可配置 | 配置安全设置 | |
已保存对象加密 | 可配置 | 启用对已保存对象的加密 | |
用户会话 | Kibana 会话 | 可配置 | 自定义会话参数 |
Elasticsearch 安全功能使您可以保护 Elasticsearch 集群。 但是,对于完整的安全策略,您必须保护 Elastic Stack 中的其他应用程序,以及 Elasticsearch 和其他 Elastic Stack 组件之间的通信。
如果您使用 HTTP 客户端或集成与 Elasticsearch 通信,那么您还需要保护客户端或集成与 Elasticsearch 之间的通信。
某些 Elasticsearch 功能或资源的使用存在安全限制。 根据您的组织的安全要求,您可能需要限制、调整或找到一些这些功能的解决方法或替代方案。