1.1 目标:验证苏研移动云WAF对移动端API、SDK防护与流量清洗的效果;1.2 输出:配置步骤、测试用例、性能数据与误报率;1.3 环境:开发环境、测试设备(安卓/苹果模拟器与真机)、网络代理工具(Burp/ZAP)、压力测试工具(wrk/ab)。
2.1 创建并登录苏研云账号,确认有WAF管理权限;2.2 在控制台创建项目/应用条目,记录API Key/AppID与证书信息;2.3 准备待保护的移动API地址(域名或网关),备份当前防护前配置。
3.1 方式选择:云端WAF(保护API)与移动SDK(防Tamper/敏感数据检测);3.2 Android集成:在app的build.gradle中添加依赖并初始化(示例步骤:1) implementation 'com.suyan:waf-sdk:1.0.0' 2) 在Application.onCreate()调用Waf.init(context, "APPID","APIKEY"));3.3 iOS集成:使用CocoaPods或Framework,AppDelegate中调用初始化接口并开启本地防护与上报。
4.1 在控制台新增WAF策略:选择匹配域名/路径,启用基础策略(OWASP规则集);4.2 自定义规则:按业务添加速率限制、IP白名单/黑名单、UA过滤;4.3 示例API创建(若控制台支持REST):POST /waf/rules body: {"name":"block-sqli","match":"sql_injection","action":"block","priority":100}。
5.1 打开Burp或ZAP,拦截移动端请求(真机需配置代理);5.2 测试注入类:对API发送常见SQLi、XSS负载,观察WAF是否拦截并返回自定义页面或JSON错误;5.3 测试认证与会话:尝试越权、暴力破解(限测环境),确认WAF是否触发异常登录保护或速率限制;5.4 示例curl命令:curl -i -X POST "https://api.example.com/login" -d "user=admin' OR '1'='1&pass=123"。
6.1 准备基线:在未启用WAF前用wrk或ab测平均延迟与吞吐(示例:wrk -t4 -c200 -d60s https://api.example.com/health);6.2 启用WAF后重复,比较延时与99百分位;6.3 配置连接池/缓存策略与规则优先级,降低规则数量或调整速率限制以优化性能;6.4 记录CPU、内存与响应码分布。
7.1 开启详细日志(请求头/体/触发规则ID),设置日志保存周期;7.2 配置告警:当拦截次数或误报率超过阈值通过邮件/钉钉/Webhook告警;7.3 集成SIEM:导出到ELK或Splunk,建立可视化面板(Top攻击IP、Top规则、每日拦截量)。
8.1 建议先以监测模式运行7天收集样本;8.2 对误报请求标记并创建白名单或放宽规则正则;8.3 对高频误报策略调整优先级或使用自定义例外;8.4 记录变更并回归测试,确保安全覆盖率不降低。
9.1 必备交付:接入文档、策略导出、测试报告(功能/性能/误报率)、操作手册与告警配置清单;9.2 建议周期:首次评估后30天内跟踪误报并在每季度复审权限与策略。
10.1 问:如何确认WAF成功拦截SQL注入或XSS?
10.2 答:使用Burp拦截并发送已知注入载荷,观察响应码(通常为403/429或自定义JSON),同时在WAF控制台查看触发日志(规则ID、原始请求、客户端IP);若接入SDK,还可在SDK日志中看到本地拦截事件并上报。
11.1 问:启用苏研移动云WAF后,如何评估对延迟的影响并优化?
11.2 答:先记录无WAF的基线延迟(wrk/ab),再开启WAF测同样负载对比99百分位延迟;若延迟上升,先检查规则数与复杂正则、启用缓存与速率限制,并考虑在非高风险路径调低检测等级。
12.1 问:移动SDK与云端WAF同时使用时,如何确保不冲突并最大化防护?
12.2 答:原则是“边界防护+终端防护”,云端WAF聚焦API层攻击与流量清洗,SDK负责设备篡改、敏感数据检测与离线防护。实施步骤:1) SDK先上报可疑本地事件并执行本地策略;2) SDK附带设备指纹传给云端以提升态势感知;3) 在云端基于SDK上报调整规则与白名单,避免误判。
