成长值: 252 签到天数: 4709 天 [LV.Master]伴坛终老
|
发表于 2021/7/13 05:38
|
显示全部楼层
|阅读模式
|Google Chrome 91.0.4472.124 |Windows 10
kangle访问控制介绍
相信很多人都熟悉iptables。kangle的访问控制理念来自linux的iptables防火墙,kangle拥有功能最小化的匹配模块和标记模块,通过组合,反转等可以实现用户最复杂的需求;最小化的匹配模块和标记模块犹如最小块的积木,独具匠心的玩家,总是能用小积木搭建出千变万化的造形。以下是kangle的访问控制概念。
Kangle的访问控制分为请求控制(request标签)和回应控制(response标签)。
请求控制(request)在最前面,用户发送请求过来时即进行请求控制,回应控制(response)发生在数据发送给用户之前,即进行回应控制。
Kangle详细数据流向图请查看:http://www.kangleweb.com/thread-7224-1-1.html
每个控制由一张或多张表(table)加一个默认目标(action)组成,其中BEGIN表和回应控制的POSTMAP表是系统内建表,所有控制从BEGIN开始,回应控制的POSTMAP表例外,在完成由url到物理文件映射进入POSTMAP表。
每张表(table)可以定义若干条"链(chain)",在一张表中控制按顺序从上到下对规则链进行处理。
规则链(chain)由一个目标(action)和任意个匹配模块(acl)和任意个标记模块(mark)组成,其中所有匹配模块和标记模块之间是AND(逻辑与)的关系,只有全部匹配,整个规则链才是匹配的。
访问控制分全局的访问控制(定义在config标签下),和虚拟主机的访问控制控制(定义在vh标签下,或者单独定义一个访问控制文件,由vh里面的access指定文件名),一个请求首先要进行全局性的访问控制检查,如果目标是虚拟主机,再由相应的虚拟主机的访问控制检查。
如果请求匹配了一个规则链中的所有匹配模块(除非指定OR的关系,从kangle3.1.7开始,支持逻辑或的关系),则进入标记模块对请求做简单的处理,除非该标记模块返回失败,之后就按该条规则链指定的目标处理。如果目标是继续,则还要进行下一条规则链处理。
某些标记模块会对规则链的目标做出修改,如重定向,防攻击。这种情况下,规则链设置的目标无效。
request(请求控制)和response(回应控制)
定义请求控制和回应控制规则,全局控制可以在config标签下,虚拟主机自定义控制在vh标签下。
request语法:
<request action='默认目标' >
表定义...
</request>
response语法:
<response action='默认目标' >
表定义...
</response>
action 默认目标
kangle详细的目标,请参考访问控制目标。
table(表)
定义一个表,可以在request标签和response标签下。 语法:
定义链
表名字,要唯一,kangle会合并表名字相同的链。其中BEGIN,POSTMAP(在response中),为系统内建表,参考kangle数据流向图 http://www.kangleweb.com/thread-7224-1-1.html
chain(规则链)
定义一个规则链,在table标签下,语法:
<chain action='目标' name='链名字'>
定义匹配模块和标记模块
</chain>
所有匹配模块和标记模块之间是AND(逻辑与)的关系,只有全部匹配,整个规则链才是匹配的。
请求控制和回应控制[匹配模块和标记模块介绍]
Kangle匹配模块和标记模块介绍请查看 |
|