首页 > 系统相关 >通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM

通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM

时间:2023-03-31 21:32:15浏览次数:55  
标签:nxlog github Windows Module Server Syslog 日志 com

0x01 环境介绍

Windows Server 2012 已经安装部署好了域控,目的除了收集Windows服务器本身的日志外还收集域控环境下的各种日志。

0x02 Nxlog配置和使用

0x03 安装Sysmon

0x04 开启Windows服务器审核策略

0x05 修改Nxlog配置文件

  • 本次是需要收集Windows服务器System,Security,Application,Sysmon,Powershell的相关日志
  • 配置文件详情
Panic Soft
#NoFreeOnExit TRUE

define ROOT     C:\Program Files\nxlog
define CERTDIR  %ROOT%\cert
define CONFDIR  %ROOT%\conf\nxlog.d
define LOGDIR   %ROOT%\data

include %CONFDIR%\\*.conf
define LOGFILE  %LOGDIR%\nxlog.log
LogFile %LOGFILE%

Moduledir %ROOT%\modules
CacheDir  %ROOT%\data
Pidfile   %ROOT%\data\nxlog.pid
SpoolDir  %ROOT%\data

<Extension json>
    Module      xm_json
</Extension>

<Extension _syslog>
    Module      xm_syslog
</Extension>

<Input internal>
    Module      im_internal
</Input>

<Extension _charconv>
    Module      xm_charconv
    AutodetectCharsets gbk, iso8859-2, utf-8, utf-16, utf-32
</Extension>

<Extension _exec>
    Module      xm_exec
</Extension>

<Extension _fileop>
    Module      xm_fileop

    # Check the size of our log file hourly, rotate if larger than 5MB
    <Schedule>
        Every   1 hour
        Exec    if (file_exists('%LOGFILE%') and \
                   (file_size('%LOGFILE%') >= 5M)) \
                    file_cycle('%LOGFILE%', 8);
    </Schedule>

    <Schedule>
        When    @weekly
        Exec    if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);
    </Schedule>
</Extension>

<Input eventlog>
    Module      im_msvistalog
    Query       <QueryList>\
                    <Query Id="0">\
                        <Select Path="Application">*</Select>\
                        <Select Path="System">*</Select>\
                        <Select Path="Security">*</Select>\
                        <Select Path="Microsoft-Windows-Sysmon/Operational">*</Select>\
                        <Select Path="Microsoft-Windows-PowerShell/Operational">*</Select>\
                    </Query>\
                </QueryList>
    Exec if ($EventID == 5156) OR ($EventID == 5158) drop();
</Input>

<Output out>
     Module      om_udp
     Host        192.168.50.20
     Port        536
     Exec        $EventTime = integer($EventTime) / 1000000;
     Exec        $EventReceivedTime = integer($EventReceivedTime) / 1000000;
     Exec        $Message = to_json(); to_syslog_bsd();
</Output>

<Route 1>
Path    eventlog, internal => out
</Route>

0x06 SIEM平台确认日志接收情况

通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM_配置文件_03

  • 这里接收过来的日志需要先使用grok解析为json格式,然后再解析json,生成每个字段,然后基于字段进行日常安全运营配置相关策略进行告警。
  • 使用到的Grok语法
.+]: %{GREEDYDATA:windows2012_json}
  • 原始日志
<14>Feb 23 21:20:20 SHUNANDC2012.shunanatomic.com Microsoft-Windows-Security-Auditing[512]: {"EventTime":1677158419,"Hostname":"SHUNANDC2012.shunanatomic.com","Keywords":-9214364837600034816,"EventType":"AUDIT_SUCCESS","SeverityValue":2,"Severity":"INFO","EventID":4634,"SourceName":"Microsoft-Windows-Security-Auditing","ProviderGuid":"{54849625-5478-4994-A5BA-3E3B0328C30D}","Version":0,"Task":12545,"OpcodeValue":0,"RecordNumber":516532,"ProcessID":512,"ThreadID":4984,"Channel":"Security","Message":"已注销帐户。\r\n\r\n使用者:\r\n\t安全 ID:\t\tS-1-5-18\r\n\t帐户名:\t\tSHUNANDC2012$\r\n\t帐户域:\t\tSHUNANATOMIC\r\n\t登录 ID:\t\t0xBB2EC6\r\n\r\n登录类型:\t\t\t3\r\n\r\n在登录会话被破坏时生成此事件。可以使用登录 ID 值将它和一个登录事件准确关联起来。在同一台计算机上重新启动的区间中,登录 ID 是唯一的。","Category":"注销","Opcode":"信息","TargetUserSid":"S-1-5-18","TargetUserName":"SHUNANDC2012$","TargetDomainName":"SHUNANATOMIC","TargetLogonId":"0xbb2ec6","LogonType":"3","EventReceivedTime":1677158420,"SourceModuleName":"eventlog","SourceModuleType":"im_msvistalog"}
  • 进行Json格式解析

