使用WAF、ELB和NAT网关防护本地部署的业务
应用场景
WAF云模式-ELB接入默认只支持华为云上业务,当您的源站服务器在本地时,需要通过NAT网关进行流量转发,将您的流量由华为云内网回源到源站的公网IP,再通过云模式-ELB接入方式将网站接入WAF,实现流量检测。
方案架构
资源与成本规划
步骤一:创建独享型负载均衡器
- 进入购买弹性负载均衡页面。
- 单击“购买弹性负载均衡”。
- 根据界面提示选择负载均衡器的基础配置。
- “实例类型”:选择“独享型”。
- “规格”:选择“应用型(HTTP/HTTPS)”。
- 其他参数:根据业务实际情况进行选择。
- 选定负载均衡器的规格后,请根据界面提示选择负载均衡器的网络配置。
- “IP类型后端(跨VPC后端)”:开启
。 - “前端子网”:独享型负载均衡所在的子网,从该子网中分配ELB实例对外服务的IP地址。
- “后端子网”:负载均衡实例将使用后端子网中的IP地址与后端服务器建立连接。此处,需要配置一个独立的后端子网,与前端子网配置的不同。
如果前后端子网配置一样,通过NAT进行流量转发时,可能会造成转发混乱。
- 其他参数:根据业务实际情况进行选择。
- “IP类型后端(跨VPC后端)”:开启
关于创建独享型负载均衡器的详细操作请参见创建独享型负载均衡器。
- 根据界面提示选择负载均衡器的基础配置。
- 单击“立即购买”。
- 确认配置信息,根据界面提示完成创建操作。
完成以上配置后,您可以在负载均衡器列表,查看已购买的弹性负载均衡器。其中,“状态”为“运行中”,“实例类型”为“独享型”,“规格”为“应用型”。
步骤二:为创建的ELB配置监听器
- 在目标负载均衡器所在行的“名称”列,单击目标负载均衡器名称。
- 选择“监听器”页签,单击“添加监听器”,配置监听器名称、前端协议/端口信息。
- 单击“下一步:配置后端分配策略”,配置后端分配策略。
- 单击“下一步:添加后端服务器”,并选择“IP类型后端(跨VPC后端)”页签。
- 单击“添加IP类型后端”,在弹出的弹框中,配置“IP类型后端IP”和“业务端口”。
- “IP类型后端IP”:源站的IP地址。
- “业务端口”:服务器的端口号。
- 单击“确定”,配置完成。
- 单击“下一步:确认配置”后单击“提交”。
完成以上配置后,您可以在目标负载均衡器的“监听器”列,查看已配置的“前端协议”和“端口”信息。
步骤三:配置NAT网关
- 购买公网NAT网关
- 进入购买公网NAT网关页面。
- “子网”:配置为2.b中配置的后端子网。
- 其他参数:根据业务实际情况进行配置。
- 单击“立即购买”,在“规格确认”页面,您可以再次核对公网NAT网关信息。
- 确认无误后,单击“提交”,开始创建公网NAT网关。
完成以上配置后,您可以在网关列表,查看已购买公网NAT网关。公网NAT网关的创建过程一般需要1-6分钟。
- 进入购买公网NAT网关页面。
- 添加SNAT规则。
- 在公网NAT网关页面,单击需要添加SNAT规则的公网NAT网关名称。
- 在“SNAT规则”页签中,单击“添加SNAT规则”。
“子网”:配置为2.b中配置的后端子网。
- 配置完成后,单击“确定”,完成“SNAT规则”创建。
完成以上配置后,您可以在“SNAT规则”页签,查看已添加的规则。
步骤四:通过云模式-ELB接入方式将域名添加到WAF进行防护
- 购买云模式标准版。
- 登录Web应用防火墙控制台。
- 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”。
- “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
- “版本规格”:选择“标准版”。
- “扩展包”及“购买时长”:根据具体情况进行选择。
- 确认参数配置无误后,在页面右下角单击“立即购买”。
- 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
- 进入“付款”页面,选择付款方式进行付款。
订单支付成功后,单击“进入Web应用防火墙控制台”,进入WAF“总览”页面。将鼠标悬停在“产品信息”区域,查看已购实例版本及其详细规格。
- 通过云模式-ELB接入方式将域名添加到WAF。
- 在左侧导航栏,单击“接入管理”。
- 在“接入管理”页面,选择“云模式-ELB”页签后,完成接入配置。
若仅开通一种接入模式,则直接在“接入管理”页面完成接入配置即可。
- 单个接入
- 单击“未成功接入域名数”后的数字,定位到目标ELB实例后,单击“操作”列的“立即接入”。
您也可以选中一个配置了监听器的ELB实例后,单击“一键批量接入”。
如果“立即接入”按钮置灰,则对应ELB实例未配置监听器。请为ELB实例添加监听器后,再进行接入配置。
- 在“接入ELB域名”面板,完成接入配置后,单击“确定”。接入配置参数说明如表2所示。
- 单击“未成功接入域名数”后的数字,定位到目标ELB实例后,单击“操作”列的“立即接入”。
- 一键批量接入
- 选中至少一个配置了监听器的ELB实例后,单击“一键批量接入”。
支持为已接入的ELB实例,添加多个防护域名。
- 在“一键批量接入”面板,完成接入配置后,单击“确定”。接入配置参数说明如表2所示。
- 选中至少一个配置了监听器的ELB实例后,单击“一键批量接入”。
表2 接入配置参数说明 参数
参数说明
取值样例
防护策略模式
选择要启用的防护策略模式。
一键批量接入支持为多个ELB实例添加相同防护策略,或选择不同的防护策略。
- 相同防护策略:选择后,为所有一键批量接入WAF的ELB实例,选择同一个防护策略。
- 不同防护策略:为每个ELB实例,单个选择不同的防护策略。
两种策略模式均支持选择系统自动生成策略、手动创建的防护策略。- 系统自动生成策略(默认)包括:
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
常规检测包含:
- “规则集”:“默认规则集【中等】”
- “防护动作”:“仅记录”,即发现攻击行为后WAF只记录攻击事件不阻断攻击。
- 网站反爬虫:默认开启扫“扫描器”检测、“防护动作”为“仅记录”(发现攻击行为后WAF只记录攻击事件不阻断攻击),可防护漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
- 手动创建的防护策略:根据防护需求创建的防护策略。仅标准版、专业版、企业版支持选择手动创建的防护策略。更多信息,请参见配置防护策略。
相同防护策略 > 系统自动生成策略
接入配置
配置接入信息。
- 防护域名:要防护的域名或IP(公网IP/私网IP),且该域名已解析到已创建的负载均衡器的弹性公网IP上。
- 域名:支持单域名和泛域名。
单域名:输入防护的单域名。例如:www.example.com。
泛域名:- 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
- 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
- WAF支持添加“*”的泛域名。
- 一个ELB只支持一个泛域名。
- IP:支持防护公网IP、私网IP。如果配置为私网IP,必须确保相应的网络路径是可访问的,以便于WAF能够正确地对流量进行监控和过滤。
- 域名:支持单域名和泛域名。
- ELB监听器:选择的ELB配置的监听器,支持选择其他账号的ELB监听器。
- “所有监听器”:表示选择ELB下的所有监听器。
- “指定监听器”:表示选择ELB下的指定监听器。
- 防护策略:“防护策略模式”选择“不同防护策略”后,需要单独为每个ELB实例选择对应的防护策略。
防护域名:*
ELB监听器:全部监听器
接入完成后,单击“已接入域名数”后的数字,可查看已接入WAF的ELB实例。
- 单个接入
操作结果验证
假如已添加域名“www.example.com”,且已开启了Web基础防护的“常规检测”,防护模式为“拦截”。您可以参照以下步骤验证WAF防护效果:
- 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。
- 不能正常访问,参照步骤一:创建独享型负载均衡器~步骤四:通过云模式-ELB接入方式将域名添加到WAF进行防护章节重新完成域名接入。
- 能正常访问,执行2。
- 清理浏览器缓存,在浏览器中输入“http://www.example.com?id=1%27%20or%201=1”模拟SQL注入攻击。
WAF将拦截该访问请求,拦截页面如图2所示。
- 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志。
