# 网络安全
#### 数据库安全设置
**账户说明**
您在创建DWS集群时，系统会自动为集群创建如下账户，用于给数据库提供完善的后台运维管理服务。
- dbadmin：系统管理员账户，首次登录DWS数据库使用，用于业务数据库创建、普通用户创建、权限分配等。
- 如果开通了三权分立，则除了系统管理员dbadmin，还会生成安全管理员、审计管理员账户，账户名称由用户自定义，详情参见[开启DWS数据库用户三权分立](https://support.huaweicloud.com/mgtg-dws/dws_01_0074.html)。
- Ruby：系统默认运维账户，非云服务提供商运维人员不可使用。
**账户密码复杂度设置**
- 数据仓库服务的数据库系统管理员dbadmin密码在创建DWS集群时进行设定，且DWS控制台为dbadmin用户提供了密码复杂度校验，校验不通过，无法设定密码。 其复杂度要求请参见[创建DWS集群](https://support.huaweicloud.com/mgtg-dws/dws_01_0019.html)中描述的密码复杂度要求。
  

- 其他普通数据库用户也相应设置了密码安全策略，系统默认安全策略如下：
  - 长度为8\~32个字符。
  
  
  
  - 至少包含大写字母、小写字母、数字或特殊字符中三种的组合。
  
  - 不能是用户名和用户名反序，此条要求为非大小写敏感。
  
  - 不能是当前密码、当前密码的反序。
  
  
  ![](https://support.huaweicloud.com/productdesc-dws/public_sys-resources/notice_3.0-zh-cn.png)
  为避免恶意人员轻易破解您的数据库密码，请按照界面提示和要求设置足够复杂度密码，并定期修改。
  
  
**自定义密码策略**
以上默认安全策略支持用户修改，详情参见[自定义密码策略](https://support.huaweicloud.com/devg-dws/dws_04_0063.html)。
**账户锁定及设置密码过期策略**
- 数据库用户密码有效期：通过**password_effect_time**控制，一旦密码过了有效期，则系统会提醒修改密码，修改此参数请联系技术支持。
- 数据库用户密码输入错误次数：通过**failed_login_attempts** 控制，当用户输错次数超过该设定值，账户会自动锁定，需要系统管理员进行解锁，该参数可在DWS管理控制台进行设定，设定方法参见[修改DWS集群GUC参数](https://support.huaweicloud.com/mgtg-dws/dws_01_0152.html)。
- 账户锁定后自动解锁时间：通过**password_lock_time**控制，锁定时间超过设定值，账户会自行解锁，修改此参数请联系技术支持。
**重置账户密码**
- 系统管理员dbadmin账户被锁定或忘记密码时，可通过DWS控制台进行重置密码操作。
- 普通用户密码重置可通过系统管理员dbadmin在后台通过SQL命令重置，重置命令示例如下。参见[密码设置和修改](https://support.huaweicloud.com/devg-dws/dws_04_0063.html)。
  ```
  ALTER USER joe IDENTIFIED BY 'password';
  ```
  
 
#### 配置安全组
安全组是一个逻辑上的分组，为具有相同安全保护需求并相互信任的云服务器、云容器、云数据库等实例提供访问策略。安全组创建后，用户可以在安全组中定义各种访问规则，当实例加入该安全组后，即受到这些访问规则的保护。
安全组中包括入方向规则和出方向规则，您可以针对每条入方向规则指定来源、端口和协议，针对出方向规则指定目的地、端口和协议，用来控制安全组内实例入方向和出方向的网络流量。
数据库开放弹性公网EIP后，如果公网上的恶意人员获取到您的EIP DNS和数据库端口，那么便可尝试破解您的数据库并进行进一步破坏。因此，强烈建议您保护好EIP DNS、数据库端口、数据库账号和密码等信息，并通过DWS的安全组限定源IP，保障只允许可信源连接数据库。
安全组在创建DWS集群时配置，您也可以选择系统默认配置的安全组，默认只放开8000的端口，集群创建后，支持更改安全组规则，也支持切换其他安全组。
#### 解绑弹性公网IP外部连接
弹性公网IP（Elastic IP，简称EIP）可以提供独立的公网IP资源，包括公网IP地址和公网出口带宽服务，方便外部访问，但同时增加了受到全网攻击的风险。使用弹性公网IP会受到外部的DoS/DDos攻击。
如果没有公网访问的特殊要求，建议将数据库作为内部组件，通过内部IP进行访问，建议解绑弹性公网IP。
**解绑步骤**：
1. 登录DWS管理控制台，左侧选择"集群 \> 集群列表"。
2. 在右侧集群列表中，单击待解绑EIP的集群名称，进入集群详情页面。
3. 单击"连接信息"区域的"编辑"，在弹出的页面，单击"解绑"。 
   ![](https://support.huaweicloud.com/productdesc-dws/figure/zh-cn_image_0000002617505305.png "点击放大")
   
   ![](https://support.huaweicloud.com/productdesc-dws/public_sys-resources/note_3.0-zh-cn.png)
   因高可用需求，如果集群绑定了弹性负载均衡（ELB），一般情况下弹性公网IP绑定到ELB端，只需要解绑ELB端对应的弹性公网IP即可，详情参考ELB用户手册。
   
   
 
#### SSL传输加密
DWS支持SSL标准协议，SSL协议是安全性更高的协议标准，它们加入了数字签名和数字证书来实现客户端和服务器的双向身份验证，保证了通信双方更加安全的数据传输。为支持SSL连接方式，DWS已经从CA认证中心申请到正式的服务器、客户端的证书和密钥（假设服务器的私钥为server.key，证书为server.crt，客户端的私钥为client.key，证书为client.crt，CA根证书名称为cacert.pem）。
SSL连接方式的安全性高于普通模式，集群默认开启SSL功能允许来自客户端的SSL连接或非SSL连接，从安全性考虑，建议用户在客户端使用SSL连接方式。并且DWS服务器端的证书、私钥以及根证书已经默认配置完成。
了解更多请参见[使用SSL进行安全的TCP/IP连接](https://support.huaweicloud.com/mgtg-dws/dws_01_0038.html)。
#### 使用数据安全服务DBSS（建议）
数据库安全服务（Database Security Service，DBSS）是一个智能的数据库安全服务，基于机器学习机制和大数据分析技术，提供数据库审计，SQL注入攻击检测，风险操作识别等功能，保障云上数据库的安全。
建议使用DBSS来提供扩展的数据安全能力，详情请参考[数据库安全服务](https://support.huaweicloud.com/dbss/index.html)。
**优势**
- 助力企业满足等保合规要求。
  - 满足等保测评数据库审计需求。
  
  - 满足国内外安全法案合规需求，提供满足数据安全标准（例如Sarbanes-Oxley）的合规报告。
   
- 支持备份和恢复数据库审计日志，满足审计数据保存期限要求。
- 支持风险分布、会话统计、会话分布、SQL分布的实时监控能力。
- 提供风险行为和攻击行为实时告警能力，及时响应数据库攻击。
- 帮助您对内部违规和不正当操作进行定位追责，保障数据资产安全。
数据库安全审计采用数据库旁路部署方式，在不影响用户业务的前提下，可以对数据库进行灵活的审计。
- 基于数据库风险操作，监视数据库登录、操作类型（数据定义、数据操作和数据控制）和操作对象，有效对数据库进行审计。
- 从风险、会话、SQL注入等多个维度进行分析，帮助您及时了解数据库状况。
- 提供审计报表模板库，可以生成日报、周报或月报审计报表（可设置报表生成频率）。同时，支持发送报表生成的实时告警通知，帮助您及时获取审计报表。
 
