Web应用防火墙使用“指北”

WAF全称Web Application Firewall,是部署在web服务器前面保护网站应用抵御来自外部和内部的攻击。作为互联网金融行业的大师兄,随着业务的发展也不停的在应对web攻击,一直在跟随着阿里云web应用防火墙“前进”。项目前期我们调研过几家waf,包括开源和第三方厂商,但由于配置、可视化、防护策略、报表、日志和接入方式等原因没有最后采纳使用。

阿里云WAF产品支持多个维度的安全防护,包括:Web应用攻击防护、恶意IP惩罚、CC安全防护、大数据深度学习引擎、精准访问控制、封禁地区、新智能防护引擎、网站防篡改、数据风控、防敏感信息泄漏。
最终,我们选定阿里云WAF作为我们外部防护的一个组件。下面给大家简单的做一个使用指引和我们使用时遇到的一些问题。

一、WAF配置

登录阿里云控制台,通过导航菜单【安全(云盾)】| Web应用防火墙 | 网站配置 | 网站添加,进行域名添加。按照提示添加对应项目,修改dns。

Web应用防火墙使用“指北”

1、如果选择https强制跳转,要保证业务完全支持https协议;
2、waf前是否有7层代理,根据自己真实场景来选择,否则会造成waf防护异常;
3、如果应用本身有防火墙,需要添加waf ip段到白名单。

二、WAF防护配置

通过点击对应域名【防护配置】,进入WAF防护配置界面。

案例1、办公区出口ip白名单

精准访问控制:办公区白名单,公网出口IP为1.1.1.1的全部放行。同理如果是黑名单,则选择对应的阻断即可。

Web应用防火墙使用“指北”
目前阿里云WAF匹配字段支持比较全面,包括IP、URL、Refer、UA、Params、Cookie、Content-Type、XFF、Post-Body。

案例2、防止用接口被刷
通过CC安全防护 :URI:/api/login在一分钟内,单一IP访问次数大于10次,则对此ip封禁30分钟。(访问次数、封禁时长可以根据自身业务来调整)
Web应用防火墙使用“指北”
CC防护对URI进行防护,通常可用于:防止短信接口、登录接口等被刷。

阿里云WAF上手还是比较容易的,但是所有的规则是预设的规则并不一定全部适用于自身业务,可参考但是不建议生搬。

三、日常维护

通过【总览】进入Dashboard,来查看所有应用业务状态。包括但不限于:业务QPS、带宽、业务异常监控、访问来源、慢接口、访问top5接口。可直观地看出业务访问量,是否有异常。

Web应用防火墙使用“指北”
【安全报表】

通过攻击数据来新增策略,比如:发现单一IP,对业务有大量的sql注入,此时我们可以通过访问控制策略对该ip进行直接封禁。

【全量日志】
查看所有用户请求日志定位问题,目前支持如下选项:

Web应用防火墙使用“指北”

四、现存问题

针对阿里云Web应用防火墙功能,我们在实际使用过程中依旧有一些瑕疵:比如用户访问分布地图,大多数的业务是在中国(或者根据客户ip来显示地图);访问控制:比如白名单不是网段或者list;还有一个最重要的就是日志类:异常不可以从Dashboard直接跳转到对应的日志、而且也不支持报表定制;与DDos接入不是很友好、不够简单;不过听说大屏近期上线,十分期待。

五、总结

阿里云Web应用防火墙功能WAF产品总体已经完全可以满足中小型企业安全防护要求,希望阿里云WAF产品飞快的迭代、完善。