Как переслать журнал Windows с помощью Nxlog на сервер rsyslog (linux)?
Я использую nxlog версии 3.0 на WinServ2012 R2 Standard, я могу переслать журналы событий в Eventviewer -> Windows журналы -> приложения, системы, безопасности. Но я не могу переслать другой журнал, который находится в другой директории / уровнях журнала, например (скриншот)
ниже мой файл конфигурации nxlog nxlog.conf, я пытаюсь получить журналы вставки / извлечения USB-накопителей / флешек от Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational
Журнал событий. Журналы заполнены, но я не могу получить их на сервере системного журнала.
Panic Soft
define ROOT C:\Program Files (x86)\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR %ROOT%\data
define LOGFILE '%LOGDIR%/nxlog.log'
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogLevel INFO
<Extension _syslog>
Module xm_syslog
</Extension>
<Extension _charconv>
Module xm_charconv
AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32
</Extension>
<Extension _exec>
Module xm_exec
</Extension>
<Extension _fileop>
Module xm_fileop
<Schedule>
Every 1 hour
Exec if (file_exists(%LOGFILE%) and (file_size(%LOGFILE%) >= 5M)) file_cycle(%LOGFILE%, 8);
</Schedule>
</Extension>
<Input eventlog>
Module im_msvistalog
ReadFromLast TRUE
<QueryXML>
<QueryList>
<Query Id='1'>
<Select Path='Application'>*</Select>
<Select Path='Security'>*</Select>
<Select Path='System'>*</Select>
<Sekect Path='Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational'>*</Select>
</Query>
</QueryList>
</QueryXML>
</Input>
<Input agentlogging>
Module im_internal
</Input>
<Output logcontents>
Module om_tcp
Host 10.10.10.100
Port 514
Exec to_syslog_snare();
</Output>
<Output agentlog>
Module om_tcp
Host 10.10.10.100
Port 514
Exec to_syslog_snare();
</Output>
<Route 1>
Path eventlog => logcontents
</Route>
<Route 2>
Path agentlogging => agentlog
</Route>
2 ответа
Чтобы отправить системный журнал из NXLog на сервер системного журнала, вам нужно использовать модуль расширения xm_syslog и вызвать один из модулей форматирования (to_syslog_bsd()
, to_syslog_ietf()
, to_syslog_snare()
) в зависимости от желаемого формата, который поддерживает ваш сервер системного журнала. Для получения дополнительной информации см. Раздел "Системный журнал" в Руководстве пользователя.
Хотя некоторые события USB хранятся в журнале событий Windows, существуют другие источники данных для событий USB:
- Трассировка событий Windows (ETW). NXLog EE имеет модуль im_etw, который может напрямую собирать журналы ETW. См. Этот пост для списка связанных поставщиков ETW.
- Реестр Windows. USB-устройства перечислены в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
и путем мониторинга этого куста реестра можно обнаружить изменения в конфигурации USB. Модуль ввода im_regmon поддерживает мониторинг реестра в NXLog EE.
Наконец-то все заработало, но шаги довольно глупы:
1) В файле nxlog.conf измените параметр внутри <Input eventlog>
ReadFromLast TRUE
в ReadFromLast FALSE
и прокомментируйте строки (поставьте хэш # infront)
#<Select Path='Application'>*</Select>
#<Select Path='Security'>*</Select>
#<Select Path='System'>*</Select>
<Select Path='Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational'>*</Select>
2) Перезапустите службу nxlog из диспетчера задач.
3) Снова раскомментируйте ранее прокомментированные строки
4) перезапустите службу nxlog
5) Вставьте USB-накопитель в машину Windows2012 и проверьте журналы
и я получил журналы, начинающие показывать, я все еще не уверен, что вызвало эту вещь.., так как я хочу читать журналы в прошлом, я изменил ReadFromLast FALSE
в ReadFromLast TRUE
и журналы все еще отображаются