其他配置选项

通用配置

以下配置支持云端下发,也支持单机修改。若开启远程管理,单机配置不会加载;如果没有开启,Java 版本单机配置修改后立即生效,PHP 大部分情况下会立即生效。

目前配置路径如下:

  • PHP 版本: <openrasp_rootdir>/conf/openrasp.yml
  • Java 版本: <app_home>/rasp/conf/openrasp.yml

插件相关

参数值 说明 默认值
plugin.timeout.millis 对于单个检测算法,
JS 插件超时时间 (毫秒)
100
plugin.maxstack 插件获取堆栈的最大深度 100
plugin.filter 针对文件访问hook点,是否开启过滤机制。
若开启,当目标文件不存在,将不进入检测插件。
支持 directory, readFile, rename, include 四个 hook 点
true
body.maxbytes 最多读取 POST body 的前多少字节 4096
lru.maxsize 当某个攻击参数判定为 ignore,会进入缓存,下次不再处理。
LRU 目前只针对数据库、文件访问生效,且所有检测点共享一个LRU。
1024
ognl.expression.minlength 为了减少OGNL检测的性能损耗,当OGNL语句达到这个长度才调用插件 30

文件日志相关

参数值 说明 默认值
log.maxstack 报警日志记录的最大堆栈深度 50
log.maxburst 每个进程/线程每分钟最大日志条数 100
log.maxbackup 日志最大备份天数 30

syslog 日志相关

参数值 说明 默认值
syslog.enable 是否开启 syslog false
syslog.url 服务器地址 (空)
syslog.tag tag 值 OpenRASP
syslog.facility facility 值 1
syslog.connection_timeout 连接超时时间 (毫秒) 50
syslog.read_timeout 读超时时间 (毫秒) 10
syslog.reconnect_interval 重连时间间隔 (秒) 300

拦截相关

参数值 说明 默认值
block.status_code 拦截攻击后,将状态码设置为这个值 302
block.redirect_url 拦截攻击后,跳转到这个URL,并根据模板设置 request_id 参数 https://rasp.baidu.com/blocked/?request_id=%request_id%
block.content_json 拦截攻击后,若期望响应类型为JSON,则根据此模板显示内容 {"error":true,
"reason": "Request blocked by OpenRASP",
"request_id": "%request_id%"}
block.content_xml 拦截攻击后,若期望响应类型为XML,则根据此模板显示内容 <?xml version="1.0"?>
<doc>
<error>true</error>
<reason>Request blocked by OpenRASP</reason><request_id>%request_id%</request_id>
</doc>
block.content.html 拦截攻击后,若期望响应类型为其他情况,则根据此模板显示内容 </script><script>
location.href=
"https://rasp.baidu.com/blocked2/?request_id=%request_id%"
</script>

其他配置

参数值 说明 默认值
request.param_encoding 设置参数的编码格式,用于在用户解析参数之前按照该编码提前获取参数,仅Java支持 (空)
clientip.header 从指定的 HTTP header 里获取客户端真实IP,并记录到报警日志的 client_ip 字段里。注意: 本配置区分大小写。 ClientIP
inject.urlprefix 对于以下URL,修改响应并注入HTML (空)
debug.level debug 等级,0为关闭 debug 模式 0
decompile.enable 是否开启反汇编功能,开启后可获取源代码,但是会非常消耗性能 0

PHP 版本独立配置

以下配置需要放在 php.ini 里,修改后重启PHP服务器生效。

参数值 说明 默认值
openrasp.root_dir openrasp 根目录,存放插件、日志 (空)
openrasp.locale 配置的语言类型 (空)
openrasp.heartbeat_interval 心跳间隔,单位秒 180
openrasp.backend_url 云控后台 URL 地址 (空)
openrasp.app_id 云控通信使用的 app_id 值 (空)
openrasp.app_secret 云控通信使用的 app_secret 值 (空)
openrasp.remote_management_enable 是否开启远程管理功能 false

Java 版本独立配置

以下配置还是在 openrasp.yml 里,但是修改后需要重启服务器生效。

参数值 说明 默认值
cloud.backend_url 云控后台 URL 地址 (空)
cloud.app_id 云控通信使用的 app_id 值 (空)
cloud.app_secret 云控通信使用的 app_secret 值 (空)
cloud.enable 是否开启远程管理功能 false
cloud.heartbeat_interval 心跳间隔,单位秒 180
hooks.ignore 默认开启全部 hook 点,有不需要的可在这里关闭,逗号分隔。 (空)

hooks.ignore 全部可选值

其中 http_output 为HTML注入功能,其他的都比较好理解。修改后需要重启 Java 应用服务器。

hooks.ignore=sql,sqlPrepared,directory,request,readFile,writeFile,fileUpload,command,xxe,ognl,deserialization,include,ssrf,http_output,webdav,sqlSlowQuery,rename,dubboRequest

若要禁用所有 hook 点,可直接使用 hooks.ignore=all 配置。