Přeskočit obsah

Shromažďování z Beats nebo Logstash

Podporované Beats

TeskaLabs LogMan.io podporuje shromažďování logů z široké škály Elastic Beats, což jsou lehké datové přepravce pro různé zdroje logů a platformy. Mezi nejčastěji používané Beats patří:

  • Winlogbeat: Shromažďuje Windows Event, včetně aplikací, systému, zabezpečení a mnoha dalších kanálů. Užitečné pro monitorování Windows serverů a pracovních stanic.
  • Filebeat: Shromažďuje a přepravuje logy z souborů. Běžné případy použití zahrnují:
    • Microsoft DHCP: Shromažďuje logy DHCP serveru z Windows serverů.
    • Microsoft DNS: Shromažďuje debug logy DNS z Windows DNS serverů.
    • Microsoft IIS: Shromažďuje logy webového serveru z Microsoft IIS.
    • Logy vlastních aplikací: Shromažďuje logy z jakékoli aplikace nebo služby, která zapisuje do souboru.
  • Auditbeat: Shromažďuje auditní logy z Linuxových systémů, jako je monitorování integrity souborů a uživatelská aktivita.
  • Další Beats: Jakékoli další komunitní nebo oficiální Beats (např. Metricbeat, Packetbeat) mohou být také integrovány.

Beats posílají svá data do LogMan.io Kolektoru pomocí protokolu Lumberjack (stejný protokol, který používá Logstash). To umožňuje bezpečné a spolehlivé přepravování logů z různých zdrojů a platforem.

Konfigurace TeskaLabs LogMan.io

Základní konfigurační úryvek LogMan.io Collectoru:

input:Lumberjack:logstash:
  output: ...

logstash je identifikovaný vstup a může být nahrazen čímkoli jedinečným v konfiguračním souboru.

address specifikuje síťové rozhraní a/nebo port, který bude použit pro naslouchání. Výchozí hodnota je '5044', pro naslouchání na tcp/5044.

Volitelný atribut smart může být použit k určení chytré mapy, když je připojen k output:CommLink.

Tip

Protokol používaný pro tuto extrakci se nazývá Lumberjack a ve výchozím nastavení běží na tcp/5044 s volitelným SSL. Třídy zdrojů logů input:Lumberjack:, input:Logstash: a input:Beats: jsou ve skutečnosti synonyma.

Konfigurace SSL

Příchozí SSL je detekováno automaticky.

Následující konfigurační možnosti specifikují SSL připojení:

  • cert: Cesta k SSL certifikátu klienta
  • key: Cesta k soukromému klíči SSL certifikátu klienta
  • password: Heslo k souboru soukromého klíče (volitelné, výchozí: žádné)
  • cafile: Cesta k PEM souboru s certifikátem(y) CA pro ověření SSL serveru (volitelné, výchozí: žádné)
  • capath: Cesta k adresáři s certifikátem(y) CA pro ověření SSL serveru (volitelné, výchozí: žádné)
  • cadata: jeden nebo více PEM-encoded certifikátů CA pro ověření SSL serveru (volitelné, výchozí: žádné)
  • ciphers: SSL šifry (volitelné, výchozí: žádné)
  • dh_params: Parametry výměny klíčů Diffie–Hellman (D-H) (TLS) (volitelné, výchozí: žádné)
  • verify_mode: Jeden z CERT_NONE, CERT_OPTIONAL nebo CERT_REQUIRED (volitelné); pro více informací viz: github.com/TeskaLabs/asab

Příklad konfigurace Beats

Tento zdroj logů může být použit k shromažďování logů pomocí rodiny nástrojů Beats. Beats jsou lehké datové přepravce od Elastic.

Konfigurační úryvek:

output.logstash:
  hosts: ["<collector>:5044"]

Winlogbeat

winlogbeat.yaml
output.logstash:
  hosts: ["<collector>:5044"]

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h

  - name: System
    ignore_older: 72h

  - name: Security
    ignore_older: 72h

  - name: Setup
    ignore_older: 72h

  - name: Microsoft-Windows-Sysmon/Operational
    ignore_older: 72h

  - name: Microsoft-Windows-Windows Defender/Operational
    ignore_older: 72h

  - name: Microsoft-Windows-GroupPolicy/Operational
    ignore_older: 72h

  - name: Microsoft-Windows-TaskScheduler/Operational
    ignore_older: 72h

  - name: Microsoft-Windows-Windows Firewall With Advanced Security/Firewall
    ignore_older: 72h

  - name: Windows PowerShell
    event_id: 400, 403, 600, 800
    ignore_older: 72h

  - name: Microsoft-Windows-PowerShell/Operational
    event_id: 4103, 4104, 4105, 4106
    ignore_older: 72h

  - name: ForwardedEvents
    tags: [forwarded]

