kangle的访问控制

2017-03-30 16:29:25 6724

相信很多人都熟悉iptableskangle的访问控制理念来自linuxiptables防火墙,kangle拥有功能最小化的匹配模块和标记模块,通过组合,反转等可以实现用户最复杂的需求;

最小化的匹配模块和标记模块犹如最小块的积木,独具匠心的玩家,总是能用小积木搭建出千变万化的造形。

Kangle的访问控制分为请求控制和回应控制。

请求控制在最前面,用户发送请求过来时即进行请求控制。

回应控制发生在数据发送给用户之前,即进行回应控制。

Kangle详细数据流向图请查看:http://www.landui.com/thread-7224-1-1.html

每个控制由一张或多张表加一个默认目标组成,其中BEGIN表是系统内建表,所有控制从BEGIN开始。

每张表可以定义若干条,在一张表中控制按顺序从上到下对规则链进行匹配。

规则链由?个目标和任意个匹配模块和任意个标记模块组成。

在表中,用户可以按需要随意添加、删除、编辑或反转规则链。

"请求控制内有一个系统表:"BEGIN"

"回应控制内有两个系统表"BEGIN""POSTMAP"

“POSTMAP完成url到物理文件的映射。用户使用"POSTMAP",需要自行创建。

例如:对文件进行管理、禁止文件被下载(日志文件不允许被下载)等可用"POSTMAP"

kangle如果发现用户的请求匹配了一个规则链中的匹配模块,则进入标记模块对请求做简单的处理,之后就按该条规则链指定的目标处理。如果目标是继续,则还要进行下一条规则链处理,否则就返回控制,按控制目标进行处理。

如果目标是继续,则还要进行下一条规则链的处理。

如果目标是默认,则控制按默认目标处理(默认目标有:拒绝、回写数据、服务器、虚拟主机等)。

如果目标是拒绝,则将对用户的请求拒绝并发送错误信息给用户,之后中断连接。

如果目标是虚拟主机,则将对用户请求使用虚拟主机处理。

如果目标是服务器,则用户使用的是反代。

如果目标是回写数据,则将对用户的请求拒绝,并发送管理员设定的原始数据给用户。

blob.png

Kangle访问控制设计的优点

1Kangle的访问控制提供了非常开放的用户自定义规则的功能。用户完全可以按需求定制规则;

2Web网?管理,用户无需登录服务器就可以进行操作;

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

回应控制

增加自定义头

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: