# 使用WAF和HSS提升网页防篡改能力
#### 应用场景
网页篡改是一种通过网页应用中的漏洞获取权限，通过非法篡改Web应用中的内容、植入暗链等，传播恶意信息，危害社会安全并牟取暴利的网络攻击行为。
如果网页被篡改，可能导致网页被植入色情、诈骗等非法信息的链接；发表反动言论，从而造成不良社会影响，损害企业品牌形象；对政府、高校、企事业单位等有影响力的单位来说，页面被恶意篡改将无意间成为传播危害社会安全等信息的帮凶，无形中错误引导大众，造成难以挽回的损失。
本章节介绍如何通过WAF和HSS实现动静态网页的防篡改。
#### 方案架构及方案优势
当攻击者企图通过SQL注入等攻击手段篡改网页时，WAF通过对HTTP(S)请求进行检测，及时识别并阻断攻击，防止攻击渗透进入系统层。
即使攻击突破了第一层防护也不用慌，主机安全服务网页防篡改早已提前帮您驱动及锁定Web文件目录下的文件，只有网站管理员可通过特权进程更新网站内容；除了锁定文件，主机安全服务网页防篡改还同时在本地主机和远端做了备份，一旦发生非法篡改，可以立即通过备份目录进行恢复；对于web服务器里的应用程序等动态网页，主机安全服务网页防篡改采用RASP检测应用程序行为，能够检测针对数据库等动态数据的篡改行为，实时阻断攻击者通过应用程序篡改网页内容的行为。
主机安全服务网页防篡改和Web应用防火墙双剑合璧，杜绝网页篡改事件发生。
表1HSS和WAF网页防篡改的区别 
| 类别   | HSS                                                                                                                                                                                                                                                                                                                                         | WAF                           |
|:---|:---|:---|
| 静态网页 | 锁定驱动级文件目录、Web文件目录下的文件，禁止攻击者修改。                                                                                                                                                                                                                                                                                                             | 缓存服务端静态网页                  |
| 动态网页  | - 动态数据防篡改 提供tomcat应用运行时自我保护，能够检测针对数据库等动态数据的篡改行为。   - 特权进程管理 配置特权进程白名单后，网页防篡改功能将主动放行可信任的进程，确保正常业务进程的运行。    | 不支持                        |
| 备份恢复 | - 主动备份恢复 若检测到防护目录下的文件被篡改时，将立即使用本地主机备份文件自动恢复被非法篡改的文件。   - 远端备份恢复 若本地主机上的文件目录和备份目录失效，可通过远端备份服务恢复被篡改的网页。       | 不支持                          |
| 防护对象  | 支持预防篡改和恢复篡改能力，适用于对网站防护要求高的用户。                                                                                                                                                                                                                                                                                                              | 适用于对网站防护要求低，仅需要对应用层进行防护的用户。 |
   