0x07 SIEM平台效果展示

通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM_配置文件_04


通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM_安全_05


通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数据至SIEM_安全_06

迷茫的人生,需要不断努力,才能看清远方模糊的志向!



标签:nxlog,github,Windows,Module,Server,Syslog,日志,com
From: https://blog.51cto.com/u_5139878/6162464

相关文章

  • SQLSERVER 语句交错引发的死锁研究
    一:背景1.讲故事相信大家在使用SQLSERVER的过程中经常会遇到阻塞和死锁,尤其是死锁,比如下面的输出:(1rowaffected)Msg1205,Level13,State51,Line5Transaction(ProcessID62)wasdeadlockedonlockresourceswithanotherprocessandhasbeenchosenasthed......
  • 【webserver 前置知识 02】Linux网络编程入门其一
    网络结构模式C/S结构服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户机是因特网上访问别人信息的机器,服务器则是提供信息供人访问的计算机。在C/S结构中,应用程序分为两部分:服务器部分和客户......
  • windows使用/服务(10)Win11预览版退回正式版方法介绍
    闲的没事把系统win11:21H2正式稳定版本升级到22H2内部测试版,不太习惯而且还是个滚动发行版不稳定,回退到之前版本Win11将预览版返回到正式版的方法1.右击“计算机”选择“属性”,选择“winodws更新”选择“高级选项”。2.然后点击“恢复”,再点击“高级启动”下的“重启”。3.......
  • 使用SqlBulkCopy sqlserver 批量插入数据(C#)
    先说实现原理:将需要插入数据库的集合里面的数据存在datatable里面,列名需相同,然后调用SqlBulkCopy方法。1.新建datatable,并赋值DataTabledataTable=newDataTable();dataTable.Columns.Add("NAME1");dataTable.Columns.Add("NAME2");dataTable.Columns.Add("NAME3");data......
  • 在windows 11家庭版 系统上安装linux子系统
    步骤:1.启动WSL单击Win11任务栏上给出的“搜索图标”类型–打开或关闭窗口功能选择它,当“WindowsSubsystemforLinux”时。按确定按钮。然后“重启”你的系统.2.如果机器比较新,一般从WSL1升级到WSL2再进行操作。WS2可以通过命令行直接安装系统。可节省第三步。但有时升级......
  • MS SQL Server SQL刷题记录
    MSSQLServerSQL方言和mysqlsql略有不同目录保留4位小数求曼哈顿距离和欧几里得距离求中位数表联结表联结,我真心建议给你的列命名的时候不要瞎命名保留4位小数SELECTCAST(ROUND(SUM(LAT_N),4)ASDECIMAL(10,4))FROMSTATIONWHERELAT_N>38.7880ANDLAT_N<137.23......
  • 卸载SQL Server 2012图文教程
    卸载步骤1、键盘上同时按”Win+R”这两个键,或如下图所示右击开始图标选择“运行”2.输入”services.msc”命令打开服务3.找到所有跟SqlServer有关的服务,并且停止这些服务。(一定要先停止服务再卸载,否则后续卸载文件过程中会失败)  4.进入控制面板,点击“程序卸载”5.在......
  • WLC Internal DHCP Server
    ThecontrollerscontainaninternalDHCPserver.ThisserveristypicallyusedinbranchofficesthatdonotalreadyhaveaDHCPserver.Thewirelessnetworkgenerallycontainsamaximumof10accesspointsorfewer,withtheaccesspointsonthesameIP......
  • RocketMQ-Windows安装-客户端rocketmq-dashboard 20230331
     一、Windows安装 https://github.com/apache/rocketmq/releases 1、解压rocketmq-all-4.8.0-bin-release.zip到D:\XXXA\rocketmq-all-4.8.0 2、RocketMQ配置环境变量:ROCKETMQ_HOMED:\XXXA\rocketmq-all-4.8.0NAMESRV_ADDRlocalhost:9876 PATH属性增加:......
  • windows系统 批量处理文件名称
    1.步骤一,提取当前目录下的文件名字  tree当前目录/f>随机目录\输出文件.txt 输出文件内容大致为这样  2.步骤二,转换文件名字为你想要的,比如此处我想将图片名称中的名字全部去除,只剩身份证号1)第一小步:创建一个excel文件,打开之后将所有的图片名称复制到第一列中......