(一)、学习模式选择
1,学习模式建议使用手动,总的来说就是机器是死的,他只能根据既定的规则运行。只有人才知道什么是正常请求,什么不是。
举个很简单例子,假如在开启学习模式时候,有黑客攻击,F5可能会把他认为是正常请求。
(二)、学习时间
1,截图
这个时间不是策略建立时间开始算的,是单个策略的时间,每个策略的时间都是单独计算的。
当天的晚上的23:59:59-到七天后的23:59:59
(三)、wildcard 也就是entity里面的*号
根据官方建议,当把ASM Policy建设完成后,需要删除Wildcard。
删除*号:
这里的意思是只允许php这类型的通过,而且php要符合那四个长度限制。
同时不学习新的类型,假如应用变更了,新增了jpg的 file type,那么就会阻断,这时候要把*号重新挂上去,再学习一次。
不删除*号:
不删除星号,那么会一直学习,
针对于php的要符合限制才允许通过,
其他类型的默认通过,wildcard有四个默认参数,主要是用来防止buff flow的,当触发buff flow的情况也会block
个人建议:
核心业务,删除*号,要求业务部门有变更及时通知,现在测试环境测试变更是否需要调整policy。不过有个坑爹地方,假如变更后php的四个length比现有的短,那么F5不能学习短的,只能手动更改。
所以个人习惯是不删除wildcard,同时wildcard的四个默认限制开启,防止buff flow。当真实黑客攻击来的时候,删除wildcard。
同时针对于高级别业务,定期与开发沟通,需要开发配合
(四)、stag使用
在学习时候会有一个accpept suggetion并且stag,这是一个确认过程,对业务很了解的可以不用stag,不了解的先开stag,然后根据log与开发沟通
关闭stag,叫enforce,假如开了stag,选择enforce,然后stag就变成no了。这里是因为没有开启stag,
(五)、negitive和positive的小总结
negitve选择Accept Suggestion,说明请求匹配了特征库,F5阻断,接受后在该策略下,添加该参数至白名单。
positive选择Accept Suggestion,学习到常见的访问形态,然后设置一些限制,意思是:以后只允许符合该类型规则的请求通过。