- 日志说明
- 日志类型
- 日志格式
- 1. 攻击日志格式
- 2. 安全基线检查报警日志
日志说明
日志类型
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,一个完整的日志样例如下
{"event_type" : "attack","event_time" : "2017-10-13T10:03:27","request_id" : "56e5ee656ea6458d8b343b96b9fb3257","attack_source" : "192.168.2.100","attack_params" : {"command" : ["ls"]},"server_type" : "Tomcat","plugin_confidence" : 100,"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)","plugin_message" : "发现命令执行后门","attack_type" : "command","intercept_state" : "block","target" : "example.com","referer" : "baidu.com","server_ip" : "192.168.1.100","server_hostname": "my-bloodly-hostname","path" : "/vulns/004-command-1.jsp","plugin_name" : "offical","url" : "http://example.com:8080/vulns/004-command-1.jsp?cmd=ls","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","server_version" : "7.0.78"}
2. 安全基线检查报警日志
当检测到不符合安全规范的配置时,OpenRASP 将会记录以下信息:
| 字段 | 说明 |
|---|---|
| event_type | 日志类型,固定为 security_policy 字样 |
| event_time | 事件发生时间 |
| server_hostname | 服务器主机名 |
| server_nic | 服务器IP |
| server_type | 应用服务器类型 |
| server_version | 应用服务器版本 |
| policy_id | 匹配的策略编号 |
| message | 不符合规范的配置说明 |
| stack_trace | 当前调用堆栈,某些情况可能为空 |
一个完整的日志样例如下,
{"event_type": "security_policy","event_time" : "2017-04-01T08:00:00Z","policy_id": "3002","server_hostname": "my-bloodly-hostname","server_nic": {{"name": "eth0","ip": "10.10.1.131"},{"name": "eth0","ip": "192.168.1.150"}},"server_type": "Tomcat","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""server_version": "7.0.15","message": "Tomcat 不应该以root权限启动"}
原文: https://rasp.baidu.com/doc/setup/log/main.html
