Skip to content

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(返回内容长度)
  # 后续可以继续增加动态变量
}
Clone this wiki locally