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

请参阅启用审计日志记录