保护 Elastic Stack

编辑

Elastic Stack 由许多移动部件组成。 有构成集群的 Elasticsearch 节点,以及 Logstash 实例、Kibana 实例、Beats 代理和所有与集群通信的客户端。为了确保集群的安全,请遵守Elasticsearch 安全原则

首要原则是以启用安全性的方式运行 Elasticsearch。配置安全性可能很复杂,因此我们使其易于自动启用并配置安全性地启动 Elastic Stack。对于任何新集群,只需启动 Elasticsearch 即可自动启用密码保护、使用传输层安全性 (TLS) 保护节点间通信以及加密 Elasticsearch 和 Kibana 之间的连接。

如果您有现有的未保护集群(或更喜欢自己管理安全性),您可以手动启用并配置安全性来保护 Elasticsearch 集群以及与您的集群通信的任何客户端。您还可以实施其他安全措施,例如基于角色的访问控制、IP 过滤和审计。

启用安全性通过以下方式保护 Elasticsearch 集群

如果您计划在启用联邦信息处理标准 (FIPS) 140-2 的 JVM 中运行 Elasticsearch,请参阅FIPS 140-2

防止未经授权的访问

编辑

为了防止未经授权的访问您的 Elasticsearch 集群,您需要一种身份验证用户的方式,以便验证用户是否是他们声称的身份。例如,确保只有名为Kelsey Andorra的人才能以用户 kandorra 的身份登录。 Elasticsearch 安全功能提供独立的身份验证机制,使您能够快速密码保护您的集群。

如果您已使用 LDAP、Active Directory 或 PKI 来管理您组织中的用户,则安全功能会与这些系统集成以执行用户身份验证。

在许多情况下,验证用户身份是不够的。您还需要一种方法来控制用户可以访问哪些数据以及他们可以执行哪些任务。通过启用 Elasticsearch 安全功能,您可以通过将访问权限分配给角色并将这些角色分配给用户来授权用户。使用此基于角色的访问控制机制 (RBAC),您可以限制用户 kandorra 仅对 events 索引执行读取操作,并限制对所有其他索引的访问。

安全功能还允许您基于IP 过滤器限制可以连接到集群的节点和客户端。您可以阻止和允许特定的 IP 地址、子网或 DNS 域来控制对集群的网络级访问。

请参阅用户身份验证用户授权

保护数据完整性和机密性

编辑

安全的关键部分是保护机密数据。 Elasticsearch 内置了防止意外数据丢失和损坏的保护措施。但是,没有任何东西可以阻止故意的篡改或数据拦截。 Elastic Stack 安全功能使用 TLS 来保护您的数据的完整性,防止篡改,同时通过加密往返于集群和集群内部的通信来提供机密性。为了获得更大的保护,您可以提高加密强度

请参阅为 Elastic Stack 配置安全性

维护审计跟踪

编辑

保持系统安全需要警惕。通过使用 Elastic Stack 安全功能来维护审计跟踪,您可以轻松地查看谁在访问您的集群以及他们在做什么。您可以配置审计级别,该级别考虑记录的事件类型。这些事件包括身份验证尝试失败、用户访问被拒绝、节点连接被拒绝等等。通过分析访问模式和访问集群的失败尝试,您可以深入了解试图进行的攻击和数据泄露。保留集群中活动的可审计日志还可以帮助诊断操作问题。

请参阅启用审计日志记录