【云安全最佳实践】T-Sec Web 应用防火墙实践接入

2022-11-23 15:24:37 浏览数 (2)

什么是 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

登录解析商控制台 以DNSPod为例

生成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的周期哦

高级配置

设置完成点击高级配置

高级设置高级设置
TLS说明TLS说明

那么

根据需求设置好了之后

接入完成接入完成

返回

域名解析

查看CNAME记录 记住每一个域名的CNAME记录不一样!!! 给你的CNAME就是WAF VIP 地址 每一个WAF实例 VIP 地址都是不一样的 !

查看cname记录查看cname记录

登录解析控制台

域名解析域名解析

刷新waf控制台出现正常防护就是接入成功

那么我们访问看看

访问网站访问网站

这就接入好了

可以去myssl.com查看 你的网站

ssl检测ssl检测

自己设置可能提示 所以说用平台默认的就好,除非比较厉害的大佬就当我没说吧

设置好的就是这样(根据需求设置不一定是这样)

image.pngimage.png

有问题的情况下 如果只是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控制台

获取WAFip获取WAFip

添加waf 回源ip

记录IP记录IP

删除80和44.默认的0.0.0.0/0 当然也可以删除禁PING

waf放行waf放行

设置授权waf回源IP更加安全哦,访问服务器IP提示

http iphttp ip
https iphttps ip

访问域名就正常,完美让业务服务器隐藏起来了,也有效的避免了查源等攻击行为 导致业务不可用!

urlurl

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与源站,之间的结果对比一下,你会发现好了一大截。

0 人点赞