日志说明

日志类型

OpenRASP 包含四类日志,均存放于 <app_home>/rasp/logs 目录下

文件名 文件内容
plugin/plugin-DATE.log 检测插件的日志,e.g 插件异常、插件调试输出
rasp/rasp-DATE.log rasp agent 调试日志
alarm/alarm-DATE.log rasp 报警日志,JSON 格式,一行一个
policy_alarm/policy_alarm-DATE.log 安全基线检查报警日志,JSON 格式,一行一个

若要以 syslog 方式传输日志,或者进行其他高级配置,请参考高级配置选项

日志格式

报警日志包含两类,一类是攻击日志 (位置 alarm/alarm-DATE.log),一类是安全基线、编码规范检查日志 (位置 policy_alarm/policy_alarm-DATE.log)

1. 攻击日志格式

当发生攻击事件时,OpenRASP 将会记录以下信息,

字段 说明
event_type 日志类型,固定为 attack 字样
event_time 事件发生时间
request_id 当前请求ID
intercept_state 拦截状态
attack_source 攻击来源 IP
target 被攻击目标域名
server_hostname 被攻击的服务器主机名
server_ip 被攻击目标 IP
server_type 应用服务器类型
server_version 应用服务器版本
path 当前URL,不包含参数
referer 当前请求头的 Referer 字段
url 当前URL,包含完整GET参数
attack_type 攻击类型
attack_params 攻击参数
plugin_name 报告攻击插件名称
plugin_confidence 检测结果可靠性,插件返回
plugin_message 检测结果信息
user_agent 浏览器 User-Agent 信息
stack_trace 当前调用堆栈

上述信息以json格式记录到日志中,日志可以输出到文件或者syslog,一个完整的日志样例如下

  1. {
  2. "event_type" : "attack",
  3. "event_time" : "2017-10-13T10:03:27",
  4. "request_id" : "56e5ee656ea6458d8b343b96b9fb3257",
  5. "attack_source" : "192.168.2.100",
  6. "attack_params" : {
  7. "command" : [
  8. "ls"
  9. ]
  10. },
  11. "server_type" : "Tomcat",
  12. "plugin_confidence" : 100,
  13. "stack_trace" : "java.lang.ProcessBuilder.start(ProcessBuilder.java)\njava.lang.Runtime.exec(Runtime.java:620)\njava.lang.Runtime.exec(Runtime.java:450)\njava.lang.Runtime.exec(Runtime.java:347)\norg.apache.jsp._004_002dcommand_002d1_jsp._jspService(_004_002dcommand_002d1_jsp.java:94)\norg.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)\njavax.servlet.http.HttpServlet.service(HttpServlet.java:731)\norg.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)\norg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)\norg.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)\njavax.servlet.http.HttpServlet.service(HttpServlet.java:731)\norg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)\norg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\norg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\norg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)\norg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)\norg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)\norg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)\norg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)\norg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)",
  14. "plugin_message" : "发现命令执行后门",
  15. "attack_type" : "command",
  16. "intercept_state" : "block",
  17. "target" : "example.com",
  18. "referer" : "baidu.com",
  19. "server_ip" : "192.168.1.100",
  20. "server_hostname": "my-bloodly-hostname",
  21. "path" : "/vulns/004-command-1.jsp",
  22. "plugin_name" : "offical",
  23. "url" : "http://example.com:8080/vulns/004-command-1.jsp?cmd=ls",
  24. "user_agent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/57.0.1453.93 Chrome/57.0.1453.93 Safari/537.36",
  25. "server_version" : "7.0.78"
  26. }
2. 安全基线检查报警日志

当检测到不符合安全规范的配置时,OpenRASP 将会记录以下信息:

字段 说明
event_type 日志类型,固定为 security_policy 字样
event_time 事件发生时间
server_hostname 服务器主机名
server_nic 服务器IP
server_type 应用服务器类型
server_version 应用服务器版本
policy_id 匹配的策略编号
message 不符合规范的配置说明
stack_trace 当前调用堆栈,某些情况可能为空

一个完整的日志样例如下,

  1. {
  2. "event_type": "security_policy",
  3. "event_time" : "2017-04-01T08:00:00Z",
  4. "policy_id": "3002",
  5. "server_hostname": "my-bloodly-hostname",
  6. "server_nic": {
  7. {
  8. "name": "eth0",
  9. "ip": "10.10.1.131"
  10. },
  11. {
  12. "name": "eth0",
  13. "ip": "192.168.1.150"
  14. }
  15. },
  16. "server_type": "Tomcat",
  17. "stack_trace": "org.apache.catalina.startup.Catalina.start(Catalina.java)\nsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\nsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\nsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\njava.lang.reflect.Method.invoke(Method.java:606)\norg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)\norg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)\n"
  18. "server_version": "7.0.15",
  19. "message": "Tomcat 不应该以root权限启动"
  20. }

原文: https://rasp.baidu.com/doc/setup/log/main.html