# 云搜索服务安全最佳实践
云搜索服务是一个基于Elasticsearch和OpenSearch的托管式分布式搜索服务，支持结构化和非结构化数据的高效检索、分析与可视化，广泛应用于日志分析、数据驱动运维、智能搜索等场景。本文提供了CSS使用过程中的安全最佳实践，旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档，您可以持续评估CSS的安全状态，更合理地组合使用CSS提供的多种安全能力，提高对CSS的整体安全防御能力，保护存储在CSS的数据及传输过程中的数据不被泄露或篡改。
为了加强CSS服务的集群数据安全性，本文将从以下几个维度给出建议，您可以根据业务需要在本指导的基础上进行安全配置。
- [启用安全配置]：降低集群被网络攻击的风险。
- [提升账号密码安全性]：降低数据泄露风险。
- [加强权限管理]：降低安全风险。
- [开启安全审计日志]：方便事后回溯。
- [开启备份功能]：提升数据可靠性。
- [加密存储数据]：提升数据安全性。
- [升级集群到最新版本]：获得更好的使用体验和更强的安全能力。
 #### 启用安全配置
- 创建安全模式的集群 CSS服务给Elasticsearch集群和OpenSearch集群提供了安全模式。安全模式的集群需要通过用户名和密码验证才能访问，非安全模式的集群无需安全认证即可直接访问。除非业务环境进行了严格的网络控制，且数据重要程度低，否则不建议您创建非安全模式的集群。集群安全模式的切换请参见[更改Elasticsearch集群安全模式](https://support.huaweicloud.com/usermanual-css/css_01_0158.html)或[更改OpenSearch集群安全模式](https://support.huaweicloud.com/usermanual-css/css_01_0310.html)。
  
- 开启HTTPS访问 如果Elasticsearch集群和OpenSearch集群未配置SSL加密通信，那么在CSS客户端和服务器之间传输数据时，很容易受到窃听、篡改和"中间人"攻击。为了提高数据传输的安全性，建议您创建安全模式的集群，并开启HTTPS访问。由于加密解密开销，启用HTTPS后集群性能可能下降约20%，建议评估业务场景的性价比。集群访问协议切换请参见[更改Elasticsearch集群安全模式](https://support.huaweicloud.com/usermanual-css/css_01_0158.html)或[更改OpenSearch集群安全模式](https://support.huaweicloud.com/usermanual-css/css_01_0310.html)。
  
- 避免绑定EIP直接通过互联网访问集群 避免将CSS集群部署在公网或者DMZ里，应该部署在公司内部网络，并使用路由器或者防火墙技术把集群保护起来，避免通过直接绑定弹性公网IP（简称EIP）的方式从互联网访问集群，防止未授权的访问及DDoS攻击等。为避免公网暴露风险，建议关闭集群的公网访问，如果业务必须通过公网访问，请配置独享型负载均衡访问CSS集群，并严格配置独享型负载均衡器的安全组规则限制。操作指导请参见[配置Elasticsearch集群独享型负载均衡](https://support.huaweicloud.com/usermanual-css/css_01_0181.html)或[配置OpenSearch集群独享型负载均衡](https://support.huaweicloud.com/usermanual-css/css_01_0182.html)。
  
 
 #### 提升账号密码安全性
- 定期重置管理员用户的密码 安全模式的Elasticsearch集群和OpenSearch集群拥有默认管理员账号**admin** ，管理员账号拥有最高权限，建议定期重置密码。通过定期重置策略，可有效降低密码泄露风险，显著提升账户安全性，保护敏感数据和系统免受潜在的安全威胁。操作指导请参见[CSS服务中如何重置安全集群的管理员密码？](https://support.huaweicloud.com/css_faq/css_02_0076.html)
  
- 提升密码复杂度 CSS服务的Elasticsearch集群和OpenSearch集群作为搜索引擎，易成为攻击者的目标。用户需要妥善保存集群的访问账号与密码，避免泄漏。同时建议您提升密码的复杂度，避免使用弱密码。CSS会对集群的管理员密码进行复杂度校验，建议密码长度不少于12位，包含大小写字母、数字及特殊字符（如!@#$%）的组合，防止密码强度过低导致密码被破解。
  
 
 #### 加强权限管理
- 配置IAM用户实现权限隔离 CSS服务支持通过IAM对用户权限进行精细化管理，通过设置不同的业务组织/项目和操作权限，达到对CSS集群的访问权限隔离。IAM权限配置请参见[创建IAM用户并授权使用CSS](https://support.huaweicloud.com/usermanual-css/css_01_0072.html)。
  
- 避免直接使用管理员账号访问集群 安全模式的Elasticsearch集群和OpenSearch集群拥有默认管理员账号**admin** ，管理员账号拥有最高权限，可以访问集群中的任意数据，建议通过设置集群的普通用户去使用集群。通过Kibana或OpenSearch Dashboards配置普通用户访问集群索引数据的权限。用户权限基于用户（User）、权限（Permission）、角色（Role）管理，可以基于业务需求配置用户角色和权限。操作指导请参见[创建Elasticsearch集群用户并授权使用](https://support.huaweicloud.com/usermanual-css/css_01_0109.html)或[创建OpenSearch集群用户并授权使用](https://support.huaweicloud.com/usermanual-css/css_01_0329.html)。
  
 
 #### 开启安全审计日志
CSS服务支持日志审计功能，可以实时记录用户对数据的所有相关操作。通过对用户访问数据索引行为的记录、分析和汇报，用来帮助您事后生成合规报告、事故追根溯源，提高数据资产安全性。操作指导请参见[CSS服务中如何开启Elasticsearch和OpenSearch集群的安全审计日志？](https://support.huaweicloud.com/css_faq/css_02_0150.html)
 #### 开启备份功能
CSS服务的Elasticsearch集群和OpenSearch集群支持自动备份和手动备份功能，根据业务关键性，建议每日或每周执行备份，并保留多个备份版本。当集群故障或数据损坏时，可以通过备份文件恢复数据，从而保证数据可靠性。操作指导请参见[创建快照备份Elasticsearch集群数据](https://support.huaweicloud.com/usermanual-css/css_01_0267.html)或[创建快照备份OpenSearch集群数据](https://support.huaweicloud.com/usermanual-css/css_01_0298.html)。
 #### 加密存储数据
为提升用户数据的安全性，建议在创建CSS集群时开启磁盘加密功能，该功能通过云密钥管理服务（KMS）使用算法对数据进行加密，在集群写入数据和磁盘扩容时，数据将以密文形式存储在磁盘中，有效降低因磁盘物理丢失或非法访问导致的数据泄露风险。磁盘加密是受限使用功能，需提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/serviceTickets)申请开通。
 #### 升级集群到最新版本
开源社区会不定期披露新发现的漏洞，CSS会评估Elasticsearch和OpenSearch搜索引擎内核版本的实际风险，发布新的内核版本。为了提升CSS集群的易用性和安全性，建议建立季度版本检查机制，及时获取安全补丁，并将集群升级为最新的镜像。操作指导请参见[升级Elasticsearch集群版本](https://support.huaweicloud.com/usermanual-css/css_01_0186.html)或[升级OpenSearch集群版本](https://support.huaweicloud.com/usermanual-css/css_01_0263.html)。
