以下更像是一个学术问题。我认为它没有太多实际价值,因为有更好的现成解决方案。
问题
如何从基于 Windows 的 Azure 虚拟机收集安全事件并在此基础上创建警报。这样,如果每分钟发生超过 30 个安全事件,就会发送电子邮件?
采取 1
- 创建 Log Analytics 工作区Create a Log Analytics working
- 添加虚拟机作为数据源(工作区数据源 > 虚拟机)
- 配置应收集的数据(高级设置 > 数据 > Windows 事件日志)
但是,这不允许我添加安全事件(仅限应用程序和系统事件)。
此情报包无法收集“安全”事件日志,因为当前不支持审核成功和审核失败事件类型。
第二次
- 从虚拟机本身启用诊断设置,并从“日志”中确保选择“审计成功”和“审计失败”。
- 在数据接收器下启用“Azure Monitor”
现在查询类似Event
或的内容时Event | where ComputerName == "vm1"
,不会返回任何结果。似乎这种方法只会向 Azure Monitor 发送指标,而不会发送日志
编辑
好的,这就是我目前所发现的。
通过使用 VM 诊断设置,可以将安全事件写入存储帐户表,然后使用Log Analytics Workspace
并添加存储帐户作为源。
但是,这仍然无法查询事件。至少对我来说,表格Events
始终是空的。似乎数据需要先通过 进行转换Azure Solution
。但是,我找不到转换窗口事件。
要收集并响应来自 Windows 的安全事件日志,首选解决方案是Azure Security Center
。但仍然不知道如何基于此创建警报... 太令人困惑了。
答案1
我想你已经找到了答案,但对于那些不知道的人来说:
(是的,我同意这很令人困惑,因为微软提供了可以执行此操作的多个位置的链接,并且他们已经移动了配置菜单。在我看来,他们应该隐藏非典型设置或将其标记为“高级”)
转到您的 Log Analytics 工作区。
打开“代理管理”。
下载并安装 Windows 代理。
就这样,现在您正在收集所有与安全相关的 Windows 事件。
提示:您不需要进入日志分析高级部分并为 Windows 配置任何其他事件日志类型,除非您正在执行与事件 ID 相关日志的典型收集之外的操作。
要查看事件,请运行此查询:
安全事件
或者如果你想要一些与时间相关的内容:
SecurityEvent
| where TimeGenerated > ago(24h)
| limit 10