在开始之前,我们需要先添加 openrasp 日志类型,否则 Splunk 无法组装超过
1KB
的日志。
方法1 - 手动添加
创建或者编辑
$SPLUNK_HOME/etc/system/local/props.conf
,添加如下内容,并重启 Splunk 服务器以生效:
[openrasp]
BREAK_ONLY_BEFORE = \d\d?:\d\d:\d\d
SEDCMD-StripHeader = s/^[^{]+//
KV_MODE = json
pulldown_type = true
# Change the default maximum line length (in bytes)
TRUNCATE = 320000
上述配置添加了一个名为
openrasp
的日志类型,格式为 JSON,单行最大长度 320000 字符,足够使用了。
方法2 - 安装插件
首先在这里下载控制台插件,安装此插件会自动创建
openrasp
日志类型:
splunk-app-1.1.zip
然后在 Splunk 首页左上角,点击
App -> Manage Apps -> Install app from file
,点击浏览文件,选中刚才下载的插件,然后勾选
Upgrade app. Checking this will overwrite the app if it already exists
选项,点击上传:
安装成功后,会在首页看到 RASP 应用,
应用界面如图
配置 Splunk 端口监听
在 Splunk 首页,点击右上角的
Settings -> DATA -> Data Inputs
,然后选择
TCP
类型,并点击
NEW
进入配置界面。在这里,我们输入监听端口,即
514
。
选择日志类型时,依然是
openrasp
。接着点击
Review
,然后点击
Submit
保存即可。
当服务器收到日志,就可以在界面上查看了
其他端口也是可以的,但协议只能是 TCP 类型。
配置 OpenRASP
如果是单机版
,请根据
其他配置 - syslog 日志
的说明,配置至少如下两项:
syslog.enable=true
syslog.url=tcp://X.X.X.X:514
修改后应用重启服务器生效。
如果开启了管理后台
,定位到
系统设置 -> 报警设置 -> Syslog 报警设置
,在界面上配置即可。
开启邮件报警
首先点击右上角
设置 -> 系统 -> 服务器设置 -> 电子邮件设置
,输入邮件服务器和账号信息,
设置好上面邮箱信息后,可定期搜索报警,并通过邮件方式通知。
打开
Splunk -> 搜索 -> 设置搜索语句 -> 另存为 -> 告警
1. Syslog UDP 方式日志截断问题
如果你使用
Syslog UDP
方式采集日志,那么单条日志长度将被限制为
1KB
。由于我们的报警日志通常在
2~3 KB
,所以会导致报警日志截断
2. 界面上看不到日志
请按照如下步骤进行排查
OpenRASP 是否产生报警日志?
-
检查
<app_home>/rasp/logs/alarm.log
是否有报警?
-
OpenRASP 是否将日志发给 Syslog 服务器?
-
使用 wireshark/tcpdump 抓包分析
-
Splunk 是否能收到数据?
-
在应用服务器上,检查 Splunk 端口是否可连接?
-
使用 linux logger 命令,模拟发送一条日志到 splunk,splunk 是否能收到?
-
e.g
logger -n X.X.X.X -T -P 514 '{"hello":"world123"}'