安装了 OSSEC 的 aws autoscaling AMI

aws autoscaling AMI with OSSEC installed

所以我们用我们自己的 ami 创建了一个自动缩放组,ami 有一个服务器和一个向 slack 通道报告的自动化 ossec 服务,问题是当一个新实例启动时,ossec 发送很多警报,因为文件签名不同,这没关系,因为当启动新实例时,它会在新卷中重新创建 ami。

现在我怎样才能在这些 ami 中安装 ossec,但是当启动一个新实例时,文件中的所有警报都没有更改。

我尝试在启动新实例时重新启动 ossec 服务,但它有相同的行为,ossec 发送所有文件已更改的警报。

由于你的 ossec 代理包含在你的 AMI 中,我认为在第一次启动时无法停止这些警报,因为正如你所说,这只是 ossec 在识别任何更改时所做的事情,所以我建议不要在映像中包含 ossec 代理,而是在自动缩放组创建新实例时使用用户数据安装它,这可能会导致额外的时间来启动实例,但它可能会解决您的问题。

解决这个问题的一种方法是使用 cronjob 或 systemd,重新启动或启动混合 OSSEC 进程。

在我的例子中,我们决定在例外中添加文件夹,这样 OSSEC 就不会扫描这些文件夹。

过去几天,我一直在 AWS 的 golden amis 下实施 ossec,这一直是一个巨大的痛苦,因为每次创建 ec2 实例时都会生成文件更改警报。

这里有两大要点:

  1. 使用 cloud init 创建了一个 ec2。我不得不创建一个新的 在 cloud-final.service:
  2. 之后启动的 ossec 服务的 systemd 模板
              [Unit]
              Description=OSSEC
              After=network.target cloud-final.service
              After=multi-user.target

              [Service]
              Type=forking
              ExecStart=/var/ossec/bin/ossec-control start
              ExecStop=/var/ossec/bin/ossec-control stop
              ExecReload=/var/ossec/bin/ossec-control restart

              Restart=always

              [Install]
              WantedBy=multi-user.target
  1. OSSEC 使用队列工作。你现在必须确保 生成 ami ossec 服务停止,以下 清理的目录:
  • /var/ossec/queue/diff/local/*
  • /var/ossec/queue/syscheck/*
  • /var/ossec/logs/alerts/*

我必须付出很大的努力才能做到这一点。所以我希望我在这个post中的回答对以后有帮助