1.配置login page 强制功能时,被强制的页面一定要在allowed url中明确定义,否则会出现奇怪的结果。
定义allowed url,这url就是希望被强制的页面
定义login url ,需正确的判断成功的条件
定义login page setting,设置被强制的url或设置超时时间
2.配置navigation parameters时,定义的参数如果是for any url path的,那么用到这个参数的所有url都要在allowed url中明确定义,否则会被阻拦。
3.XFF TRUST, 默认没开启,即ASM不以http header中的x-forwarded-for作为源地址。开启后,asm总是以最后一个x-forwarded-for值为准,即:
a。如果有多行x-forwarded-for,则取最后一行,最后一行如果为空值,则以ip包源地址为准
b.如果一个x-forwarded-for头中有多个值,以最后一个IP为准。
c。如果x-forwarded-for头的值ASM无法分析(例如不是以逗号分隔ip,或者值为非ip),则以ip包源地址为准
d.如果vs的http profile开启了x-forwarded-for将导致ASM取得是ip包源地址
4.
learn | Alarm | Block | ||
transparent | √ | √ | ||
blocking | √ | √ | √ | |
staging | blocking | √ | √ | ×** |
transparent | √ | ×* | × | |
tightening | blocking | √ | √ | √** |
transparent | √ | √* | × |
*当策略为transparent,如果一个wildcard策略对象同时处在staging 和tightening阶段,此时asm的日志文件中不会记录该请求日志。
**当策略为blocking,如果一个wildcard策略对象同时处在staging和tightening阶段(v11.1测试无需同时处于该两个阶段,只需处于tightening阶段即可),此时促发violation的请求不会被block。例如parameter当前有一个处于tightening的wildcard对象,然后通过它新学到一个全新的parameter,此时新的parameter自动处于staging阶段,针对该新parameter ASM是不阻拦的。
logging profile ,控制是否记录request log到report--requesting里,不控制是否记录到asm.log。
blocking setting中的alarm控制是否写日志到asm.log中
blocking setting中的learn控制是否记录violation到 manual policy building中 (数据库PLC.LRN_REQUESTS)
5.
Tightening is using wildcards to learn the entities (file types, URLs,
parameters, and cookies). Staging is learning the attributes of an entity
(wildcard or explicit), providing additional granularity over tightening.
6.
F5 Networks recommends against using both tightening and
staging at the same time on the same wildcard entity.
7.选择production的方式建立一个fundamental type的策略,设置后的策略并检测到流量后开始进入自动学习模式:
(1)策略处于blocking模式,signature处于staging模式
(2)学习周期7天
(3)file type会自动增加一个wildcard 并置为tightening模式,可以自动将学习到的文件类型放入策略列表中(但也不是全部)
(4)url自动创建2个wildcard,但不处于学习状态,即不学习url
(5)parameters 自动创建wildcard,处于staging阶段,不能自动将参数放入策略列表中
(6)header-cookie,自动创建wildcard,不学习
7.1如果将fundamental type改为enhanced type 则parameters 进入tightening状态自动将学习到的条目加入策略列表,cookie也进入tightening状态。--似乎也不是所有条目都能自动放入到策略列表中。cookie学习到的还得等待手工accept。
7.2如果将enhaced type改为complete type 则又会增加URI进入tightening状态来自动将学习到的条目加入到列表。----似乎也不是所有条目都能自动放入到策略列表中
(其实这些差别可以在自动策略学习设置界面中的“
Security Policy Element
|
部分看到”)
8.建立策略的时候 选择 production site 和QA lab 两种模式,对策略的学习到底有何不同的影响?
QA自动认为所有请求都来自合法用户,QA会将学习到的所有项目都列入策略作为合法条目,即staging-tightening summary界面的“have suggestions”会很少,但不是没有。
production缺省认为请求不是来自合法用户,需要手工设置trust ip,此模式下从非信任IP上学习到的项目部分能自动进入策略列表,但也有很多等待手工确认。 没太明白这里。
文章评论