文档简介:
网站接入流程(独享模式)
申请WAF独享模式后,您需要将防护域名接入WAF,使网站的访问流量全部流转到WAF进行监控防护。
约束限制
WAF独享模式可以防护通过域名或IP访问的Web应用/网站。
网站接入流程说明
申请WAF独享模式后,您可以参照图5-1所示的配置流程,快速使用WAF。
网站接入WAF的操作流程图-独享模式
步骤一:添加防护网站
如果您的业务服务器部署在云上,您可以将网站的域名或IP添加到WAF,使网站流量切入WAF。
前提条件
已申请WAF独享引擎实例。
约束条件
- 接入Web应用防火墙的网站已使用公网ELB(Elastic Load Balance)代理用作负载均衡。
- 为了保证WAF的安全策略能够针对真实源IP生效,成功获取Web访问者请求的真实IP地址,如果WAF前没有使用CDN、云加速等七层代理服务器,且ELB使用的是四层负载均衡(NAT等方式),“是否已使用代理”务必选择“否”,其他情况,“是否已使用代理”选择“是”。
收集防护域名/IP的配置信息
在添加防护域名/IP前,请获取防护域名/IP如表所示相关信息。
准备防护域名/IP相关信息
获取信息 |
参数 |
说明 |
示例 |
配置参数 |
防护域名 |
l 域名:由一串用点分隔的英文字母组成(以字符串的形式来表示服务器IP),用户通过域名来访问网站。 l IP:访问网站所使用的IP地址。 |
www.example.com |
防护对象端口 |
需要防护的域名对应的业务端口。 l 标准端口 − 80:HTTP对外协议默认使用端口 − 443:HTTPS对外协议默认使用端口 l 非标准端口 80/443以外的端口 |
80 |
|
对外协议 |
客户端(例如浏览器)请求访问网站的协议类型。WAF支持“HTTP”、“HTTPS”两种协议类型。 |
HTTP |
|
源站协议 |
WAF转发客户端(例如浏览器)请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 |
HTTP |
|
VPC |
选择申请的独享引擎实例所在的VPC。 |
vpc-default |
|
源站地址 |
客户端(例如浏览器)访问的网站服务器的私网IP地址。 |
192.168.1.1 |
|
(可选)证书 |
证书名称 |
对外协议选择“HTTPS”时,需要在WAF上配置证书,将证书绑定到防护域名。 须知 WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考14.4.2.3 如何将非PEM格式的证书转换为PEM格式?转化证书格式。 |
- |
操作步骤
步骤 1 登录管理控制台。
步骤 2 单击管理控制台右上角选择区域或项目。
步骤 3 单击页面左上方,选择“安全 >Web应用防火墙 (独享版)”。
步骤 4 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
步骤 5 在网站列表左上角,单击“添加防护网站”。
步骤 6 在页面配置域名基本信息,如图所示。
配置网站基本信息
基本信息参数说明
参数 |
参数说明 |
取值样例 |
防护域名 |
防护的域名或IP,域名支持单域名和泛域名。 l 单域名:输入防护的单域名。例如:www.example.com。 l 泛域名 说明 泛域名不支持下划线(_)。 − 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。 − 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。 |
单域名:www.example.com 泛域名:*.example.com IP:XXX.XXX.1.1 |
端口 |
可选参数,仅当用户勾选“非标准端口”时需要配置。 l “对外协议”选择“HTTP”时,WAF默认防护“80”标准端口的业务;“对外协议”选择“HTTPS”时,WAF默认防护“443”标准端口的业务。 l 如需配置除“80”/“443”以外的端口,勾选“非标准端口”,在“端口”下拉列表中选择非标准端口。 说明 如果配置了非标准端口,访问网站时,需要在网址后面增加非标准端口进行访问,否则访问网站时会出现404错误。 |
81 |
服务器配置 |
网站服务器地址的配置。包括对外协议、源站协议、VPC、源站地址和源站端口。 l 对外协议:客户端请求到WAF独享引擎使用的协议。包括“HTTP”、“HTTPS”两种协议类型。 l 源站协议:客户端请求经过WAF独享引擎转发到源站时使用的协议。包括“HTTP”、“HTTPS”两种协议类型。 说明 WAF支持WebSocket/WebSockets协议,且默认为开启状态。 l VPC:选择独享引擎实例所在的VPC。 l 源站地址:客户端(例如浏览器)访问的网站服务器的私网IP/内网IP地址。 l 源站端口:WAF独享引擎转发客户端请求到服务器的业务端口。 |
对外协议:HTTP 源站协议:HTTP VPC:vpc-default 源站地址: 192.168.1.1 源站端口:80 |
证书名称 |
“对外协议”设置为“HTTPS”时,需要选择证书。您可以选择已创建的证书或选择导入的新证书。导入新证书的操作请参见导入新证书。 须知 l WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考导入新证书将证书转换为PEM格式,再上传。 l 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。 |
-- |
步骤 7 选择“是否已使用代理”。
为了保证WAF的安全策略能够针对真实源IP生效,成功获取Web访问者请求的真实IP地址,如果WAF前没有使用CDN、云加速等七层等代理服务器,且ELB使用的是四层负载均衡(NAT等方式),“是否已使用代理”务必选择“否”,其他情况,“是否已使用代理”选择“是”。
步骤 8 单击“确定”,防护网站添加成功。
您可以在防护网站列表中查看已添加防护网站。
生效条件
防护网站的初始“接入状态”为“未接入”,配置完负载均衡以及为弹性负载均衡绑定弹性IP后,当访问请求到达该网站的WAF独享引擎时,该防护网站的接入状态将自动切换为“已接入”。
导入新证书
当“对外协议”设置为“HTTPS”时,可以导入新证书。
单击“导入新证书”,打开“导入新证书”对话框。
导入新证书
说明
Web应用防火墙将对私钥进行加密保存,保障证书私钥的安全性。
WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考表5-4在本地将证书转换为PEM格式,再上传。
证书转换命令
格式类型 | 转换方式 |
---|---|
CER/CRT | 将“cert.crt”证书文件直接重命名为“cert.pem”。 |
PFX | l 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodesl 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。openssl pkcs12 -in cert.pfx -nokeys -out cert.pem |
P7B | 1. 证书转换,以“cert.p7b”转换为“cert.cer”为例。openssl pkcs7 -print_certs -in cert.p7b -out cert.cer2. 将“cert.cer”证书文件直接重命名为“cert.pem”。 |
DER | l 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.peml 提取证书命令,以“cert.cer”转换为“cert.pem”为例。openssl x509 -inform der -in cert.cer -out cert.pem |
步骤二:配置负载均衡
添加防护网站后,您需要使用云上弹性负载均衡(Elastic Load Balance,简称ELB)为WAF独享引擎实例配置负载均衡和健康检查,以确保WAF的可靠性和稳定性。
前提条件
- 已添加独享模式防护网站。
- 已成功申请ELB实例。
- 在该独享引擎实例所在安全组中已放开了相关端口。
安全组建议配置以下访问规则:
入方向规则
根据业务需求添加指定端口入方向规则,放通指定端口入方向网络流量。例如,需要放通“80”端口时,您可以添加“策略”为“允许”的“TCP”、“80”协议端口规则。
出方向规则
默认。放通全部出方向网络流量。
系统影响
“分配策略类型”选择“加权轮询算法”时,请关闭“会话保持”,如果开启会话保持,相同的请求会转发到相同的WAF独享引擎实例上,当WAF独享引擎实例出现故障时,再次到达该引擎的请求将会出错。
操作步骤
步骤 1 登录管理控制台。
步骤 2 单击管理控制台右上角选择区域或项目。
步骤 3 单击页面左上方选择“网络 > 弹性负载均衡”,进入“负载均衡器”页面。
步骤 4 在负载均衡器所在行的“名称”列,单击目标负载均衡器名称,进入ELB“基本信息”页面。
步骤 5 选择“监听器”页签后,单击“添加监听器”,配置监听器信息,如图所示。
配置监听器信息
步骤 6 单击“下一步”,配置后端主机组和健康检查。
配置后端主机组
健康检查配置
步骤 7 单击“完成”后再单击“确定”,监听器添加成功。
步骤 8 在添加的监听器页面,选择“后端主机组”页签后,单击“添加”。
步骤 9 在弹出的“添加后端主机”对话框中,选择已创建的WAF独享引擎实例。
步骤 10 单击“下一步”,为独享引擎配置端口。
说明
独享引擎监听端口需要与5.2.2,步骤一:添加防护网站时设置的端口保持一致。如果防护网站配置的是标准端口,则HTTP协议监听端口配置为“80”,HTTPS协议监听端口配置为“443”。
步骤 11 单击“完成”,配置完成。
生效条件
当WAF独享引擎实例的“健康检查结果”为“正常”时,说明弹性负载均衡配置成功。
步骤三:为弹性负载均衡绑定弹性公网IP
WAF独享引擎实例配置负载均衡后,您还需要解绑源站服务器的弹性公网IP(Elastic IP,简称EIP),将解绑的弹性公网IP绑定到WAF独享引擎实例5.2.3
步骤二:配置负载均衡上。绑定后,请求流量会先经过WAF独享引擎进行攻击检测,然后转发到源站服务器,从而确保源站安全、稳定、可用。
前提条件
已为WAF独享引擎实例5.2.3
步骤二:配置负载均衡。
操作步骤
步骤 1 登录管理控制台。
步骤 2 单击管理控制台右上角,选择区域或项目。
步骤 3 单击页面左上方,选择“网络 > 弹性负载均衡”,进入“负载均衡器”页面。
步骤 4 在“负载均衡器”页面,目标源站的负载均衡器所在行“操作”列,选择“更多>解绑IPv4/6公网IP”。
步骤 5 在弹出的对话框中,单击“是”,解绑EIP。
步骤 6 在“负载均衡器”页面,WAF独享引擎的ELB的负载均衡器所在行“操作”列,选择“更多 > 绑定IPv4/6公网IP”。
步骤 7 在“绑定弹性公网IP”对话框中,选择步骤4中解绑的EIP,单击“确定”,绑定EIP。
步骤四:放行独享引擎回源IP
网站以“独享模式”成功接入WAF后,建议您在源站服务器上配置只放行独享引擎回源IP的访问控制策略,防止黑客获取源站IP后绕过WAF直接攻击源站,以确保源站安全、稳定、可用。
说明
网站以“独享模式”成功接入WAF后,如果访问网站频繁出现502/504错误,建议您检查并确保源站服务器已配置了放行独享引擎回源IP的访问控制策略。
为什么需要放行回源IP
网站以“独享模式”成功接入WAF后,所有网站访问请求将先经过独享引擎配置的ELB然后流转到独享引擎实例进行监控,经独享引擎实例过滤后再返回到源站服务器,流量经独享引擎实例返回源站的过程称为回源。在服务器看来,接入WAF后所有源IP都会变成独享引擎实例的回源IP(即独享引擎实例对应的子网IP),以防止源站IP暴露后被黑客直接攻击。
源站服务器上的安全软件很容易认为独享引擎的回源IP是恶意IP,有可能触发屏蔽WAF回源IP的操作。一旦WAF的回源IP被屏蔽,WAF的请求将无法得到源站的正常响应,因此,网站以“独享模式”接入WAF防护后,您需要在源站服务器上设置放行创建的独享引擎实例对应的子网IP,不然可能会出现网站打不开或打开极其缓慢等情况。
前提条件
网站以“独享模式”成功接入WAF。
回源到ECS
如果您的源站服务器直接部署在ECS上,请参考以下操作步骤设置安全组规则,放行独享模式回源IP。
步骤 1 登录管理控制台。
步骤 2 单击管理控制台左上角,选择区域或项目。
步骤 3 单击页面左上方,选择“安全 >Web应用防火墙 (独享版)”。
步骤 4 在左侧导航树中,选择“独享引擎”,进入“独享引擎”页面。
步骤 5 在独享引擎列表的“业务网卡IP地址”栏,获取所有创建的独享引擎对应的子网IP地址。
步骤 6 单击页面左上方,选择“计算 > 弹性云主机”。
步骤 7 在目标ECS所在行的“名称/ID”列中,单击目标ECS实例名称,进入ECS实例的详情页面。
步骤 8 选择“安全组”页签,单击“更改安全组”。
步骤 9 在“更改安全组”对话框中,选择目标安全组或新建安全组并单击“确定”。
步骤 10 单击安全组ID,进入安全组基本信息页面。
步骤 11 选择“入方向规则”页签,单击“添加规则”,进入“添加入方向规则”页面,参数配置说明如表所示。
入方向规则参数配置说明
参数 | 配置说明 |
---|---|
协议端口 | 安全组规则作用的协议和端口。选择“自定义TCP”后,在TCP框下方输入源站的端口。 |
源地址 | 逐一添加步骤5中获取的所有独享引擎实例的子网IP地址。 说明 一条规则配置一个IP。单击“增加1条规则”,可配置多条规则,最多支持添加10条规则。 |
步骤 1 2 单击“确定”,安全组规则添加完成。
成功添加安全组规则后,安全组规则将允许独享引擎回源IP地址的所有入方向流量。
您可以使用Telnet工具测试已接入WAF防护的源站IP对应的业务端口是否能成功建立连接验证配置是否生效。
例如,执行以下命令,测试已接入WAF防护的源站IP对外开放的443端口是否能成功建立连接。如果显示端口无法直接连通,但网站业务仍可正常访问,则表示安全组规则配置成功。
Telnet 源站IP 443
回源到ELB
如果您的源站服务器使用ELB进行流量分发,请参考以下操作步骤设置访问控制(白名单)策略,只放行独享模式回源IP。
步骤 1 登录管理控制台。
步骤 2 单击管理控制台左上角,选择区域或项目。
步骤 3 单击页面左上方,选择“安全 >Web应用防火墙 (独享版)”。
步骤 4 在左侧导航树中,选择“独享引擎”,进入“独享引擎”页面。
步骤 5 在独享引擎列表的“业务网卡IP地址”栏,获取所有创建的独享引擎对应的子网IP地址。
步骤 6 单击页面左上方,选择“网络 > 弹性负载均衡”。
步骤 7 在独享引擎绑定的ELB所在行的“名称”列中,单击ELB名称,进入ELB的详情页面。
步骤 8 选择“监听器”页签,在“访问控制”列单击“设置访问控制”。
设置访问控制
步骤 9 在弹出的对话框中,“访问策略”选择“白名单”。
单击“创建IP地址组”,将步骤5中独享引擎实例的回源IP地址添加到“IP地址组”中。
在“IP地址组”的下拉框中选择步骤9.1中创建的IP地址组。
步骤 10
单击“确定”,白名单访问控制策略添加完成。
成功配置访问控制策略后,访问控制策略将允许独享引擎回源IP地址的所有入方向流量。
您可以使用Telnet工具测试已接入WAF防护的源站IP对应的业务端口是否能成功建立连接验证配置是否生效。
例如,执行以下命令,测试已接入WAF防护的源站IP对外开放的443端口是否能成功建立连接。如果显示端口无法直接连通,但网站业务仍可正常访问,则表示安全组规则配置成功。
Telnet 源站IP 443