
# 为WordPress部署安全防护
本文以在弹性云服务器（ECS）上部署WordPress为例，介绍如何利用华为云的云服务与安全措施，构建一个具备多层防御、符合安全基线的WordPress环境。
![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
可通过镜像部署方式或手动部署搭建WordPress网站，详情操作步骤参见[镜像部署WordPress](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_topic_0119863154.html)、[基于WordPress搭建个人网站](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_topic_0135015337.html)。
#### 安全设计原则
- **消除长期凭证**：任何资源中不应保存长期有效的凭证信息，例如IAM用户的永久AK/SK、数据库用户名密码等。
- **定期轮转凭证**：定期自动轮转数据库密码等凭证信息，以便在意外事件或攻击导致的凭证信息泄露时可以实现漏洞止血。
- **及时修复漏洞**：在确定时间周期内修复已知的OS安全漏洞，以符合安全补丁管理基线要求。
- **定期备份数据**：定期备份关键数据（如云硬盘、数据库），以确保即使发生了非预期的数据丢失也可以恢复数据。
 
#### 总体方案
WordPress部署主要通过以下服务实现安全防护。
| 服务                      | 作用                               |
|:---|:---|
| ECS（弹性云服务器）             | 部署WordPress，作为访问的入口              |
| IAM（统一身份认证）             | 负责精细化的访问控制和临时授权                  |
| RDS（关系型数据库）             | 提供高可用的MySQL数据库，作为WordPress的数据存储层 |
| DEW（密码安全中心）中的KMS（密钥管理）  | 用于云盘加密，托管密钥                      |
| DEW（密码安全中心）中的CSMS（凭据管理） | 负责数据库密码的托管与自动轮转                  |
   
#### 部署架构
在部署WordPress过程中需要创建ECS实例和RDS MySQL数据库，本实践针对这两者做的安全配置如下：
**ECS实例**
- **通过安全组精细控制** **ECS** **实例的出入流量** ：
  WordPress使用80端口，因此安全组放通需要配置添加，任意源0.0.0.0/0访问80端口的规则。
  安全组是一种虚拟防火墙，能够控制ECS实例的出入站流量。安全组的入方向规则控制ECS实例的入站流量，出方向规则控制ECS实例的出站流量，详情可参考[安全组概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0140323157.html)。
  
- **使用云服务器备份对云服务器周期性备份** ：
  CBR服务提供云服务器备份功能，为部署了WordPress的弹性云服务器配置云服务器备份，设置备份时间、保留规则等，详情可参考[快速创建云服务器备份](https://support.huaweicloud.com/qs-cbr/cbr_02_0028.html)。
  
- **通过** **IAM** **委托获取访问凭据** ：
  实例IAM委托允许您将一个委托关联到ECS实例，在ECS实例内部基于临时凭证访问其他云产品的API，临时凭证将周期性更新。既可以保证云账号AK/SK的安全性（即无需将固定AK/SK明文放入ECS实例内部），也可以借助统一身份认证IAM实现精细化控制和权限管理。
  以WordPress项目为例，为ECS服务创建委托，授予"KMS Administrator"、"CSMS FullAccess"权限，详情可参考[创建用户组并授权](https://support.huaweicloud.com/usermanual-iam/iam_03_0001.html)。
  
- **域名安全管理** ：
  主要包括服务商安全锁和注册局安全锁，可以防止域名被恶意转移、篡改或删除，详情可参考[域名安全简介](https://support.huaweicloud.com/usermanual-domain/domain_ug_390001.html)。
  
**RDS 数据库**
- **定期轮转** **RDS凭据** ：
  数据库账号口令、服务器账号口令、SSH Key、访问密钥等凭据的泄露，是当今数据安全面临的主要威胁之一。为了降低数据泄露的安全风险，执行有效的凭据保护和定期轮转非常关键。针对华为云关系型数据库RDS，密码安全中心DEW中支持配置动态RDS凭据，全自动的定期轮换，降低业务数据面临的安全威胁，详情可参考[凭据管理概述](https://support.huaweicloud.com/usermanual-dew/dew_01_2000.html)。
  ![](https://support.huaweicloud.com/bestpractice-ecs/public_sys-resources/note_3.0-zh-cn.png)
  CSMS推荐通过双账号模式轮转RDS凭据。您可以创建两个具有相同权限的数据库账号，凭据轮转时，CSMS会交替更新两个账号的密码，并交换活跃版本，确保应用程序在轮转期间始终有可用的凭据。
  

- **使用** **KMS** **加密数据** ：
  RDS支持云硬盘加密功能，该功能基于KMS对数据进行加密，即使数据备份泄露也无法解密，能够保护您的数据安全，详情可参考[设置磁盘加密](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0025.html)。
  
 
