我希望所有OSSEC通知都被路由到Slack会议室而不是电子邮件.2.9.Beta5有一个ossec-slack.sh主动响应脚本.我的ossec.conf的相关部分是:
<command>
<name>ossec-slack</name>
<executable>ossec-slack.sh</executable>
<expect>srcip</expect>
<timeout_allowed>no</timeout_allowed>
</command>
<active-response>
<command>ossec-slack</command>
<location>local</location>
<level>1</level>
</active-response>
Run Code Online (Sandbox Code Playgroud)
这适用于SSH登录(失败和成功),但据我所知,不会触发任何其他操作.我做错了什么/别人怎么做?这只是测试版软件是测试版软件吗?
首先确保您的ossec-slack.sh文件在顶部有正确的信息:
# FILE: /var/ossec/active-response/bin/ossec-slack.sh
SLACKUSER="ossec"
CHANNEL="#slack_chanel" # include the hash "#"
SITE="https://hooks.slack.com/services/TOKEN"
SOURCE="ossec2slack"
Run Code Online (Sandbox Code Playgroud)
您"SLACKUSER"与Slack WebHook Integrations页面中设置的"Customize Name"字段相同.
现在您的ossec-slack.sh文件已设置完毕,您可以手动测试Slack集成:
/var/ossec/active-response/bin/ossec-slack.sh
Run Code Online (Sandbox Code Playgroud)
手动运行脚本将从警报日志文件中发布最近的条目:
/var/ossec/logs/alerts/alerts.log
Run Code Online (Sandbox Code Playgroud)
当此脚本作为活动响应触发时,它将仅发布当前警报的信息,而不是从日志文件发布.
确认可以手动发布Slack消息后,将以下XML块添加到ossec.conf文件中:
<!-- FILE: /var/ossec/etc/ossec.conf -->
<ossec_config>
<command>
<name>ossec-slack</name>
<executable>ossec-slack.sh</executable>
<expect></expect> <!-- no expect args required -->
<timeout_allowed>no</timeout_allowed>
</command>
<active-response>
<command>ossec-slack</command>
<location>local</location>
<level>3</level>
</active-response>
</ossec_config>
Run Code Online (Sandbox Code Playgroud)
只要触发3级或更高级别的警报,上述设置就会发布到Slack通道.
注意:<expect>标记内不需要参数.但<expect>标签本身是必需的.有关更多信息,请参阅OSSEC的主动响应文档.
要测试此集成,请重新启动ossec服务器:
/var/ossec/bin/ossec-control restart
Run Code Online (Sandbox Code Playgroud)
你应该"OSSEC Started"很快看到警报:
如果您没有看到警报,请检查日志中是否存在任何配置错误:
tail /var/ossec/etc/logs/ossec.log
tail /var/ossec/logs/active-responses.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1549 次 |
| 最近记录: |