华为云用户手册

  • 应用场景 随着数字化应用的逐步深入,很多企业业务都通过Web应用来承载,如企业官网网站、网上商城、远程办公系统等,一般都直接暴露在互联网上,极易成为黑客攻击的目标,根据历史数据分析,约75%的信息安全攻击都是针对Web应用的,同时Web应用及组件的漏洞也较多,历史上就爆发过著名的Log4J漏洞,对大部分Web应用都产生了深远的影响。 本实践建立在网站已接入了CDN,如何使网站流量同时经过CDN和WAF进行防护,提升网站全面防护能力。 网站接入CDN的操作,请参见开通CDN服务。
  • 前提条件 已购买七层独享型负载均衡。有关ELB类型的详细介绍,请参见共享型弹性负载均衡与独享型负载均衡的功能区别。 2023年4月之前的独享引擎版本,不支持与独享ELB网络型配合使用。因此,如果您使用了独享ELB网络型(TCP/UDP)负载均衡,在目标独享引擎实例列表中的“版本”列查看WAF实例版本,确认已升级到最新版本(2023年4月及之后的版本)。 在该独享引擎实例所在安全组中已放开了相关端口。 安全组建议配置以下访问规则: 入方向规则 根据业务需求添加指定端口入方向规则,放通指定端口入方向网络流量。例如,需要放通“80”端口时,您可以添加“策略”为“允许”的“TCP”、“80”协议端口规则。 出方向规则 默认。放通全部出方向网络流量。 有关添加安全组规则的详细操作,请参见添加安全组规则。
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 弹性负载均衡 计费模式:包年/包月 实例类型:独享型 规格:应用型(HTTP/HTTPS);小型II 公网带宽:10Mbit/s 具体的计费方式及标准请参考计费说明。 Web应用防火墙 独享模式: 计费模式:按需计费 域名 数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 步骤二:将网站信息添加到WAF 此处以云模式-CNAME接入为例进行介绍。 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。 独享模式接入方式请参见将网站接入WAF防护(独享模式)。 在左侧导航树中,选择“网站设置”,进入网站设置列表。 在网站列表的左上角,单击“添加防护网站”。 选择“云模式-CNAME接入”并单击“开始配置”。 根据界面提示,配置网站信息,如表3所示。 图2 基础信息配置 表3 重点参数说明 参数 参数说明 取值样例 防护域名 需要添加到WAF中防护的域名。 域名已完成备案 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。 www.example.com 防护端口 需要防护的域名对应的业务端口。 标准端口 服务器配置 网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。 源站端口:WAF转发客户端请求到服务器的业务端口。 权重:负载均衡算法将按权重将请求分配给源站。 对外协议:HTTP 源站协议:HTTP 源站地址:IPv4 XXX .XXX.1.1 源站端口:80 代理情况 在WAF前使用了其他代理产品。 七层代理 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证和修改域名DNS解析设置的操作。 图3 添加域名完成
  • 方案概述 JS脚本检测流程如图1所示,其中,①和②称为“js挑战”,③称为“js验证”。 图1 JS脚本检测流程说明 开启JS脚本反爬虫后,当客户端发送请求时,WAF会返回一段JavaScript代码到客户端。 如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求到WAF,即WAF完成js验证,并将该请求转发给源站。 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求到WAF,即WAF无法完成js验证。 如果客户端爬虫伪造了WAF的认证请求,发送到WAF时,WAF将拦截该请求,js验证失败。
  • 应用场景 网络爬虫为网络信息收集与查询提供了极大的便利,但同时也对网络安全产生以下负面影响: 网络爬虫会根据特定策略尽可能多的“爬过”网站中的高价值信息,占用服务器带宽,增加服务器的负载 恶意用户利用网络爬虫对Web服务发动DoS攻击,可能使Web服务资源耗尽而不能提供正常服务 恶意用户利用网络爬虫抓取各种敏感信息,造成网站的核心数据被窃取,损害企业经济利益 Web应用防火墙可以通过Robot检测(识别User-Agent)、网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)三个反爬虫策略,全方位帮您解决业务网站遭受的爬虫问题。
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 Web应用防火墙 云模式-专业版: 计费模式:包年/包月 域名数量:50个防护域名(最多支持5个一级域名) QPS配额:5,000QPS业务请求 支持带宽峰值:云内200Mbps/云外50Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • IIS 6如何在访问日志中获取客户端真实IP 如果您的源站部署了IIS 6服务器,您可以通过安装“F5XForwardedFor.dll”插件,从IIS 6服务器记录的访问日志中获取客户端真实的IP地址。 下载F5XForwardedFor模块。 根据您服务器的操作系统版本将“x86\Release”或者“x64\Release”目录中的“F5XForwardedFor.dll”文件拷贝至指定目录(例如,“C:\ISAPIFilters”),同时确保IIS进程对该目录有读取权限。 打开IIS管理器,找到当前开启的网站,在该网站上右键选择“属性”,打开“属性”页面。 在“属性”页面,切换至“ISAPI筛选器”,单击“添加”,在弹出的窗口中,配置如下信息: “筛选器名称”:“F5XForwardedFor”; “可执行文件”:“F5XForwardedFor.dll”的完整路径,例如:“C:\ISAPIFilters\F5XForwardedFor.dll”。 单击“确定”,重启IIS 6服务器。 查看IIS 6服务器记录的访问日志(默认的日志路径为:“C:\WINDOWS\system32\LogFiles\ ”,IIS日志的文件名称以“.log”为后缀),可获取X-Forwarded-For对应的客户端真实IP。
  • IIS 7如何在访问日志中获取客户端真实IP 如果您的源站部署了IIS 7服务器,您可以通过安装“F5XForwardedFor”模块,从IIS 7服务器记录的访问日志中获取客户端真实的IP地址。 下载F5XForwardedFor模块。 根据服务器的操作系统版本将“x86\Release”或者“x64\Release”目录中的“F5XFFHttpModule.dll”和“F5XFFHttpModule.ini”文件拷贝到指定目录(例如,“C:\x_forwarded_for\x86”或“C:\x_forwarded_for\x64”),并确保IIS进程对该目录有读取权限。 在IIS服务器的选择项中,双击“模块”,进入“模块”界面。 单击“配置本机模块”,在弹出的对话框中,单击“注册”。 图2 注册模块 在弹出的对话框中,按操作系统注册已下载的DLL文件后,单击“确定”。 x86操作系统:注册模块“x_forwarded_for_x86” 名称:x_forwarded_for_x86 路径:“C:\x_forwarded_for\x86\F5XFFHttpModule.dll” 图3 x86操作系统注册模块 x64操作系统:注册模块“x_forwarded_for_x64” 名称:x_forwarded_for_x64 路径:“C:\x_forwarded_for\x64\F5XFFHttpModule.dll” 图4 x64操作系统注册模块 注册完成后,勾选新注册的模块(“x_forwarded_for_x86”或“x_forwarded_for_x64”)并单击“确定”。 在“ISAPI和CGI限制”中,按操作系统添加已注册的DLL文件,并将其“限制”改为“允许”。 x86操作系统: ISAPI或CGI路径:“C:\x_forwarded_for\x86\F5XFFHttpModule.dll” 描述:x86 x64操作系统: ISAPI或CGI路径:“C:\x_forwarded_for\x64\F5XFFHttpModule.dll” 描述:x64 重启IIS 7服务器,等待配置生效。 查看IIS 7服务器记录的访问日志(默认的日志路径为:“C:\WINDOWS\system32\LogFiles\ ”,IIS日志的文件名称以“.log”为后缀),可获取X-Forwarded-For对应的客户端真实IP。
  • 应用场景 客户端IP指的是访问者(用户设备)的IP地址。在Web应用开发中,通常需要获取客户端真实的IP地址。例如,投票系统为了防止刷票,需要通过获取客户端真实IP地址,限制每个客户端IP地址只能投票一次。 当您的网站已接入Web应用防火墙(Web Application Firewall,简称WAF)进行安全防护后,WAF作为一个反向代理存在于客户端和服务器之间,服务器的真实IP被隐藏起来,Web访问者只能看到WAF的IP地址。此时,您可直接通过WAF获取客户端的真实IP,也可以通过配置网站服务器获取客户端的真实IP。 本章节介绍了通过WAF直接获取真实IP的方法,以及不同类型的Web应用服务器(包括Tomcat、Apache、Nginx、IIS 6和IIS 7)如何进行相关设置,以获取客户端的真实IP。
  • 约束条件 添加域名时“是否已使用代理”配置错误将导致无法成功获取Web访问者请求的真实IP地址。 为了保证WAF的安全策略能够针对真实源IP生效,成功获取Web访问者请求的真实IP地址,如果WAF前使用了CDN、云加速等七层代理的产品,“是否已使用代理”务必选择“七层代理”,其他情况,“是否已使用代理”选择“无代理”。 常规情况下,X-Forwarded-For字段中,第一个IP就是客户端真实IP,当IPV6地址长度超过X-Forwarded-For字段长度限制时,将读取不到IP地址;另外,nat64下,ELB是IPv4的监听器,也读不到ipv6地址。
  • 通过WAF直接获取客户端真实IP 网站接入WAF后,WAF作为一个反向代理部署于客户端和服务器之间,实现网站安全防护。WAF获取真实IP原则请参见WAF获取真实IP是从报文中哪个字段获取到的?。 下面为您介绍如何通过X-Forwarded-For和X-Real-IP变量获取客户端真实IP地址的方法: WAF使用X-Forwarded-For的方式获取客户端的真实IP地址。 WAF将“真实的客户端IP”放在HTTP头部的“X-Forwarded-For”字段,格式如下: 1 X-Forwarded-For: 用户真实IP, 代理服务器1-IP, 代理服务器2-IP,... 当使用此方式获取客户端真实IP时,获取的第一个地址就是客户端真实IP。 各种语言通过调用SDK接口获取X-Forwarded-For字段的方式: ASP: Request.ServerVariables("HTTP_X_FORWARDED_FOR") ASP.NET(C#): Request.ServerVariables["HTTP_X_FORWARDED_FOR"] PHP: $_SERVER["HTTP_X_FORWARDED_FOR"] JSP: request.getHeader("HTTP_X_FORWARDED_FOR") WAF服务还支持使用X-Real-IP变量,获取客户的来源IP(使用过程中考虑了后面经过的多层反向代理对该变量的修改)。 各种语言通过调用SDK接口获取X-Real-IP字段的方式: ASP: Request.ServerVariables("HTTP_X_REAL_IP") ASP.NET(C#): Request.ServerVariables["HTTP_X_REAL_IP"] PHP: $_SERVER["HTTP_X_REAL_IP"] JSP: request.getHeader("HTTP_X_REAL_IP")
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 云日志 服务 计费模式:按需计费 每天新增日志量:10GB/天 日志存储时长:7天 具体的计费方式及标准请参考计费说明。 消息通知 服务 消息通知服务费用构成:外网下行流量+消息通知费用 不同场景下的费用构成如下: 发送短信通知费用构成:短信通知条数 发送电子邮件费用构成:电子邮件+外网下行流量 发送HTTP(S)费用构成:HTTP(S)+外网下行流量 具体的计费方式及标准请参考计费说明。 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 步骤二:将网站信息添加到WAF 此处以云模式-CNAME接入为例进行介绍。 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。 独享模式接入方式请参见将网站接入WAF防护(独享模式)。 在左侧导航树中,选择“网站设置”,进入网站设置列表。 在网站列表的左上角,单击“添加防护网站”。 选择“云模式-CNAME接入”并单击“开始配置”。 根据界面提示,配置网站信息,如表3所示。 图1 基础信息配置 表3 重点参数说明 参数 参数说明 取值样例 防护域名 需要添加到WAF中防护的域名。 域名已完成备案 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。 www.example.com 防护端口 需要防护的域名对应的业务端口。 标准端口 服务器配置 网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。 源站端口:WAF转发客户端请求到服务器的业务端口。 权重:负载均衡算法将按权重将请求分配给源站。 对外协议:HTTP 源站协议:HTTP 源站地址:IPv4 XXX .XXX.1.1 源站端口:80 代理情况 在WAF前使用了其他代理产品。 七层代理 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证和修改域名DNS解析设置的操作。 图2 添加域名完成
  • 支持配置的最低TLS版本说明 WAF默认配置的最低TLS版本为“TLS v1.0”,为了确保网站安全,建议您根据业务实际需求进行配置,支持配置的最低TLS版本如表2所示。 表2 支持配置的最低TLS版本说明 场景 最低TLS版本(推荐) 防护效果 网站安全性能要求很高(例如,银行金融、证券、电子商务等有重要商业信息和重要数据的行业) TLS v1.2 WAF将自动拦截TLS v1.0和TLS v1.1协议的访问请求。 网站安全性能要求一般(例如,中小企业门户网站) TLS v1.1 WAF将自动拦截TLS1.0协议的访问请求。 客户端APP无安全性要求,可以正常访问网站 TLS v1.0 所有的TLS协议都可以访问网站。
  • 支持配置的加密套件说明 WAF默认配置的加密套件为“加密套件1”,可以满足浏览器兼容性和安全性,各加密套件相关说明如表3所示。 表3 加密套件说明 加密套件名称 支持的加密算法 不支持的加密算法 说明 默认加密套件 说明: WAF默认给网站配置的是“加密套件1”,但是如果请求信息不携带sni信息,WAF就会选择缺省的“默认加密套件”。 ECDHE-RSA-AES256-SHA384 AES256-SHA256 RC4 HIGH MD5 aNULL eNULL NULL DH EDH AESGCM 兼容性:较好,支持的客户端较为广泛 安全性:一般 加密套件1 ECDHE-ECDSA-AES256-GCM-SHA384 HIGH MEDIUM LOW aNULL eNULL DES MD5 PSK RC4 kRSA 3DES DSS EXP CAMELLIA 推荐配置。 兼容性:较好,支持的客户端较为广泛 安全性:较高 加密套件2 EECDH+AESGCM EDH+AESGCM - 兼容性:一般,严格符合PCI DSS的FS要求,较低版本浏览器可能无法访问。 安全性:高 加密套件3 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 RC4 HIGH MD5 aNULL eNULL NULL DH EDH 兼容性:一般,较低版本浏览器可能无法访问。 安全性:高,支持ECDHE、DHE-GCM、RSA-AES-GCM多种算法。 加密套件4 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-SHA384 AES256-SHA256 RC4 HIGH MD5 aNULL eNULL NULL EDH 兼容性:较好,支持的客户端较为广泛 安全性:一般,新增支持GCM算法。 加密套件5 AES128-SHA:AES256-SHA AES128-SHA256:AES256-SHA256 HIGH MEDIUM LOW aNULL eNULL EXPORT DES MD5 PSK RC4 DHE 仅支持RSA-AES-CBC算法。 加密套件6 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256 - 兼容性:一般 安全性:较好 WAF提供的加密套件对于高版本的浏览器及客户端都可以兼容,不能兼容部分老版本的浏览器。TLS版本不同,加密套件的浏览器或客户端兼容情况也不同。以TLS v1.0协议为例,加密套件的浏览器及客户端兼容性说明如表4所示。 建议您以实际客户端环境测试的兼容情况为准,避免影响现网业务。 表4 加密套件不兼容的浏览器/客户端参考说明(TLS v1.0) 浏览器/客户端 默认加密套件 加密套件1 加密套件2 加密套件3 加密套件4 加密套件5 加密套件6 Google Chrome 63 /macOS High Sierra 10.13.2 × √ √ √ × √ √ Google Chrome 49/ Windows XP SP3 × × × × × √ √ Internet Explorer 6/Windows XP × × × × × × × Internet Explorer 8/Windows XP × × × × × × × Safari 6/iOS 6.0.1 √ √ × √ √ √ √ Safari 7/iOS 7.1 √ √ × √ √ √ √ Safari 7/OS X 10.9 √ √ × √ √ √ √ Safari 8/iOS 8.4 √ √ × √ √ √ √ Safari 8/OS X 10.10 √ √ × √ √ √ √ Internet Explorer 7/Windows Vista √ √ × √ √ × √ Internet Explorer 8~10/Windows 7 √ √ × √ √ × √ Internet Explorer 10/Windows Phone 8.0 √ √ × √ √ × √ Java 7u25 √ √ × √ √ × √ OpenSSL 0.9.8y × × × × × × × Safari 5.1.9/OS X 10.6.8 √ √ × √ √ × √ Safari 6.0.4/OS X 10.8.4 √ √ × √ √ × √
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 应用场景 HTTPS协议是由TLS(Transport Layer Security,传输层安全性协议)+HTTP协议构建的可进行加密传输、身份认证的网络协议。当域名接入WAF时,如果客户端采用HTTPS协议请求访问服务器,即防护域名的“对外协议”配置为“HTTPS”时,您可以通过为域名配置最低TLS版本和加密套件来确保网站安全,详细说明如下: 最低TLS版本 最低TLS版本是客户端通过TLS访问网站时,被允许访问网站的最低TLS版本。配置最低TLS版本后,只有满足最低TLS版本的请求,才能正常访问网站,可以满足行业网站的安全需求。 截止目前,TLS已发布了三个版本(TLS v1.0、TLS v1.1、TLS v1.2),TLS v1.0和TLS v1.1版本由于发布时间久远,某些加密算法(如SHA1、RC4算法)很容易被黑客攻击,且在性能上,TLS v1.0和TLS v1.1已经无法满足呈几何级增长的数据传输加密,存在安全隐患。同时,为了保障通信协议的安全,满足支付卡行业数据安全标准(PCI DSS),支付卡行业安全标准委员会(PCI SSC)规定,TLS v1.0安全通信协议于2018年6月30日不再生效。火狐、Safari、Chrome、Edge等主流浏览器厂商也声明将于2020年全面停止支持TLS v1.0和TLS v1.1。 您可以通过查看网站TLS版本,检测网站支持的TLS版本。 加密套件 加密套件是多种加密算法的集合。配置安全性更高的加密套件,可以保障网站的保密性和数据完整性。
  • 步骤二:将网站信息添加到WAF 此处以云模式-CNAME接入为例进行介绍。 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。 独享模式接入方式请参见将网站接入WAF防护(独享模式)。 在左侧导航树中,选择“网站设置”,进入网站设置列表。 在网站列表的左上角,单击“添加防护网站”。 选择“云模式-CNAME接入”并单击“开始配置”。 根据界面提示,配置网站信息,如表3所示。 图1 基础信息配置 表3 重点参数说明 参数 参数说明 取值样例 防护域名 需要添加到WAF中防护的域名。 域名已完成备案 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。 www.example.com 防护端口 需要防护的域名对应的业务端口。 标准端口 服务器配置 网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。 源站端口:WAF转发客户端请求到服务器的业务端口。 权重:负载均衡算法将按权重将请求分配给源站。 对外协议:HTTP 源站协议:HTTP 源站地址:IPv4 XXX .XXX.1.1 源站端口:80 代理情况 在WAF前使用了其他代理产品。 七层代理 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证和修改域名DNS解析设置的操作。 图2 添加域名完成
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 云日志服务 计费模式:按需计费 每天新增日志量:10GB/天 日志存储时长:7天 具体的计费方式及标准请参考计费说明。 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 步骤二:将网站信息添加到WAF 此处以云模式-CNAME接入为例进行介绍。 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。 独享模式接入方式请参见将网站接入WAF防护(独享模式)。 在左侧导航树中,选择“网站设置”,进入网站设置列表。 在网站列表的左上角,单击“添加防护网站”。 选择“云模式-CNAME接入”并单击“开始配置”。 根据界面提示,配置网站信息,如表3所示。 图2 基础信息配置 表3 重点参数说明 参数 参数说明 取值样例 防护域名 需要添加到WAF中防护的域名。 域名已完成备案 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。 www.example.com 防护端口 需要防护的域名对应的业务端口。 标准端口 服务器配置 网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。 源站端口:WAF转发客户端请求到服务器的业务端口。 权重:负载均衡算法将按权重将请求分配给源站。 对外协议:HTTP 源站协议:HTTP 源站地址:IPv4 XXX .XXX.1.1 源站端口:80 代理情况 在WAF前使用了其他代理产品。 此处选择“七层代理”。 七层代理 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证的操作。 图3 添加域名完成
  • 生效条件 当“接入状态”为“已接入”,表示域名/IP接入成功。 WAF每隔一小时就会自动检测防护网站的 接入状态,当WAF统计防护网站在5分钟内达到20次访问请求时,将认定该防护网站已成功接入WAF。 WAF默认只检测两周内新增或更新的域名的接入状态,如果域名创建时间在两周前,且最近两周内没有任何修改,您可以在“接入状态”栏,单击,手动刷新接入状态。 如果域名接入失败,即域名接入状态为“未接入”,请参考域名/IP接入状态显示“未接入”,如何处理?排查处理。
  • 应用场景 随着数字化应用的逐步深入,很多企业业务都通过Web应用来承载,如企业官网网站、网上商城、远程办公系统等,一般都直接暴露在互联网上,极易成为黑客攻击的目标,根据历史数据分析,约75%的信息安全攻击都是针对Web应用的,同时Web应用及组件的漏洞也较多,历史上就爆发过著名的Log4J漏洞,对大部分Web应用都产生了深远的影响。 本实践建立在网站已接入了DDoS高防,如何使网站流量同时经过DDoS高防和WAF进行防护,提升网站全面防护能力。 网站接入DDoS高防的操作,请参见网站类业务接入。
  • 方案架构 DDoS高防通过高防IP代理源IP对外提供服务,将所有的公网流量都引流至高防IP,进而隐藏源站,避免源站(用户业务)遭受大流量DDoS攻击。 DDoS高防支持防护的对象:域名,华为云、非华为云或云下的Web业务 Web应用防火墙通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。 WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下: 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务 云模式-ELB接入:域名或IP,华为云的Web业务 独享模式:域名或IP,华为云的Web业务 DDoS高防和WAF同时部署可以对华为云、非华为云或云下的域名进行联动防护,可以同时防御DDoS攻击(NTP Flood攻击、SYN Flood攻击、ACK Flood攻击、ICMP Flood攻击、HTTP Get Flood攻击等),以及Web应用攻击(SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等),确保业务持续可靠运行,配置原理图如图1所示。 图1 使用代理配置原理图 DDoS高防+WAF配置后,流量被DDoS高防转发到WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。 相关配置说明如下: 云模式-CNAME接入 先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站域名修改为WAF的“CNAME”。同时,为了防止其他用户提前将您的域名配置到WAF上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加一条WAF的子域名和TXT记录。 云模式-ELB接入 先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为添加到ELB模式中选择的ELB对应的弹性公网IP。 独享模式 先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为WAF独享引擎实例配置弹性负载均衡绑定的弹性公网IP。
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 DDoS防护 计费模式:包年/包月 保底防护带宽:10G 弹性防护带宽:10G 业务带宽:100Mbps 防护域名数:50个 具体的计费方式及标准请参考计费说明。 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
  • 步骤二:将网站信息添加到WAF 此处以云模式-CNAME接入为例进行介绍。 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。 独享模式接入方式请参见将网站接入WAF防护(独享模式)。 在左侧导航树中,选择“网站设置”,进入网站设置列表。 在网站列表的左上角,单击“添加防护网站”。 选择“云模式-CNAME接入”并单击“开始配置”。 根据界面提示,配置网站信息,如表3所示。 图1 基础信息配置 表3 重点参数说明 参数 参数说明 取值样例 防护域名 需要添加到WAF中防护的域名。 域名已完成备案 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。 www.example.com 防护端口 需要防护的域名对应的业务端口。 标准端口 服务器配置 网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。 源站端口:WAF转发客户端请求到服务器的业务端口。 权重:负载均衡算法将按权重将请求分配给源站。 对外协议:HTTP 源站协议:HTTP 源站地址:IPv4 XXX .XXX.1.1 源站端口:80 代理情况 在WAF前使用了其他代理产品。 七层代理 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证和修改域名DNS解析设置的操作。 图2 添加域名完成
  • 应用场景 当客户发现网站处理速度下降,网络带宽占用过高时,很有可能已经遭受CC攻击,此时可查看Web服务器的访问日志或网络连接数量,如果访问日志或网络连接数量显著增加,则可确定已遭受CC攻击,可以按照以下策略进行配置,利用WAF阻断CC攻击,保障网站业务的正常运行。 WAF防护应用层流量的拒绝服务攻击,适合防御HTTP Get攻击等。 WAF服务并不提供针对四层及以下流量的防护,例如:ACK Flood、UDP Flood等攻击,这类攻击建议使用DDoS及IP高防服务进行防护。 本手册基于Web应用防火墙实践所编写,指导您在遭遇CC(Challenge Collapsar)攻击时,完成基于IP限速和基于Cookie字段识别的防护规则的配置。
  • 方案选择 方案一:CC攻击常见场景防护配置 从不同的CC攻击防护场景中选择贴近您自身实际需求的场景,了解相关的防护设置。 方案二:通过IP限速限制网站访问频率 当WAF与访问者之间并无代理设备时,通过源IP来检测攻击行为较为精确,此时建议直接使用IP限速的方式进行访问频率限制。 方案三:通过Cookie字段限制网站访问频率 对于源IP无法精准获取的网站(例如存在header中未插入“X-Forwarded-For”字段的Proxy),此时建议使用配置Cookie字段的方式进行访问频率限制。 方案四:通过业务Cookie和HWWAFSESID联合配置限制恶意抢购、下载 该场景用于:限制同一个账号切换IP、终端的恶意请求;限制在同一个PC多个账号不停切换的恶意请求。
  • 资源与成本规划 表1 资源和成本规划 资源 资源说明 每月费用 Web应用防火墙 云模式-标准版: 计费模式:包年/包月 域名数量:10个防护域名(最多支持1个一级域名) QPS配额:2,000QPS业务请求 支持带宽峰值:云内100Mbps/云外30Mbps 独享模式: 计费模式:按需计费 域名数量:2,000个(支持2,000个一级域名) WAF实例规格选择WI-500,参考性能: HTTP业务:建议QPS 5,000;极限QPS 10,000 HTTPS业务:建议QPS 4,000;极限QPS 8,000 Websocket业务:支持最大并发连接5,000 最大回源长连接:60,000 WAF实例规格选择WI-100,参考性能: HTTP业务:建议QPS 1,000;极限QPS 2,000 HTTPS业务:建议QPS 800;极限QPS 1,600 Websocket业务:支持最大并发连接1,000 最大回源长连接:60,000 具体的计费方式及标准请参考计费说明。
共100000条