t259 发表于 2012-3-14 11:57:51

谈kangle的访问控制

相信很多人都熟悉iptables。kangle的访问控制理念来自linux的iptables防火墙,kangle拥有功能最小化的匹配模块和标记模块,通过组合,反转等可以实现用户最复杂的需求;最小化的匹配模块和标记模块犹如最小块的积木,独具匠心的玩家,总是能用小积木搭建出千变万化的造形。Kangle的访问控制分为请求控制和回应控制。请求控制在最前面,用户发送请求过来时即进行请求控制。
回应控制发生在数据发送给用户之前,即进行回应控制。每个控制由一张或多张表加一个默认目标组成,其中BEGIN表是系统内建表,所有控制从BEGIN开始。
每张表可以定义若干条“链”,在一张表中控制按顺序从上到下对规则链进行匹配。
规则链由一个目标和任意个匹配模块和任意个标记模块组成。在表中,用户可以按需要随意添加、删除、编辑或反转规则链。在"请求控制”内有一个系统表:"BEGIN表"。
在"回应控制”内有两个系统表"BEGIN表"和"POSTMAP表"。“POSTMAP表”完成url到物理文件的映射。用户使用"POSTMAP表",需要自行创建。例如:对文件进行管理、禁止文件被下载(日志文件不允许被下载)等可用"POSTMAP表"。
kangle如果发现用户的请求匹配了一个规则链中的匹配模块,则进入标记模块对请求做简单的处理,之后就按该条规则链指定的目标处理。如果目标是继续,则还要进行下一条规则链处理,否则就返回控制,按控制“目标”进行处理。如果目标是“继续”,则还要进行下一条规则链的处理。如果目标是“默认”,则控制按默认目标处理(默认目标有:拒绝、回写数据、服务器、虚拟主机等)。
如果目标是“拒绝”,则将对用户的请求拒绝并发送错误信息给用户,之后中断连接。如果目标是“虚拟主机”,则将对用户请求使用虚拟主机处理。如果目标是“服务器”,则用户使用的是反代。如果目标是“回写数据”,则将对用户的请求拒绝,并发送管理员设定的原始数据给用户。

Kangle访问控制设计的优点1、Kangle的访问控制提供了非常开放的用户自定义规则的功能。用户完全可以按需求定制规则。   2、Web网页管理,用户无需登录服务器就可以进行操作。3、功能模块的灵活组合,满足用户的各种需求,甚至可以作防攻击系统。例如防CC攻击、防sql注入攻击、防XSS跨站攻击等
Kangle访问控制模块列表及说明
请求控制的匹配模块
模 块 名 称作 用 域模 块 说 明
url请求控制和回应控制匹配用户url网址。网址可以使用正则表达式。
reg_path请求控制和回应控制匹配路径。可以使用正则表达式匹配路径。
reg_param请求控制和回应控制可用正则表达式进行url参数匹配
path请求控制和回应控制匹配路径
dst_port请求控制和回应控制匹配目标端口
meth请求控制和回应控制匹配http请求方法(如get 、 post )
file_ext请求控制和回应控制匹配一个或多个文件扩展名
host请求控制和回应控制匹配一个或多个主机头
wide_host请求控制和回应控制泛域名匹配
map_host请求控制和回应控制匹配一个或多个主机头。与“host”的区别:map_host是以文件形式来存放主机头进行匹配
header请求控制和回应控制匹配http头
self请求控制和回应控制匹配当前连接的服务器ip
sefl_port请求控制和回应控制匹配当前连接的服务器端口
src请求控制匹配源地址(ip或者ip段)
time请求控制匹配当前时间,格式为:“crontab”
ssl_serial请求控制匹配证书序列号
auth_user请求控制匹配http论证的用户
referer请求控制url来源
请求控制的标记模块
模 块 名 称作 用 域模 块 说 明
speed_limit请求控制限速标记
gspeed_limit请求控制分组限速
flag请求控制对用户请求作不缓存、不过滤内容及不防cc攻击标记
rewrite请求控制url重写
redirect请求控制url重定向
auth请求控制http认证
host_rewrite请求控制主机重写

回应控制的匹配模块
模 块 名 称作 用 域模 块 说 明
url请求控制和回应控制匹配用户url网址。网址可以使用正则表达式。
reg_path请求控制和回应控制匹配路径。可以使用正则表达式匹配路径。
reg_param请求控制和回应控制可用正则表达式进行参数匹配
path请求控制和回应控制匹配路径
dst_port请求控制和回应控制匹配目标端口
meth请求控制和回应控制匹配http请求方法(如get 、 post )
file_ext请求控制和回应控制匹配一个或多个文件扩展名
host请求控制和回应控制匹配一个或多个主机头
wide_host请求控制和回应控制泛域名匹配
map_host请求控制和回应控制匹配一个或多个主机头。与“host”的区别:map_host是以文件形式来存放主机头进行匹配
header请求控制和回应控制匹配http头
self请求控制和回应控制匹配当前连接的服务器ip
sefl_port请求控制和回应控制匹配当前连接的服务器端口
file回应控制匹配一个或多个文件
filename回应控制匹配一个或多个文件名
dir回应控制匹配多个目录下的文件。按目录匹配
reg_file回应控制匹配一个或多个文件。可用正则表达式表示。
reg_filename回应控制匹配一个或多个文件名。可用正则表达式表示。
content_length回应控制配置内容大小
回应控制的标记模块
模 块 名 称作 用 域模 块 说 明
cache_control回应控制缓存标记
content回应控制内容过滤(可以使用正则表达式进行内容过滤)
response_flag回应控制对回应给用户的请求作标记
add_header回应控制增加自定义头

龙啸年 发表于 2012-3-17 13:26:16

看看安防是不错的

52pfj 发表于 2012-3-14 18:41:19

顶顶顶顶顶顶顶顶

ltsmsc 发表于 2012-3-15 13:12:37

学习了

a785431419 发表于 2012-3-19 09:59:56

不错 学习了
http://www.qvodcj.com/gaoqing/19853.htm 嫁个一百分男人

玉面狐狸 发表于 2012-3-20 15:56:46

很好,谢谢你啊,辛苦了~~

yhlm5201 发表于 2012-3-21 09:18:12

不错,呵呵

注册个 发表于 2012-3-22 13:24:42

楼主辛苦了
页: [1]
查看完整版本: 谈kangle的访问控制