Putin is a war criminal and a son of a bitch!


 

Pokud potřebujete poslat logy ve Windows formátu evt/evtx do ElasticSearch, můžete použít můj postup.

Používáme v práci sdílený disk pro ukládání firemních dat pomocí Nettapp pole. Nad touto sdílenou složkou si vytváří Nettapp auditní stopu a ukládá do evt souborů.
Potřeboval jsem dostat logy z diskového pole Nettapp do ElasticSerach. Nettapp mám starou verzi, která logy dokáže shromažďovat v definované složce na sdíleném disku.

Logy evt je možné posílat pomocí NX-LOG, nicméně pouze ze systému. Pokud potřebujete poslat více souboru někde na disku, musíte koupit licenci.

Možnost, jak poslat soubory je WinlogBeat. Problém je, že WinlogBeat dokáže posílat pouze jeden soubor, který definujete v konfiguračním souboru winlobeat.yml. To je možné obejít pomocí powershellového scriptu a šokovné konfigurace ve winlobeat.yml. Skript v powershell najde den staré soubory a spustí winnlogbeats s požadovanými parametry. Winlogbeat se potom postará o doručení zpráv ve formátu JSON na ElasticSearch.

Postup:
1. Stáhnout WinlogBeat
2. Vytvořit složku c:\NetappToELKJob
3. Rozbalit WinlogBeat do složky c:\NetappToELKJob
4. Vytvořit script JobSendLogs.ps1
5. Nastavit Windows scheduler na spouštění powerschell scriptu.

###############################################
# Script pro kopirovani logu z Nettapp do ELK #
# Autor: DonJirka                          #
# Verze: 1.0                                  #
###############################################

# datum k zapsání do logu
$date = (Get-Date).ToString('yyyy-MM-dd HH:mm:ss')

# načtení souborů z Nettapp starších jednoho dne
$files = Get-ChildItem -Path "\\192.168.1.10\event\" -Filter * | Where-Object {$_.CreationTime -gt (Get-Date).AddDays(-1)} | Convert-Path

# cesta k winlobgeats
$path = Convert-Path "C:\NetappToELKJob\winlogbeat-7.9.3-windows-x86_64"

# spouštění winlogbeats pro odeslání souboů na server ELK (více v souboru winlogbeat.yml)
ForEach ($file in $files) {
  # spuštění příkau winlogbeats
  & "$path\.\winlogbeat.exe" -e -c $path\winlogbeat.yml -E EVTX_FILE=$file
  # logování odeslaných souborů
  Write-Output "$date $path\winlogbeat.exe -e -c $path\winlogbeat.yml -E EVTX_FILE=$file" | Out-File -Encoding Ascii -append C:\NetappToELKJob\netapp_files.txt
}

Konfigurace winlogbeat.yml

winlogbeat.event_logs:
  - name: ${EVTX_FILE}
    no_more_events: stop

winlogbeat.shutdown_timeout: 30s
winlogbeat.registry_file: evtx-registry.yml

output.logstash.hosts: ['172.20.51.30:5044']