配置网页防篡改规则避免静态网页被篡改
网站接入WAF后,您可以通过设置网页防篡改规则,锁定需要保护的网站页面(例如敏感页面)。当被锁定的页面在收到请求时,返回已设置的缓存页面,预防源站页面内容被恶意篡改。
工作原理
- 当WAF接收到正常的访问请求时,直接将缓存的网页返回给Web访问者,加速请求响应。
- 如果攻击者篡改了网站的静态网页,WAF将缓存的未被篡改的网页返回给Web访问者,保证Web访问者访问的是正确的页面。
- WAF将对页面路径下的所有相关资源进行防护。例如,对“www.example.com/index.html”静态页面配置了网页防篡改规则,则WAF将防护“/index.html”的网页以及这个网页关联的相关资源。
即如果请求中Referer请求头的值中的URL路径与您配置的防篡改路径一致,如“/index.html” ,则该请求命中的资源(结尾为png、jpg、 jpeg、gif、bmp、css、js的所有资源)也会同时被缓存下来。
- 同时,WAF支持缓存自定义的Header字段。在网页防篡改页面上方,单击“修改字段”可配置需要通过WAF缓存的Header字段。
应用场景
- 加速请求的响应
配置网页防篡改规则后,Web应用防火墙将对服务端的静态网页进行缓存。当Web应用防火墙接收到Web访问者的请求时,直接将缓存的网页返回给Web访问者。
- 网页防篡改
攻击者将服务端的静态网页篡改后,Web应用防火墙将缓存的未被篡改的网页返回给Web访问者,以保证Web访问者访问的是正确的页面。
Web应用防火墙具有如下功能:随机抽取Web访问者的一个请求,将请求的页面与服务端页面进行对比,如果发现页面被篡改,您将接收到告警通知(通知方式由您设置),告警通知的设置请参考开启告警通知。
约束条件
- 云模式-ELB接入不支持该防护规则。
- 添加或修改防护规则后,规则生效需要几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
- 请确保源站响应中包括Content-Type响应头,否则可能导致WAF无法缓存源站响应。
配置网页防篡改规则
- 登录Web应用防火墙控制台。
- 在控制台左上角,单击
图标,选择区域或项目。
- (可选) 如果您已开通企业项目,在左侧导航栏上方,单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
- 在左侧导航栏,单击“防护策略”。
- 单击目标策略名称,进入目标策略的防护规则配置页面。
在配置防护规则前,请确认目标防护策略已绑定防护域名,即绑定策略生效目标。一条防护策略可以适用于多个防护域名,但一个防护域名只能绑定一个防护策略。
- 单击“网页防篡改”配置框,确认已开启网页防篡改防护规则。
:开启状态。
- 在“网页防篡改”规则配置列表的左上方,单击“添加规则”。
- 在弹出的对话框中,添加网页防篡改规则,参数说明如表1所示。
图1 添加网页防篡改规则
- 单击“确定”,添加的网页防篡改规则展示在网页防篡改规则列表中。
如果被防护页面进行了内容修改,必须单击待更新的网页防篡改规则所在行的“更新缓存”来更新缓存,如果您在页面更新后未更新缓存,WAF将始终返回最近一次缓存的页面内容。
完成以上配置后,您还可以执行以下操作:
- 更新缓存:如果被防护页面进行了内容修改,必须单击待更新的网页防篡改规则所在行的“更新缓存”来更新缓存,如果您在页面更新后未更新缓存,WAF将始终返回最近一次缓存的页面内容。
- 查看规则状态:在防护规则列表,查看已添加的规则。此时,“规则状态”默认为“已开启”。
- 关闭规则:如果您暂时不想使该规则生效,可在目标规则“操作”列,单击“关闭”。
- 删除或修改规则:您也可以在目标规则“操作”列,单击“删除”或“修改”,删除或修改已添加的防护规则。
- 验证防护效果:
- 在浏览器中访问“http://www.example.com/admin”页面,显示初始页面。
- 模拟篡改“http://www.example.com/admin”网页。
- 在浏览器中访问“http://www.example.com/admin”页面,显示的是未被篡改的初始页面。
- 在“防护事件”页面,查看防护日志。
配置示例:静态页面防篡改
如果需要防止“/admin”静态页面被篡改,您可以参照以下操作步骤验证防护效果。
- 单击“网页防篡改”配置框,确认已开启网页防篡改防护规则。
:开启状态。
- 添加一条网页防篡改规则。
图2 添加网页防篡改规则
- 模拟篡改“http://www.example.com/admin”网页。
- 在浏览器中访问“http://www.example.com/admin”, 等待WAF缓存静态页面。
- 在浏览器中访问篡改后的页面。
此时,显示的是被篡改前的页面。