#### 资源与成本规划
表2资源和成本规划 
| 资源        | 资源说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 每月费用                                                                                |
|:---|:---|:---|
| 主机安全服务    | - 计费模式：包年/包月  - 版本选择：网页防篡改版  - 防护主机数量：1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 具体的计费方式及标准请参考[计费说明](https://support.huaweicloud.com/price-hss2.0/hss_02_0001.html)。 |
| Web应用防火墙 | 云模式-标准版： - 计费模式：包年/包月  - 域名数量：10个防护域名  - QPS配额：2,000QPS业务请求  - 支持带宽峰值： - 源站服务器部署在华为云内：100Mbps  - 源站服务器部署在华为云外：30Mbps     | 具体的计费方式及标准请参考[计费说明](https://support.huaweicloud.com/price-waf/waf_03_0001.html)。   |
   
#### 步骤一：配置WAF网页防篡改规则
1. [登录Web应用防火墙控制台](https://console.huaweicloud.com/waf/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002304713360.png)图标，选择区域或项目。
3. (可选) 如果您已开通企业项目，在左侧导航栏上方单击"按企业项目筛选"下拉框，选择您所在的企业项目。完成后，页面将为您展示该企业项目下的相关数据。
4. 在左侧导航栏，选择"防护策略 \> WAF核心防护"。
5. 在防护策略列表，单击目标策略名称，进入目标策略的防护规则配置页面。 
   您也可以在"资产管理 \> 防护对象"页面，单击目标域名"防护策略"列的"已开启防护项"后的数字，进入网站绑定的防护策略的规则配置页面。
   
   
6. 单击"网页防篡改"配置框，确认已开启网页防篡改防护规则。 
   ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
7. 在"网页防篡改"规则配置列表的左上方，单击"添加规则"。
8. 在弹出的对话框中，添加网页防篡改规则，参数说明如[表3]所示。
   
   图1添加网页防篡改规则   
   ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002156897613.png "点击放大")
    表3参数说明 
   | 参数    | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 取值样例             |
   |:---|:---|:---|
   | 域名   | 设置防篡改的域名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | www.example.com |
   | 路径    | 设置防篡改的URL链接中的路径。 - URL为用来定义网页的地址，其基本格式为"协议名://域名或IP地址\[:端口号\]/\[路径名/.../文件名\]"。 例如，URL为"http://www.example.com/admin"，则"路径"设置为"/admin"。   - 路径填写时，需注意： - 路径不包含域名。  - 路径不支持正则表达。  - 路径不能含有连续的多条斜线的配置，例如如果路径为"///admin"，WAF引擎会将"///"转为"/"。     | /admin            |
   | 规则描述 | 设置该规则的备注信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | --                |
      
   
   
9. 单击"确定"，添加的网页防篡改规则展示在网页防篡改规则列表中。 
   如果被防护页面进行了内容修改，必须单击待更新的网页防篡改规则所在行的"更新缓存"来更新缓存，如果您在页面更新后未更新缓存，WAF将始终返回最近一次缓存的页面内容。
   如果要生效该防护规则，需确认防护规则所属防护策略已[绑定防护域名](https://support.huaweicloud.com/usermanual-waf/waf_01_0074.html)，即绑定策略生效目标。一条防护策略可以适用于多个防护域名，但一个防护域名只能绑定一个防护策略。
   完成以上配置后，您还可以执行以下操作：
   - **更新缓存**：如果被防护页面进行了内容修改，必须单击待更新的网页防篡改规则所在行的"更新缓存"来更新缓存，如果您在页面更新后未更新缓存，WAF将始终返回最近一次缓存的页面内容。
   
   - **查看规则状态**：在防护规则列表，查看已添加的规则。此时，"规则状态"默认为"已开启"。
   
   - **关闭规则**：如果您暂时不想使该规则生效，可在目标规则"操作"列，单击"关闭"。
   
   - **删除或修改规则**：您也可以在目标规则"操作"列，单击"删除"或"修改"，删除或修改已添加的防护规则。
   
   - **验证防护效果** ：
     1. 在浏览器中访问"http://www.example.com/admin"页面，显示初始页面。
     
     2. 模拟篡改"http://www.example.com/admin"网页。
     
     3. 在浏览器中访问"http://www.example.com/admin"页面，显示的是未被篡改的初始页面。
     
     4. 在"防护事件"页面，查看防护日志。
      
   
   
   
   
 
#### 步骤二：开启HSS网页防篡改
1. [登录企业主机安全控制台](https://console.huaweicloud.com/hss/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002384023862.png)图标，选择区域或项目。
3. 在左侧导航树中，选择"主动防御 \> 网页防篡改"，进入"网页防篡改"界面。 
   图2网页防篡改   
   ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002484823194.png "点击放大")
   
   
4. 在"主机网页防篡改 \> 防护资产"页签，单击"添加防护服务器"，系统弹出"添加防护服务器"页面。
5. 在"添加防护服务器"页面，选择防护服务器和防护配额，并单击"下一步"。相关参数说明请参见[表4]。
   
   图3选择防护服务器   
   ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002183200400.png "点击放大")
    表4选择防护服务器参数说明 
   | 参数名称 | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 取值样例 |
   |:---|:---|:---|
   | 操作系统   | 选择要开启网页防篡改防护的服务器操作系统类型。 - Linux  - Windows                                                                                                                                                                                                                                                                | Linux  |
   | 选择服务器 | 勾选目标服务器。 可通过软件类型和其他属性筛选出目标服务器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | -     |
   | 选择配额 | 企业主机安全网页防篡改版支持"包年/包月"和"按需计费"两种计费模式，以满足不同场景下的用户需求。 - 包年/包月：一种预付费模式，即先付费再使用，按照订单的购买周期进行结算。购买周期越长，享受的折扣越大。  - 按需计费：一种后付费模式，即先使用再付费，按照企业主机安全实际使用时长计费，秒级计费，按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用，无需提前预置资源，从而降低预置过多或不足的风险。   选择包年/包月计费模式时，可以选择需要使用的目标配额，也可以保持默认"随机选择配额"。 | 包年/包月 |
   | 协议许可   | 在开启网页防篡改防护前，请确保您已充分阅读《主机安全免责声明》。 在阅读完成后，请勾选**我已阅读并同意** 《**主机安全免责声明**》。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 勾选    |
      
   
   
6. 在"添加防护服务器"页面，配置策略。相关参数说明请参见[表5]。
   
   图4配置策略   
   ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002497155380.png "点击放大")
    表5配置策略参数说明 
   | 参数名称        | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 取值样例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   |:---|:---|:---|
   | 防护目录      | 主机网页防篡改支持静态、动态网页防护，其中静态网页防护是对指定的目录进行防护，通过锁定目录或实时检测并备份还原的方式禁止攻击者修改。因此，在开启网页防篡改时，需要设置防护的指定目录。 将目录添加为防护目录后，目录内的文件和文件夹将被设置为只读模式，禁止任何修改操作。 防护目录添加规则如下： - Linux系统： - 目录名不能包含英文分号字符，不能以空格开头，不能以/结尾，防护目录长度不得超过256个字符。  - 每台服务器最多可添加50个防护目录。  - 每个防护目录下的文件夹层级不超过100。  - 所有防护目录下的文件夹个数不超过900000。    - Windows系统： - 目录名不能包含;/\*?"\<\>\|，不能以空格开头，不能以\\结尾，防护目录长度不得超过256个字符。  - 每台服务器最多可添加50个防护目录。     **请勿将网络目录添加为防护目录**，主要原因如下： - 检测效率低 网络目录通常包含大量文件，总容量可能达到上百TB，这将显著降低检测效率。   - 占用网络带宽 访问网络目录时需要占用网络带宽，大规模检测可能导致带宽被完全占满，进而影响到您正常业务的运行，包括但不限于网络速度变慢、网络延迟增加等。    | - Linux：/etc/lesuo  - Windows：d:\\web                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 排除子目录（可选）   | 如果防护目录内存在无需防护的子目录，可排除该子目录。 子目录添加规则如下： - 可以直接输入子目录名称，或输入相对于防护目录的目录路径。当输入子目录名称时，所有与之匹配的子目录都会被排除，无论位于防护目录下的哪一层。  - 子目录的名称或路径不能以/开头或结尾，最大长度不能超过256个字符。  - 最多可添加10个子目录，多个子目录用英文分号（;）隔开。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | - Linux：data/cache或cache  - Windows：web\\test或test                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 排除文件路径列表（可选） | 仅Linux服务器可设置此项。 如果防护目录内存在无需防护的文件，可排除该文件。 排除文件路径添加规则如下： - 可以直接输入文件名称，或输入相对于防护目录的文件路径。当输入文件名称时，所有与之匹配的文件都会被排除，无论位于防护目录下的哪一层。  - 文件名称或路径不能以/开头或结尾，最大长度不能超过256个字符；  - 最多可添加50个文件，多个文件用英文分号（;）隔开。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | data/ma.txt或ma.txt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 本地备份路径     | 仅Linux服务器可设置此项。 设置防护目录的本地备份路径，开启网页防篡改防护后，防护目录内的文件会自动备份到本地备份路径下，一旦检测到防护目录内的文件被篡改，系统会立即使用本地备份自动恢复被非法篡改的文件。 本地备份路径添加规则如下： - 本地备份路径不能包含英文分号字符，不能以空格开头，不能以/结尾，本地备份路径长度不得超过256个字符。  - 由于系统关键目录更容易成为恶意攻击的目标，因此不允许将系统关键目录作为备份路径，包括但不限于"/etc/"、"/bin/"、 "/usr/bin/"、"/var/spool/"、"/usr/sbin/"、"/sbin/"、"/usr/lib/"、"/lib/"、"/lib64/"、"/usr/lib64/"及其子目录。   本地备份规则说明： - 本地备份路径须为合法路径，且本地备份路径不能与防护目录路径重叠。  - 被排除的子目录和文件类型不会进行备份。  - 防护目录内的文件大小不同，则备份时间不同，一般约10分钟完成备份。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | /backup                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 排除文件类型      | 如果防护目录内存在无需防护的文件类型，可排除该文件类型（无文件类型限制），例如log类型的文件。 为了实时记录主机中的运行情况，必须排除防护目录内的log类型文件，您可以为日志文件添加等级较高的读写权限，防止攻击者恶意查看或篡改日志文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | log                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 防护模式         | 监控到文件被篡改时的防护方式。 - 告警模式：仅发送告警通知。  - 拦截模式：发送告警通知，同时将文件还原至被篡改前的状态。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 拦截                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 定时开关设置（可选）  | 定时开关用于定时关闭静态网页防篡改，适用于用户定时修改/更新/发布网页内容的场景。 单击![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002227087133.png)开启定时开关，同时需要设置以下参数： - **关闭时间段** 一天内，关闭静态网页防篡改的时间段，例如10:05-15:35。 时间段设置要求如下： - 每个时间段最短不能少于5分钟。  - 多个时间段之间不允许重叠，且两段时间间隔必须大于5分钟（时间00:00和23:59特例除外）。  - 所有时段以主机系统时间为准。    - **自动关闭防护周期** 一周内，固定周几自动关闭静态网页防篡改，例如周三、周四。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002227089701.png)，10:05-15:35，周三                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 动态网页防篡改（可选）  | 动态网页防篡改主要用于保护Linux系统上的Tomcat应用，它能够在应用运行期间实时检测并阻止针对数据库等动态数据的篡改行为。 动态网页防篡改当前支持JDK 8、JDK 11和JDK 17的Tomcat应用。 单击![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002227001593.png)开启动态网页防篡改，开启动态网页防篡改时，需要填写完整的**Tomcat bin** **目录路径**，例如"/usr/workspace/apache-tomcat-8.5.15/bin"，系统会将setenv.sh脚本预置在bin目录中，用于设置防篡改程序的启动参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002227004181.png)，/usr/workspace/apache-tomcat-8.5.15/bin                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 进程监控（可选）    | 单击![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002529035789.png)开启，开启后，HSS将提供以下功能： - **记录触发篡改事件的进程信息** 检测到篡改事件时同步获取进程路径、进程命令行，上报告警事件到防护事件列表，供用户定位可疑进程。   - **支持设置特权进程** **特权进程** 是指被授权可以修改**防护目录**的进程。开启主机网页防篡改后，防护目录内的所有文件将被禁止修改。如果您需要修改防护目录内的文件或更新网站，可添加特权进程进行修改。特权进程被授权访问防护目录，需确保特权进程安全可靠。此功能兼容Linux和Windows操作系统，但Linux仅支持内核版本不低于5.10的系统。 开启特权进程，同时需要设置以下参数： - **特权进程文件路径** 特权进程文件路径即进程完整路径。多个特权进程文件路径以换行符分隔，最多可添加10个特权进程。   - **子进程可信** 开启"子进程可信"，企业主机安全将对添加的**所有** **特权进程**文件路径下5个层级内的子进程可信。允许子进程修改防护目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002497315870.png) 特权进程文件路径： - Linux：/Path/Software.type  - Windows：C:\\Path\\Software.type   子进程可信： ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002497315856.png) |
      
   
   
7. 配置策略完成后，单击"确定"，开启网页防篡改版防护。
8. 在防护设置页签中，查看目标服务器的静态防篡改状态、动态防篡改状态。 
   静态防篡改状态、动态防篡改状态为"防护中"，表示静态、动态网页防篡改开启成功。动态网页防篡改开启后，需要重启Tomcat才能生效。
   开启防护后，企业主机安全需要2-3分钟向Agent下发防护策略，所有策略下发完成才表示防护成功。如有需要您可以在"资产管理 \> 主机管理"页面，单击服务器名称，进入服务器详情页面，选择"安全运营 \> 策略管理"，查看策略启用状态，均为"已启用"，表示策略下发完成。
   
   
9. （可选）配置告警通知、防护策略、主机登录保护以及开启恶意程序隔离查杀。 
   企业主机安全网页防篡改版，不仅提供网页防篡改功能，还提供主动防御、漏洞扫描、基线检查等功能，具体功能清单请参见[产品功能](https://support.huaweicloud.com/productdesc-hss2.0/hss_01_0136.html)，您可以按需配置对应功能，如下是一些必要的基础功能配置介绍。
   - **配置告警通知**
     企业主机安全防护开启成功后，默认将检测到的风险告警信息呈现在控制台，如需及时了解主机、容器或网页存在的安全风险，您可以开启告警通知，开启后，一旦企业主机安全检测到风险，将通过短信或邮件等方式通知您。具体操作请参见[告警配置](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0241.html)。
     
   
   - **配置防护策略**
     每个企业主机安全版本都对应一组防护策略，这些策略默认预置了防护规则。您可以根据自身业务需求，开启或关闭防护策略、调整防护规则。具体操作请参见[策略管理](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0045.html)。
     
   
   - **配置登录保护**
     您可以通过[双因子认证](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0568.html)、[配置常用登录地](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0566.html)、[配置常用登录IP](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0761.html)以及[配置SSH登录IP白名单](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0760.html)，来增强主机登录安全性。
     
   
   - **开启恶意程序隔离查杀**
     开启恶意程序隔离查杀功能后，企业主机安全将自动隔离识别到的后门、木马、蠕虫等恶意程序，帮助您自动处理系统存在的安全风险。具体操作请参见[开启恶意程序隔离查杀](https://support.huaweicloud.com/usermanual-hss2.0/hss_01_0567.html)。
     
   
   
   
   
![](https://support.huaweicloud.com/bestpractice-waf/public_sys-resources/notice_3.0-zh-cn.png)
- 关闭网页防篡改防护服务前，请对主机执行全面的检测，处理已知风险并记录操作信息，避免运维失误，使您的主机遭受攻击。
- 关闭网页防篡改防护服务后，网页应用被篡改的可能性将大大提高，请及时清理主机中的重要数据、关停主机中的重要业务并断开主机与外部网络的连接，避免因主机遭受攻击而承担不必要的损失。
- 执行关闭网页防篡改操作后，防护目录下的文件将不再受"网页防篡改"功能的防护，建议您提前处理防护目录下的文档，再对文档执行暂停防护、编辑或删除的相关操作。
- 执行关闭网页防篡改操作后，如果您的文档不慎被删除，请在主机本地备份或远端主机的备份路径中查找。

- 当用户关闭网页防篡改时会同步关闭旗舰版防护。
 
