【问题标题】:OSSEC Slack IntegrationOSSEC Slack 集成
【发布时间】:2016-05-04 16:50:12
【问题描述】:

我希望将所有 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>

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

【问题讨论】:

    标签: slack-api


    【解决方案1】:

    首先确保您的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 频道。

    注意:&lt;expect&gt; 标记中不需要任何参数。但是&lt;expect&gt; 标签本身是必需的。有关详细信息,请参阅 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
    

    【讨论】:

    • 需要注意的是,如果您在具有主服务器和多个代理的更标准的环境中运行它,则需要将主动响应中的位置更改为服务器或主动响应命令将在引发警报的代理上执行。
    【解决方案2】:

    不是一个完整的答案,但在这里添加。为确保此功能有效,请确保您没有在 /var/ossec/etc/ossec.conf 中设置此设置。如果它在那里,只需删除。

    <active-response>
      <disabled>yes</disabled>
    </active-response>
    

    【讨论】:

    • 对我来说,活动响应 alert_id 与 alerts.log 或 alerts.json 中的任何日志条目都不匹配
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    相关资源
    最近更新 更多