Windows dns分析日志logging到远程目标

充分披露,我不是Windowspipe理员,也不是Windows专家。 从Windows 2012 r2起,支持在Windows DNS服务器中loggingDNS分析日志。 我的任务是让这些日志到一个远程服务器(最好使用NXLog),但看起来这并不像我希望的那样微不足道。 但是,我对Windows中的分析日志logging是一种新的错误,因此我可能错过了一个简单的方法来做到这一点。
我find了一篇来自Microsoft的文章,描述了如何启用这种日志logging,另一篇文章描述了在networking取证中的使用 。 我然而无法读取日志,除非我禁用分析源,如果我使用日志旋转。 但是,如果我不允许覆盖日志,并且一旦完全删除,我可以读取日志,但除非重新启动分析源,否则无法清除日志。
我知道这是将此分析日志发送到运营目的地的选项,但我一直无法弄清楚如何做到这一点。 那可能吗? 我意识到,一旦在DNS服务器上达到100k QPS以上,就会降低性能。
所以总结起来,我想要的是和上面链接的networking取证文章一样,这样或那样的。 我目前的“解决scheme”包括一个脚本停止源,转储日志到csv文件,然后再次启动源,因此我能够得到的数据。 不过希望有一个更简化的解决scheme。 任何链接到帮助我实现上述文章的指针是赞赏。

我同意,阅读ETL频道以获得DNS日志将是最好的解决scheme,但只有当它们能够被连续地写入和访问时 – 然而事实并非如你所说的那样。 因此,我可以提出几个解决scheme来收集Windows DNS服务器日志:

  • [BUILTIN] :启用Windows Server DNS日志logging。 日志将被保存到NXLog可以读取的文本文件中。 这个解决scheme是最简单的。 但是它没有文件轮换,我们仍然需要parsingtxt文件

DNS日志

  • [NXLOG] :使用NXLog读取分析日志(* .ETL)。 此function由NXLog( 源代码 )提供,并位于模块“ im_msvistalog
  • [POWERHSELL] :我find了一个脚本( 源代码 ),可以读取ETL通道并将其写入标准通道(EVTX文件)。 然后,您可以使用WEF或NXLog来读取和转发日志(如果前一点不起作用)
  • [ETW WRAPPER] :Microsoft在“ O365.Security.Native.ETW ”中提供了自己的ETW包装器( 源代码 ),但在我看来,实现起来很复杂
  • [自定义供应商] :像EventTracker或Splunk这样的供应商实施他们自己的解决scheme和脚本来抓取DNS日志。 也许看看他们是如何pipe理它会很有趣。 我发现Splunk Stream可以通过集成脚本( 源代码 )解决这个问题,

为了完成,我build议您阅读EventTracker( 源 )和Netwrix( 源 )的PDF文档,这些文档对我来说非常有用,可以完全收集所有DNS相关的日志。

总而言之,为了更好地了解DNS日志在Windows上收集的位置,我还可以为您提供此表。

DNS日志比较

我想我们已经在reddit上讨论了这个,所以我只是把这个链接放在这里作为进一步的参考。