
# TaurusDB安全最佳实践
安全性是华为云与您的共同责任。华为云负责云服务自身的安全，提供安全的云；作为租户，您需要合理使用云服务提供的安全能力对数据进行保护，安全地使用云。详情请参见[责任共担](https://support.huaweicloud.com/resp-pcre/index.html?product=taurusdb)。
本文提供了云数据库 TaurusDB使用过程中的安全最佳实践，旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估TaurusDB资源的安全状态，更好地组合使用TaurusDB提供的多种安全能力，提高对TaurusDB资源的整体安全防御能力，保护存储的数据不泄露、不被篡改，以及数据传输过程中不泄露、不被篡改。
本文从以下几个维度给出建议，您可以评估TaurusDB使用情况，并根据业务需要在本指导的基础上进行安全配置。
- [购买实例选择多可用区，实现AZ高可用]
- [内网连接实例，更快更安全]
- [正确的使用访问控制能力保护数据不泄露、不被篡改]
- [构建数据的恢复、容灾能力避免数据被异常破坏]
- [确保您的数据在传输到TaurusDB过程中不被窃取和篡改]
- [利用TaurusDB提供的操作日志审计是否存在异常数据访问操作]
- [使用最新版本的SDK获得更好的操作体验和更强的安全能力]
 #### 购买实例选择多可用区，实现AZ高可用
TaurusDB支持跨AZ高可用。当用户[购买实例](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4001.html)的时候，选择集群版实例类型，可以支持主节点和只读节点部署在不同的可用区，提供跨可用区的故障转移能力和高可用性。
 #### 内网连接实例，更快更安全
1. **使用DAS连接数据库实例**
   华为云数据管理服务（Data Admin Service，简称DAS）是一款专业的简化数据库管理工具，提供优质的可视化操作界面，大幅提高工作效率，让数据管理变得既安全又简单。您可以通过数据管理服务连接并管理TaurusDB实例。TaurusDB默认为您开通了远程主机登录权限，推荐您使用更安全便捷的数据管理服务连接实例。详情请参见[通过DAS连接TaurusDB实例](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4006.html)。
   
2. **使用读写内网地址连接数据库实例**
   当应用部署在弹性云服务器上，且该弹性云服务器与TaurusDB实例处于同一区域，同一VPC时，建议单独使用读写内网地址连接弹性云服务器与TaurusDB数据库实例，安全性较高，而且可实现TaurusDB的较好性能。详情请参见[内网连接TaurusDB实例](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4009.html)。
   
3. **避免绑定EIP** **直接通过互联网访问** **TaurusDB**
   为避免安全风险，应将TaurusDB连接地址限制在华为云内部网络，并通过路由器或防火墙技术进行保护。避免通过绑定EIP直接从互联网访问TaurusDB，可有效防止未授权的访问及DDoS攻击等。建议解除弹性公网IP的绑定，详情请参见[解绑弹性公网IP](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4013.html)。如业务必须绑定EIP，请务必通过设置安全组规则限制访问数据库的源IP。
   
 
 #### 正确的使用访问控制能力保护数据不泄露、不被篡改
正确地使用访问控制能力，可以有效预防您的数据被异常窃取或者破坏。
1. **建议对不同角色的** **IAM** **用户仅设置最小权限，避免权限过大导致数据泄露或被误操作**
   为了更好地进行权限隔离和管理，建议您配置独立的IAM管理员，授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组，用户组对应不同的数据访问场景，通过将用户添加到用户组并将IAM策略绑定到对应用户组，IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限，详情请参见[权限管理](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0021.html)。
   
2. **配置安全组访问控制，保护数据不被异常读取和操作**
   您创建TaurusDB实例后，配置安全组的入方向、出方向规则限制，可以控制连接实例的网络范围，避免TaurusDB暴露给不可信第三方。详情请参见[设置安全组规则](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4012.html)。
   
3. **建议使用非默认端口，避免端口被扫描攻击**
   TaurusDB默认端口为3306，容易被扫描攻击，建议将端口设置为非默认端口。详情请参见[修改数据库端口](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0012.html)。
   
4. **定期修改管理员账号密码，防止账号被盗用。**
   默认的数据库管理员账号root拥有较高的权限，建议您参考[重置管理员密码](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0051.html)定期修改root密码。
   
5. **使用不同的账号（非管理员）管理不同的数据库**
   通过创建不同的账号，将各个数据库按照业务或者实际需要分配给不同的账号管理，并且对账号进行读写权限的分配。详情请参见[账号管理](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0131.html)。
   
6. **开启敏感操作多因子认证保护您的数据不被误删**
   TaurusDB支持敏感操作保护，开启后执行删除实例等敏感操作时，系统会进行身份验证，进一步保证TaurusDB配置和数据的安全性，对数据的高危操作进行控制。详情请参见[敏感操作](https://support.huaweicloud.com/usermanual-iam/iam_07_0002.html)。
   
 
 #### 构建数据的恢复、容灾能力避免数据被异常破坏
预先构建数据的容灾和恢复能力，可以有效避免异常数据处理场景下数据误删、破坏的问题。
1. **建议合理规划自动备份策略**
   创建TaurusDB数据库实例时，系统默认开启自动备份策略，暂不支持关闭。实例创建成功后，您可根据业务需要设置自动备份策略。TaurusDB按照用户设置的自动备份策略对数据库进行备份。TaurusDB的备份操作是实例级的，而不是数据库级的。当数据库故障或数据损坏时，可以通过备份恢复数据库，从而保证数据可靠性。由于开启备份会损耗数据库读写性能，建议您选择业务低峰时间段启动自动备份。详情请参见[设置自动备份策略](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0057.html)。
   
2. **建议使用基于时间点恢复数据**
   TaurusDB支持使用已有的自动备份，恢复实例数据到指定时间点。实例恢复到指定时间点，会从OBS备份空间中选择一个该时间点最近的全量备份下载到实例上进行全量恢复，再重放增量备份到指定时间点，基于时间点恢复能够提升云数据库在面对数据丢失或损坏时的安全响应能力。
   详情请参见[全量数据恢复：恢复到指定时间点（PITR）](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0060.html)。
   
3. **建议使用跨区域备份构建异地数据容灾能力**
   云数据库 TaurusDB支持将备份文件存放到另一个区域存储，某一区域的实例故障后，可以在异地区域使用备份文件在异地恢复到新的TaurusDB实例，用来恢复业务。详情请参见[设置跨区域备份策略](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0150.html)。
   
 
 #### 确保您的数据在传输到TaurusDB过程中不被窃取和篡改
1. **建议使用** **HTTPS** **协议访问** TaurusDB**，确保数据传输过程中不被窃取和破坏**
   HTTPS（超文本传输安全协议）是一种互联网通信协议，可保护客户端与服务端之间传输的数据的完整性和机密性。建议您使用HTTPS协议进行数据访问。
   
2. **使用** **SSL** **加密连接数据库实例**
   SSL（Secure Socket Layer，安全套接层），位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性，以实现客户端和服务器之间的安全通讯。SSL可以加密数据以防止数据中途被窃取，并且维护数据的完整性，确保数据在传输过程中不被改变。详情请参见[设置SSL数据加密](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0142.html)。
   
 
 #### 利用TaurusDB提供的操作日志审计是否存在异常数据访问操作
1. **开启云审计服务，记录** TaurusDB**的所有访问操作便于事后审查**
   云审计服务（Cloud Trace Service，CTS），是华为云安全解决方案中专业的日志审计服务，提供对各种云资源操作记录的收集、存储和查询功能，可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。
   您开通云审计服务并创建和配置追踪器后，CTS可记录TaurusDB的管理事件和数据事件用于审计。详情请参见[CTS审计](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0014.html)。
   
2. **开启全量** **SQL** **记录的所有** **SQL** **访问请求**
   当您开启全量SQL功能，系统会将所有的SQL文本内容进行存储，以便进行分析。详情请参见[设置全量SQL](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0152.html)。
   
3. **使用云监控服务对安全事件进行实时监控、告警**
   华为云提供了云监控服务（Cloud Eye）。您可使用该服务监控自己TaurusDB实例，执行自动实时监控、告警和通知操作，帮助您实时掌握实例的运行状态、重要事件告警等信息。
   云监控服务不需要开通，会在用户创建资源（如TaurusDB实例）后自动启动。
   关于云监控服务的更多介绍，请参见[云监控服务产品介绍](https://support.huaweicloud.com/productdesc-ces/zh-cn_topic_0015479882.html)。
   
 
 #### 使用最新版本的SDK获得更好的操作体验和更强的安全能力
建议客户升级SDK并使用最新版本，从客户侧对您的数据和TaurusDB使用过程提供更好的保护。最新版本SDK在各语言对应界面下载，请参见[SDK概述](https://support.huaweicloud.com/sdkreference-taurusdb/taurusdb-sdkreference.html)。
