-
Notifications
You must be signed in to change notification settings - Fork 420
base.json
star edited this page Nov 14, 2018
·
4 revisions
base.json 是整个openstar的基础配置,需要大家仔细阅读
(对应配置文件:conf_json/base.json)
{
~~"openstar_version":"v 1.5.0.7",~~
# 该参数就是OpenStar标记版本更新的
# 已经取消,版本请查看dist.ini文件
"Mod_state":"on",
# 该参数是全局规则开关,目前支持`on off log`
# 增加`log` 表示仅记录,即原来的拦截就会失效
"ngx_status":"on",
#该参数是请求计数开关控制
"redis_Mod" : {"state":"on","ip":"127.0.0.1","Port" : 6379,"Password":""},
#该参数设定redis相关参数,state:是否开启;redis的ip、端口、密码等参数
#说明:在使用集群模式下,配置该参数,单机下无须配置使用。redis保存了base.json内容,
#和conf_json目录下所有规则的json文件,以及拦截记录的计数(如host/method拦截计数)。
"autoSync":{"state":"Master/Slave/off","timeAt":5},
# state对应的几个状态,Master 就是定时将当前服务器内存中的数据推送到redis中
# Slave 就是定时从redis中拉取配置到内存后,在保存到文件中
# 本机的计数数据一直是定时推送到redis的
# timeAt 表示定时时长
"realIpFrom_Mod" : "on",
# 该参数是否开启从http头中取用户真实IP,适用于CDN后端等
"ip_Mod" : "on",
# 该参数是否启用IP黑、白名单,IP是用户真实IP(http头取出,如设置)
"host_method_Mod" : "on",
# 该参数是否启用host、method白名单(仅允许)
"rewrite_Mod" : "on",
# 该参数是配置跳转使用,如set-cookie。(目前仅有set-cookie,后续增加验证码跳转)
"app_Mod" : "on",
# 该参数是否启用用户自定义应用层规则
"referer_Mod" : "on",
# 该参数是否启用referer过滤
"uri_Mod" : "on",
# 该参数是否启用uri过滤
"header_Mod" : "on",
# 该参数是否启用headers头过滤
"useragent_Mod" : "on",
# 该参数是否启用useragent过滤
"cookie_Mod" : "on",
# 该参数是否启用cookie过滤
"args_Mod" : {
"state":"on",
"HPP_state":"on" # 控制是否直接拦截GET的参数污染攻击
},
# 该参数是否启用args过滤,准确的说是args_data过滤
"post_Mod" : {
"state":"on",
"HPP_state":"on" # 控制是否直接拦截POST的参数污染攻击
}
# 该参数是否启用post过滤,准确的说是posts_data过滤
"post_form":12040,
# 该参数表示post表单时,规则过滤时取文件内容的长度,目前还没有用上
"network_Mod" : "on",
# 该参数是否启用network过滤频率规则
"replace_Mod" : "off",
# 该参数是否启用应答内容替换规则
"debug_Mod" : true,
# 该参数是否启用调试(影响json文件保存名称)
"baseDir" : "/opt/openresty/openstar/",
# 该参数表示设置OpenStar根路径(绝对路径)
"logPath" : "/opt/openresty/openstar/logs/",
# 该参数表示配置log文件存放目录
"jsonPath" : "/opt/openresty/openstar/conf_json/",
# 该参数表示过滤规则存放目录
# 该目录中有个host_json目录,是用于存放host过滤规则的json文件
"htmlPath" : "/opt/openresty/openstar/index/",
# 该参数表示在app_Mod规则中一些文件、脚本存放路径
"denyMsg" : {"state":"on","msg":"deny by 403","http_code":403},
# 该参数表示,应用层拒绝访问时,显示的内容配置(现支持基于host配置内容/状态码)关联对应denyHost_Mod.json文件
"log_conf": {
"state":"on",
"tb_formart":[
"$time",
"$remoteIp",
"$host",
"$ip",
"$method",
"$server_protocol",
"$status",
"$request_uri",
"$useragent",
"$referer",
"waf_log:",
"$waf_log",
"\n"
],
"tb_concat":" "
}
# 更新log_conf配置项,支持自定义logformat,文件名称固定到一个文件了(waf.log)
# state:日志开关,tb_formart:log拼接参数(支持动态变量),tb_concat:table的连接字符
# 动态变量支持:time(时间),remoteIp(直连ip),host(http头中的host),ip(从header头取的用户ip),
# method(请求的方法),server_protocol(协议和版本),status(状态),request_uri(请求的完整url,包含get的args参数),
# useragent,referer,cookie,query_string(get的args参数),headers_data(整个请求头),
# args_data(所有get参数的值),posts_data(所有post参数的值),posts_all(整个post的内容体【暂不支持】),
# body_bytes_sent(返回内容长度)
# 后续可以继续增加动态变量
}