2016-05-04 84 views
1

我希望将所有OSSEC通知路由到Slack空间而不是电子邮件。 2.Beta5有一个ossec-slack.sh主动响应脚本。我ossec.conf的相关部分:OSSEC冗余集成

<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> 

这适用于SSH登录(失败和成功的),但据我所知不会触发任何东西。我在做什么错了/别人怎么做到这一点?这只是测试版软件吗?

回答

2

首先确保你的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"是一样的,你在你的时差设置的“自定义名称”字段网络挂接集成页面。

SLACKUSER Integration Example

现在你ossec-slack.sh文件设置时您可以测试手动将松弛的整合:

/var/ossec/active-response/bin/ossec-slack.sh 

运行脚本手动将从您的通知发布最新条目日志文件:

/var/ossec/logs/alerts/alerts.log 

当此脚本作为主动响应触发时,它只会发布当前警报的信息ra而不是从您的日志文件发布。

您确认,您可以手动发布松弛的消息,下面的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级或以上的警报触发。

注意:<expect>标记中不需要参数。但是<expect>标签本身是必需的。有关更多信息,请参阅OSSEC的active-response documentation

为了测试这种整合,重新启动您的OSSEC服务器:

/var/ossec/bin/ossec-control restart 

您应该看到"OSSEC Started"警报很快:

OSSEC Message posted to Slack

如果你没有看到警报,请检查你的日志对于任何错误配置:

tail /var/ossec/etc/logs/ossec.log 
tail /var/ossec/logs/active-responses.log 
+1

东西要待重要的是,如果你在一个带有主代理和多代理的更加标准的环境中运行它,你需要改变服务器主动响应中的位置,或者在引发警报的代理上执行主动响应命令。 –