部署方法:
这里拓扑如下:
- 透明部署:
采用接口对的形式部署 从一个口进 从另一个口出 不存在路由交换 可以将设备看做一条线路
这里使用迪普科技的设备进行演示:
首先创建接口对:
基本》接口管理》组网配置》透明模式
此时只需要串联设备到线路中即可 这种配置方式不支持负载均衡 只能虚拟成链路
服务器端口和地址直接暴露在外 - 代理模式:
- 三层直接代理:
代理端口地址为漂浮地址 代理端口任意 代理服务器组 为真实服务地址和端口
代理时 可以配置业务模式 能选择单向卸载 双向加载 急速模式:
单向卸载 无疑就是将ssl握手从服务器设备上移到了waf上 客户端与waf交互使用https waf与服务器交互用http 需要把服务器证书私钥导入到waf中
双向加载 适用于两端都要求https的情况 这个时候就使用双向加载 相当于waf两端都要进行ssl握手
急速模式:没有了解过 猜测是waf代替服务器握手 然后waf与服务器 - 二层直接代理:
代理需要一个地址用于waf访问服务器 采用二层vlanif接口
此时waf接口设为二层vlan接口 其余设备置于同一个网段 且接口为access模式
代理地址仍然为漂浮地址 服务器地址仍为服务器地址 此时访问漂浮地址 流量给waf 但源ip不变
之后 waf将数据转发给服务器 服务器回包 客户端发起请求的是漂浮地址 而服务器回包直接会给客户端 没有走waf 会导致流量分析不全面 此时需要waf做源nat 将客户端请求的数据包源地址转换为vlanif地址 - 旁挂牵引式:
将设备旁挂于交换机一侧 通过路由策略 将流量牵引到waf设备上 优点是 设备断联时 可以不走waf
同样还可以使用单臂路由
(代理模式主要应用于https场景)需要导入ssl证书
策略应用:
waf作为web应用防火墙 有多种过滤方法:
- 协议正规化:
所谓协议正规化就是对客户端的请求作出限制
请求行正规化:
包括请求方法 http版本 url长度 参数长度与个数 元字符 等
请求头负载正规化:
包括各种请求头域参数:
xff contenttype referer 等各类参数 这些参数过多或过长都会导致一定的问题
cookie:
cookie 作为用户的标识符 也常常在程序中参与某些操作 如sql查询 对于cookie 也要限制个数 参数长度
有的人认为对参数的个数和长度限制没效果 其实不是的 著名的正则回溯 就是利用超长的字符串 而正则又为非贪婪模式会导致 正则不断回溯匹配 导致ddos 或者绕过waf
- 禁用post
业务》站点防护》基本策略》协议正规化
业务》站点防护》站点防护管理
注意 开启代理后策略的地址池必须包含代理地址
此时使用post后会直接阻断
- web漏洞防护
现如今服务更加便捷 而便捷的代价就是权限划分不够细致 不够细致就会导致漏洞被发现
业务》站点防护》基本策略》web漏洞防护
这是本waf支持的防护方式
勾选sql注入
- 本次我们测试sql注入:
配置策略 如此即可 进行渗透测试 我们直接用sqlmap打:
可以看到sql注入被阻拦
显然为sql注入
还可以查看攻击上下文 分析是否为误报
- 扫描防护
黑客在前期攻击阶段经常使用漏洞扫描工具扫描 漏洞 需要做出防护措施:
常见扫描工具 : xray awvs
- 扫描防护:
通过对扫描频次做出限制来 防止扫描攻击
这里我们使用awvs做测试:
开启后awvs扫描会被限制 当文件扫描次数达到阈值后 waf会将扫描的目标全部重定向到index.php
这样漏洞不会暴露出来
- 文件防护:
对特殊文件禁止下载 防止读取敏感文件 暴露源码等
- 下载保护
本次我们测试jpg文件保护
下载jpg文件时告警
- 上传保护
通常有恶意用户上传 木马 脚本 等违规文件 waf可以通过后缀名识别 文件 进行拦截:
这些常常是需要禁止上传的文件类型
- 信息泄露
通常server头域会暴露中间件类型 以及版本
且用户进行爬虫扫描 可以遍历出服务器结构
通过策略 禁止返回状态码 禁止http首部暴露过多的信息
- 抓包检测
可以看到 响应首部信息被屏蔽
添加404策略
访问不存在的页面 对端不会返回任何数据
没有此策略时 服务器会返回404状态码信息
- 网页防篡改
业务》网页防篡改》网站管理
业务》网页防篡改》网页预取
预取后启用策略
预取后 启动网页防篡改功能:
自动启用防篡改功能
使用蚁剑连接篡改
修改了
但是没有成功:
篡改日志: