如果您的网站遭受的攻击既有流量型攻击,又混杂精巧的Web应用层攻击时(例如SQL注入、跨站脚本攻击、命令注入等)时,推荐您组合使用阿里云DDoS高防和Web 应用防火墙 WAF(Web Application Firewall),通过多层次的安全防护对抗多种潜在威胁。本文九河云介绍如何同时部署DDoS高防和WAF。
网络架构
DDoS高防和WAF同时部署时采用以下网络架构:DDoS高防(入口层,防御DDoS攻击)->WAF(中间层,防御Web应用攻击)->源站服务器(ECS、SLB、VPC、IDC等)。网站业务流量会先经过DDoS高防清洗,然后转发到WAF过滤Web攻击,最后只有正常的业务流量被转发到源站服务器,保障网站的业务安全和数据安全。业务流量的转发过程如下图所示。
注意事项
访问请求将经过多层中间代理才到达源站,源站不能直接获取请求的真实来源IP。
前提条件
-
已购买DDoS高防实例。
-
已购买WAF实例
说明
本文以WAF 3.0为例介绍,如果您使用的是WAF 2.0也可以参考本文操作。
步骤一:网站业务接入WAF
支持CNAME接入和云产品接入两种方式,接入前请您详细了解各接入方式的推荐场景。
-
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
-
在左侧导航栏,单击接入管理。
-
通过CNAME接入或云产品接入,将业务接入WAF。
-
CNAME接入
配置项
说明
负载均衡算法
源站有多个服务器地址时,根据业务需要设置,以实现负载均衡。
服务器地址
填写网站对应的源站服务器的公网IP地址或源站域名,用于接收WAF转发回源的正常业务请求(回源请求)。
HTTPS高级设置
根据业务需要,设置是否开启HTTP回源、是否启用回源SNI。
其它高级设置
根据业务需要,设置是否启用流量标记、WAF回源到源站的超时时间、回源重试、回源长连接。
-
在CNAME接入页签,单击接入。
-
在配置监听向导页,完成如下配置后,单击下一步。
配置项
配置说明
域名
填写您的网站域名。
协议类型
选择网站使用的协议类型并填写对应端口。每输入一个端口,按回车确认。
说明
-
选中HTTPS后,您还需要将网站域名关联的证书上传到WAF。
-
选中HTTPS并配置证书后,您也可以根据业务需要,设置是否开启HTTP2、是否开启HTTPS的强制跳转、选择TLS协议版本、选择HTTPS加密套件。
WAF前是否有七层代理(高防/CDN等)
选择是,并设置客户端IP判定方式。
-
(默认)取X-Forwarded-For中的第一个IP作为客户端源IP
WAF默认读取请求Header字段
X-Forwarded-For
(XFF)中的第一个IP地址作为客户端IP。 -
【推荐】取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造
如果您的网站业务已通过其他代理服务的设置,规定将客户端源IP放置在某个自定义的Header字段(例如,X-Client-IP、X-Real-IP),则您需要选择该选项,并在指定Header字段框中输入对应的Header字段。
说明
推荐您在业务中使用自定义Header存放客户端IP,并在WAF中配置对应Header字段。该方式可以避免攻击者伪造XFF字段,躲避WAF的检测规则,提高业务的安全性。
更多配置
根据您的业务,设置是否开启IPv6、是否开启独享IP,选择要使用的防护资源类型。
资源组
从资源组下拉列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组。
-
-
在配置转发向导页,完成如下配置后,单击提交。
-
在接入完成向导页,获取WAF提供的CNAME地址。
-
-
云产品接入
如果Web业务已启用阿里云应用型负载均衡(Application Load Balancer,简称ALB)、微服务引擎(Microservices Engine,简称MSE)、函数计算(Function Compute,简称FC),建议您选择SDK插件接入。如果Web业务已启用阿里云传统型负载均衡(Classic Load Balancer,简称CLB)上、云服务器(Elastic Compute Service,简称ECS),建议您通过反向代理集群接入。
-
步骤二:网站业务接入DDoS高防
-
登录DDoS高防控制台。
-
在顶部菜单栏左上角处,选择地域。
-
DDoS高防(中国内地):选择中国内地地域。
-
DDoS高防(非中国内地):选择非中国内地地域。
-
-
在左侧导航栏,选择接入管理 > 域名接入。
-
在域名接入页面,单击添加网站,按照页面提示完成配置。
配置项
说明
功能套餐
选择要关联的DDoS高防实例的功能套餐。
实例
选择要关联的DDoS高防实例。
一个网站域名最多可以关联8个DDoS高防实例,且只能关联同一种功能套餐下的多个实例。
网站
填写您的网站域名。
协议类型
选择网站支持的协议类型。
说明
-
选择HTTPS协议时,完成网站配置后,请上传网站域名使用的证书。
-
选中HTTPS协议后,可以根据需要开启HTTPS的强制跳转、是否开启HTTP回源、是否启用HTTP2。
启用OCSP
选择是否启用OCSP(Online Certificate Status Protocol)功能。
重要
该功能适用于网站HTTPS业务。如果您已选择的协议类型包含HTTPS,推荐启用该功能。
服务器地址
-
域名在WAF上的接入模式为CNAME接入时,选择源站域名并填写步骤一中获取的WAF的CNAME地址。
-
域名在WAF上的接入模式为云产品接入时,选择源站IP并填写源站服务器的公网IP。
服务器端口
根据协议类型,设置源站提供对应服务的端口。
-
HTTP协议、Websocket协议的端口默认为80。
-
HTTPS协议、HTTP2协议、Websockets协议的端口默认为443。
您可以单击自定义,自定义服务器端口,多个端口间使用半角逗号(,)分隔。
Cname Reuse
仅DDoS高防(非中国内地)支持配置该参数。选择是否开启CNAME复用。
-
-
复制DDoS高防提供的CNAME地址。
步骤三:修改域名的DNS解析
请将域名解析指向DDoS高防提供的CNAME地址。以域名DNS托管在阿里云云解析DNS为例介绍,使用其他DNS服务商的域名解析服务时请参考配置。
-
登录阿里云云解析DNS控制台。
-
在域名解析页面,定位到目标域名,单击操作列的解析设置。
-
在解析设置页面,定位到目标解析记录,单击操作列的修改。
说明
如果要操作的解析记录不在记录列表中,您可以单击添加记录。
-
在修改记录(或添加记录)页面,选择记录类型为CNAME,并将记录值修改为域名对应的DDoS高防CNAME地址。
-
单击确认,等待修改后的解析设置生效。
-
使用浏览器测试网站访问是否正常。