阿里云Elasticsearch部署在逻辑隔离的专有网络中,结合多种网络访问控制、认证授权、安全加密能力,以及商业插件X-Pack中的高级安全措施,确保云上集群的高安全性。本文介绍阿里云Elasticsearch的安全特性。

背景信息

开源软件一直是黑客攻击的首选,例如之前黑客组织对MongoDB数据发起大规模的勒索软件攻击事件就是典型的例子。当然黑客组织也一直在关注Elasticsearch,给未进行特殊安全配置的Elasticsearch自建服务带来数据被删除或业务被入侵的安全风险。

阿里云安全中心曾发布《Elasticsearch被入侵的安全风险预警》,并提供过一系列安全加固的策略和方案。与自建Elasticsearch需要进行的安全配置相比,阿里云Elasticsearch在数据和服务安全上提供了更加全面和专业的方案。

安全特性说明

阿里云Elasticsearch自2017年11月提供全托管服务以来,针对集群潜在的风险,提供了一系列的安全措施。

自建Elasticsearch与阿里云Elasticsearch服务的安全配置对比如下表。

安全指标项 阿里云Elasticsearch默认能力 自建Elasticsearch需要进行的配置
访问控制
  • 专有网络内部署数据链路层,进行网络隔离。
  • Elasticsearch和Kibana均支持IP地址白名单设置(单个IP地址或IP网段),并且支持IPv6地址。公网地址默认禁止所有IP地址访问,必须先配置公网地址访问白名单才能访问。详细信息,请参见配置ES公网或私网访问白名单
  • 不允许用户登录集群中各类型节点对应的服务器。
  • 公网地址和内网地址只开放特定的服务端口(9200和9300)。
  • 购买云安全产品(如安全组、云防火墙等)对来访IP进行隔离控制。
  • 尽量不要开启9200端口。
  • 绑定访问源IP地址。
  • 修改默认端口。
认证授权
  • 基于访问控制RAM(Resource Access Management)的集群访问策略(ReadOnlyAccess只读访问、FullAccess管理员等)。
  • 基于RAM的权限控制(Instance、Account等资源及GET、POST、PUT操作等)。
  • 基于X-Pack安全插件的RBAC的权限体系,支持Field级别的数据权限管控。
  • 基于X-Pack安全插件的SSO能力,支持通过Active Directory、LDAP或Elasticsearch原生Realm验证身份。
安装三方安全插件(如Searchguard、Shield等)。
安全加密
  • 支持HTTPS的访问协议。
  • 支持基于KMS的静态数据存储加密。
  • 基于X-Pack安全插件的SSL/TLS节点传输加密。
  • 使用支持静态加密的存储介质。
  • 在YML配置中关闭HTTP访问。
监控审计
  • 基于X-Pack安全插件的操作日志审计。
  • 基于云监控(CloudMonitor)的集群负载等全维度指标的监控。
借助三方工具进行审计和监控。
数据服务容灾
  • 数据自动定时备份。
  • 单集群同城多活。
  • 购买文件系统进行定期备份。
  • 维护多个集群进行服务容灾。

访问控制

阿里云Elasticsearch通过以下方式进行访问控制:

  • 专有网络访问
    通过阿里云Elasticsearch实例的内网地址在专有网络环境下访问实例。如果您对应用程序的访问环境安全性要求较高,可以购买与阿里云Elasticsearch实例在同一地域、同一可用区和同一专有网络下的阿里云ECS实例,将应用程序部署在ECS实例中,然后在ECS中通过Elasticsearch的内网地址访问实例。
    说明 专有网络是独有的云上私有网络,与公网隔离,可以提供更加安全的访问环境。
  • 访问白名单

    内网地址支持系统白名单配置,只有符合内网白名单规则的IP地址所属设备,才能访问实例。详细信息,请参见配置ES公网或私网访问白名单

    公网地址支持公网地址访问白名单配置,只有符合公网白名单规则的IP地址所属设备,才能访问实例。详细信息,请参见配置ES公网或私网访问白名单

认证授权

  • RAM访问控制

    支持访问控制RAM策略,每个RAM账号之间可以实现资源隔离,并且只能查看和操作属于自己的Elasticsearch实例。详细信息,请参见权限策略检查规则

  • X-Pack角色权限管控

    提供了商业插件X-Pack服务(X-Pack是Elasticsearch的一个商业版扩展包,将安全、告警、监控、图形和报告功能捆绑在一个易于安装的软件包中),X-Pack被集成在Kibana中,提供授权认证、角色权限管控、实时监控、可视化报表和机器学习等能力。通过X-Pack角色权限管控,您可以进行索引级别的访问控制。详细信息,请参见通过Elasticsearch X-Pack角色管理实现用户权限管控官方Security APIs