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

请参阅 启用审计日志记录