logging.to_files: true
logging.files:
  rotateeverybytes: 10485760 # = 10MB

Logy zabezpečení

Ujistěte se, že uživatel, pod kterým služba Winlogbeat běží, má oprávnění k přístupu k Security logům.

Aby to bylo možné, musí být uživatel součástí skupiny Event Log Readers.

Krok za krokem (přes lusrmgr.msc)
  1. Otevřete dialog pro spuštění:

  2. Stiskněte Win + R na klávesnici.

  3. Zadejte lusrmgr.msc a stiskněte Enter.

  4. Přejděte na Skupiny:

  5. V levém panelu klikněte na Groups.

  6. Najděte a otevřete skupinu:

  7. V pravém panelu dvakrát klikněte na Event Log Readers.

  8. Přidejte nového člena:

  9. V okně, které se objeví, klikněte na tlačítko Add....

  10. Vyberte uživatele nebo službu:

  11. V poli Enter the object names to select zadejte jméno uživatele nebo služebního účtu, který chcete přidat.

    • Pro služební účet jako Winlogbeat můžete použít:

    NT SERVICE\Winlogbeat
    
    * Pro běžného místního uživatele jednoduše zadejte uživatelské jméno (např. winlogbeat_user).

  12. Zkontrolujte a potvrďte:

  13. Klikněte na Check Names pro ověření vstupu.

  14. Klikněte na OK pro potvrzení.

  15. Použijte a zavřete:

  16. Klikněte na Apply a poté na OK, abyste zavřeli všechna okna.

  17. Restartujte službu Winlogbeat:

  18. Otevřete PowerShell nebo Příkazový řádek jako administrátor.

  19. Spusťte:

    Restart-Service winlogbeat
    

Filebeat

filebeat.yaml
output.logstash:
  hosts: ["<collector>:5044"]

filebeat.inputs:
  - type: filestream
    fields:
      stream: <stream name>
    paths:
      - /path/to/the/file.log

Tip

<stream name> je například my-app-log. Nemusíte zahrnovat nájemce nebo jakýkoli jiný prefix.

Microsoft DHCP

filebeat.yaml
output.logstash:
  hosts: ["<collector>:5044"]

filebeat.inputs:

  # Microsoft DHCP IPv4
  - type: filestream
    id: microsoft-dhcp-ipv4
    fields:
      stream: microsoft-dhcp-filebeat-v1
    prospector.scanner.fingerprint:
      enabled: true
      offset: 1780
      length: 64
    file_identity.fingerprint: ~
    paths:
      - C:\Windows\System32\DHCP\DhcpSrvLog-*.log
    include_lines:
      - "^[0-9]+,"

  # Microsoft DHCP IPv6
  - type: filestream
    id: microsoft-dhcp-ipv6
    fields:
      stream: microsoft-dhcp-filebeat-v1
    prospector.scanner.fingerprint:
      enabled: true
      offset: 1238
      length: 64
    file_identity.fingerprint: ~
    paths:
      - C:\Windows\System32\DHCP\DhcpV6SrvLog-*.log
    include_lines:
      - "^[0-9]+,"

Microsoft DNS

filebeat.yaml
output.logstash:
  hosts: ["<collector>:5044"]

filebeat.inputs:
  # Microsoft DNS Debug Log
  - type: filestream
    id: microsoft-dns
    fields:
      stream: microsoft-dns-filebeat-v1
    prospector.scanner.fingerprint:
      enabled: true
      offset: 1052
      length: 64
    file_identity.fingerprint: ~
    paths:
      - C:\Windows\System32\dns\debug.log
    include_lines:
      - "^[0-9]+[/-:][0-9]+"

Microsoft IIS

filebeat.yaml
output.logstash:
  hosts: ["<collector>:5044"]

filebeat.inputs:
  # Microsoft IIS log
  - type: filestream
    id: microsoft-iis
    fields:
      stream: microsoft-iis-filebeat-v1
    prospector.scanner.fingerprint:
      enabled: true
      offset: 1052
      length: 64
    file_identity.fingerprint: ~
    paths:
      - C:\inetpub\logs\LogFiles\W3SVC*\*.log