什么是 Web 应用防火墙
腾讯云 Web 应用防火墙(Web Application Firewall,WAF)是一款基于 AI 的一站式 Web 业务运营风险防护方案。通过 AI 规则双引擎识别恶意流量,保护网站安全,提高 Web 站点的安全性和可靠性。通过 BOT 行为分析,防御恶意访问行为,保护网站核心业务安全和数据安全。 腾讯云 WAF 提供两种类型的云上 WAF,SaaS 型 WAF 和负载均衡型 WAF,两种 WAF 提供的安全防护能力基本相同,接入方式不同。
- SaaS 型 WAF 通过 DNS 解析,将域名解析到 WAF 集群提供的 CNAME 地址上,通过 WAF 配置源站服务器 IP,实现域名恶意流量清洗和过滤,将正常流量回源到源站,保护网站安全。
- 负载均衡型 WAF 通过和腾讯云负载均衡集群进行联动,将负载均衡的 HTTP/HTTPS 流量镜像到 WAF 集群,WAF 进行旁路威胁检测和清洗,将用户请求的可信状态同步到负载均衡集群进行威胁拦截或放行,实现网站安全防护。
腾讯云 WAF 可以有效防御 SQL 注入、XSS 跨站脚本、木马上传、非授权访问等 OWASP 攻击。此外还可以有效过滤 CC 攻击、提供 0day 漏洞补丁、防止网页篡改等,通过多种手段全方位保护网站的系统以及业务安全
相关文档
Web 应用防火墙产品概述
下面T-Sec Web 应用防火墙简称waf
那么我们就用腾讯云saas防火墙演示
WAF产品优势
多种接入防护方式 AI 规则双引擎防护 BOT 流量管理 智能 CC 防护 IPv6 安全防护
购买waf需要考虑以下原因
1.服务器在什么地方?
2.服务区域在哪里?
3.网站是否备案并且接入腾讯云?(境外不需要,境内强制备案并且接入腾讯云)
4.网站业务大小
5.我需要要接入多少域名
6.网站访问量
查看WAF 套餐与版本说明 选择合适的套餐为网站保驾护航
支持的地区:腾讯云目前的对外机房的地区
那么这次就用香港waf来说一下吧
那么我就用香港的轻量应用服务器作为服务器源站
- SaaS 型 WAF 的实例地域和 Web 源站服务器的地域建议保持一致,可以有效减少业务时延。
- WAF 在没有添加防护域名的情况下,可联系我们进行地域更换,已经添加的防护域名的情况下,不支持更换地域
购买WAF
waf活动还是比较多的
Web应用防火墙 3折特惠体验 (tencent.com)
Web应用防火墙 特邀试用活动 (tencent.com)
等等
购买完成登录控制台
准备工作
签发HICN SSL
证书这里推荐 https://www1.hi.cn/
是是由“公钥认证服务(重庆)有限公司”运营的数字证书品牌项目,HiCA 诞生于 2022 年 7 月。提供的免费SSL, 180天, ACME 通配符 多域名 IP .onion...等等
安装教程
https://www1.hi.cn/docs/getting-started/acme.sh-installation
安装命令
代码语言:javascript复制curl https://get.acme.sh -s | sh -s
大陆地区服务器
代码语言:javascript复制curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false -s | sh -s
生成token
登录服务器终端
执行刚刚的安装命令
执行刚刚的安装命令。
显示OK就安装成功了
以dnspod举例执行签发SSL命令
代码语言:javascript复制export DP_Id="youdnspodID"
export DP_Key="youdnspodkey"
acme.sh --issue
--dns dns_dp
-d *.youdomain
-d youdomain
--days 150
--server https://acme.hi.cn/directory
其他验证方法请访问
https://www1.hi.cn/docs/category/域名验证 官方文档查看
等待1-2分钟即可签发
签发成功 推荐HI.cn是因为 他们家泛解析是180天 是Sectigo的根 兼容性也比较强 还支持的windows7和windows xp的正常访问
如果有其他的 acme.sh 需要删除的哦 否则导致SSL无法签发
开始接入接入
场景1:用户>WAF>源站
SAAS接入教程
配置SSL和ssl跳转 SSL跳转目前是302
WAF添加域名设置
waf支持泛解析哦,目前大部分ssl的泛解析就是90天的 HI.cn 是180天 可以在一定程度上减少频繁更换SSL的周期哦
设置完成点击高级配置
那么
根据需求设置好了之后
返回
域名解析
查看CNAME记录 记住每一个域名的CNAME记录不一样!!! 给你的CNAME就是WAF VIP 地址 每一个WAF实例 VIP 地址都是不一样的 !
登录解析控制台
刷新waf控制台出现正常防护就是接入成功
那么我们访问看看
这就接入好了
可以去myssl.com查看 你的网站
自己设置可能提示 所以说用平台默认的就好,除非比较厉害的大佬就当我没说吧
设置好的就是这样(根据需求设置不一定是这样)
有问题的情况下 如果只是A HTST 那么需要在源站配置,头部waf都是穿透与转发
测试一下这个配置
看到了不少人接入WAF如果设置之后提示
需要重新配置一下TLS,如需问题依旧麻烦则需要提交工单,目前给的配置是完全没有问题了啦,需要腾讯云后端同学帮忙查看
场景二:用户>CDN>WAF>源站
接入参考场景一首先完成域名在WAF的接入,下面说一下接入CDN的教程
在waf控制台开启这个才可以正常接入并且让waf获取真实访客IP
这个推荐使用腾讯云CDN
- 场景二中,需要在 WAF 添加域名 时,选择代理情况为“是”,选择代理接入后,可能存在客户端 IP 被伪造的风险。如果您使用腾讯云 CDN,不存在客户端 IP 被伪造的风险,腾讯云 CDN 会对 X-Forwarded-For 信息进重置,只填写 CDN 获取的客户端 IP。(如果使用代理接入,攻击者需要在能直接对 WAF VIP 地址进行请求的情况下才会产生影响,代理接入时用户无法探测到 WAF VIP 地址,请避免代理接入时 WAF VIP 地址泄露)。
场景二的完整加速链接如下
打开腾讯云CDN控制台接入域名
根据业务需求与预期设置缓存
复制给你的CNAME !!(场景二不需要接入WAF给你的CNAME接入CDN给你的 CDN回源WAF,WAF回源服务器,如果使用场景2的话如果保留了waf的解析记录可能网站部分访客无法获得CDN加速效果)
解析域名
配置cdn侧 SSL和高级设置
cc就有waf来处理就好了
高级设置
访问查看
这样有了防护和加速效果
说明:WAF≠CDN 那么 CDN≠WAF
WAF主要靠转发就相当于反向代理,WAF侧一般情况下是不缓存你的东西的,那么就需要每次去源站获取资源
CDN主要靠缓存来进行网站加速 那么可以减轻源站的压力 同时CDN也可以继承WAF的防护能力,何乐不为
注意!!源站需要设置
WAF 通过反向代理的方式实现网站安全防护,用户访问 WAF 防护的域名时,会在 HTTP 头部字段中添加一条 X-Forwarded-For 记录,用于记录用户真实 IP,其记录格式为X-Forwarded-For:用户 IP。如果用户访问域名存在多级代理,WAF 将记录靠近 WAF 上一条的代理服务器 IP。例如:
场景一:用户>WAF>源站,X-Forwarded-For 记录为:X-Forwarded-For:用户真实 IP。
场景二:用户>CDN > WAF>源站,X-Forwarded-For 记录为:X-Forwarded-For:用户真实 IP,X-Forwarded-For:CDN 回源地址。
不建议使用场景二哦 可能获取访客ip可能有点问题
具体数字参考 https://cloud.tencent.com/document/product/627/42441
否则可能获取到WAF的ip导致源站日志可能出现不准确的问题
下面就开始进阶配置啦
进阶配置(场景一、二通用)
1.接入域名的高级设置
根据自己需求设置
waf目前支持的加密套件
加密套件
一般情况下选择通用 有关于安全,支付什么的敏感信息用安全
如果有自定义需求 勾选一下加红的就好
推荐设置加密套件
比如说我没设置TLS1.0那么TLS1.0访问就会
WAF拦截页面
更严格的PCI DSS合规标准 (myssl.com)
PCI安全标准委员会官方发表博文将于2018年6月30号(最晚),也就是本月月底禁用早期SSL/TLS,并实施更安全的加密协议(TLS v1.1或更高版本,强烈建议使用TLS v1.2)以满足PCI数据安全标准的要求,从而保护支付数据。
也就是说支持TLS v1.0或更早的加密协议将会判定为不合规
那么支持TLS1.0就会
2.waf规则设置
waf规则默认比较严格 可能出现误拦截
那么我们这样设置 打开waf基础安全
防护等级 正常或者宽松
cc防护根据业务量决定
然后打开黑白名单 加白网站后台防止WAF拦截后台管理员操作行为
设置白名单
3.设置安全组与加白IP (场景一,二)
然后去服务器安全组
删除80 和443端口去waf控制台
添加waf 回源ip
删除80和44.默认的0.0.0.0/0 当然也可以删除禁PING
设置授权waf回源IP更加安全哦,访问服务器IP提示
访问域名就正常,完美让业务服务器隐藏起来了,也有效的避免了查源等攻击行为 导致业务不可用!
4.加白CDN IP (场景二)
安全起见 服务器安全组只放行WAF ip
直接复制 导入到黑白名单的IP白名单
可选(加白腾讯CDN头部)
代码语言:javascript复制x-tencent-ua:Qcloud
此外WAF VIP 地址免费和正常服务器防御一样 需要购买DDOS高防包哦!
测试waf 抗压效果
此外,可以使用云压测服务进行测试
点击链接访问
项目列表 - 云压测 - 控制台 (tencent.com)
内测期间免费50ua 和400rps
与自己的需求配置,然后点击执行
可以看出来,在这么大的并发前提下,还是有较好的延迟。
请求失败才占0.01%。由于我这边测试是境外节点。
测试了将近20分钟
一般来说都是能扛住的,大家可以放心使用。可以看看日志是否拦截了。测试的时候建议加白IP。云压测IP具体已waf日志显示为主。
看了一下,应该是波动导致的 问题不大。
接入的话也可接入的话也可以测试测试自己的配置怎么样,能不能扛住一定并发。会不会对原产生一定影响。 此外可以自定义hosts,可以和waf与源站,之间的结果对比一下,你会发现好了一大截。