首先确保您的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"
您的 "SLACKUSER" 与您在 Slack WebHook 集成页面中设置的“自定义名称”字段相同。
现在您的 ossec-slack.sh 文件已设置完毕,您可以手动测试您的 Slack 集成:
/var/ossec/active-response/bin/ossec-slack.sh
手动运行脚本将发布警报日志文件中的最新条目:
/var/ossec/logs/alerts/alerts.log
当此脚本作为主动响应触发时,它只会发布当前警报的信息,而不是从您的日志文件中发布。
当您确认可以手动发布 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>
只要触发 3 级或以上警报,上述设置就会发布到您的 Slack 频道。
注意:<expect> 标记中不需要任何参数。但是<expect> 标签本身是必需的。有关详细信息,请参阅 OSSEC 的active-response documentation。
要测试此集成,请重新启动您的 ossec 服务器:
/var/ossec/bin/ossec-control restart
您应该很快就会看到"OSSEC Started" 警报:
如果您没有看到警报,请检查您的日志是否有任何错误配置:
tail /var/ossec/etc/logs/ossec.log
tail /var/ossec/logs/active-responses.log