Přeskočit obsah

Sběr z Microsoft Windows pomocí WEC/WEF

Bezagentový Windows Event Collector (WEC) odesílá logy z Windows počítačů přes službu Windows Event Forwarding (WEF) do TeskaLabs LogMan.io Collector. TeskaLabs LogMan.io Collector poté funguje jako Windows Event Collector (WEC). Konfiguraci WEF lze nasadit pomocí Group Policy, buď centrálně spravovanou serverem Active Directory nebo pomocí Local Group Policy. S Active Directory nejsou na jednotlivých Windows strojích potřeba žádné další konfigurační požadavky.

TeskaLabs LogMan.io Collector pro WEC/WEF

Schéma: Tok událostí sběru WEC/WEF v TeskaLabs LogMan.io.

Předpoklady

  • Microsoft Active Directory Domain Controller, v tomto příkladu poskytuje doménové jméno domain.int / DOMAIN.int
  • TeskaLabs LogMan.io Collector, v tomto příkladu s IP adresou 10.0.2.101 a hostitelským jménem lmio-collector, běží ve stejné síti jako Windows počítače včetně Active Directory
  • IP adresa TeskaLabs LogMan.io Collector MUSÍ být fixní (tj. rezervovaná DHCP serverem)
  • Datum a čas TeskaLabs LogMan.io Collector MUSÍ být synchronizovány pomocí NTP
  • TeskaLabs LogMan.io Collector BY MĚL používat DNS server Active Directory
  • TeskaLabs LogMan.io Collector MUSÍ být schopen vyřešit hostitelská jména serverů doménových kontrolerů Active Directory
  • TeskaLabs LogMan.io Collector MUSÍ být schopen dosáhnout na udp/88 a tcp/88 porty (autentizace Kerberos verze 5) na Microsoft Active Directory Domain Controller, příslušný KDC
  • Všechny Windows stanice a servery MUSÍ být schopny dosáhnout na TeskaLabs LogMan.io Collector's tcp/5985 a tcp/5986 pro WEF a udp/88, tcp/88 (autentizace Kerberos) porty

Tip

Toto nastavení využívá autentizaci Kerberos. Autentizace Kerberos používá Kerberos tickety specifické pro doménu Active Directory vydávané doménovým kontrolerem pro autentizaci a šifrování přeposílání logů. Je to optimální volba pro Windows počítače, které jsou spravovány prostřednictvím domény.

Active Directory

1.1. Vytvoření nového uživatele v Active Directory

Projděte Windows Administrative Tools > Active Directory Users and Computers > DOMAIN.int > Users

Přidání uživatele do Active Directory

Klikněte pravým tlačítkem a vyberte New > User

Zadejte následující informace:

  • Full name: TeskaLabs LogMan.io
  • User logon name: lmio-collector

Warning

Přihlašovací jméno uživatele musí být stejné jako jméno počítače TeskaLabs LogMan.io Collector. Najdete ho na obrazovce nastavení TeskaLabs LogMan.io collector.

Přidání uživatele do Active Directory

Klikněte na "Next".

Nastavte heslo pro uživatele. Tento příklad používá Password01!.

Warning

Použijte silné heslo podle vaší politiky. Toto heslo bude použito v pozdějším kroku tohoto postupu.

Odškrtněte "User must change password at next logon".

Zaškrtněte "Password never expires".

Přidání uživatele do Active Directory

Klikněte na Next a poté na tlačítko Finish pro vytvoření uživatele.

Nakonec klikněte pravým tlačítkem na nového uživatele, klikněte na Properties a otevřete záložku Account.

Přidání uživatele do Active Directory

  • Zaškrtněte "This account supports Kerberos AES 128 bit encryption".
  • Zaškrtněte "This account supports Kerberos AES 256 bit encryption".

Přidání uživatele do Active Directory

Nový uživatel lmio-collector je nyní připraven.

1.2. Vytvoření A záznamu v DNS serveru pro TeskaLabs LogMan.io Collector

Použití DHCP pro rezervaci IP adresy kolektoru

Pevná IP adresa MUSÍ být přidělena TeskaLabs LogMan.io Collector. To může být provedeno "rezervováním" IP adresy v DHCP serveru Active Directory.

Nastavení DNS záznamu pro kolektor

Projděte Windows Administrative Tools > DNS > Forward Lookup Zones > DOMAIN.int

Klikněte pravým tlačítkem a vyberte "New Host (A or AAAA)…"

Nastavení DNS záznamu pro kolektor

Přidejte záznam s názvem lmio-collector a IP adresou 10.0.2.101. Upravte tento záznam podle IP adresy vašeho TeskaLabs LogMan.io Collector.

Nastavení DNS záznamu pro kolektor

Klikněte na tlačítko Add Host pro dokončení.

Nastavení DNS záznamu pro kolektor

Tip

Nastavení DNS můžete ověřit pomocí příkazu ping.

Přidání uživatele do Active Directory

1.3. Vytvoření hostitelského principálu

Vytvořte hostitelský principál a přidružený keytab soubor pro hostitele TeskaLabs LogMan.io Collector. Spusťte následující příkaz na příkazovém řádku serveru Active Directory Domain Controller (cmd.exe):

ktpass /princ host/lmio-collector.domain.int@DOMAIN.INT /pass Password01! /mapuser DOMAIN\lmio-collector -pType KRB5_NT_PRINCIPAL /out host-lmio-collector.keytab /crypto AES256-SHA1

Proces je citlivý na velikost písmen

Ujistěte se, že jste KAPITALIZOVALI vše, co je kapitalizováno v našich příkladech (například host/lmio-collector.domain.int@DOMAIN.INT). Musí být KAPITALIZOVÁNO i v případě, že vaše doména obsahuje malá písmena.

Vytvoření hostitelského keytab

Keytab soubor host-lmio-collector.keytab je vytvořen.

1.4. Vytvoření http principálu

Vytvořte servisní principál a přidružený keytab soubor pro službu:

ktpass /princ http/lmio-collector.domain.int@DOMAIN.INT /pass Password01! /mapuser DOMAIN\lmio-collector -pType KRB5_NT_PRINCIPAL /out http-lmio-collector.keytab /crypto AES256-SHA1

Vytvoření http keytab

Keytab soubor http-lmio-collector.keytab je vytvořen.

1.5. Sběr keytab souborů ze serveru Windows

Sesbírejte dva keytab soubory z výše uvedených kroků. Nahrajete je do TeskaLabs LogMan.io v pozdějším kroku.

Skupinové politiky

2.1. Otevřete konzoli pro správu skupinových politik

Projděte Windows Administrative Tools > Group Policy Management, vyberte svou doménu, v tomto příkladu DOMAIN.int.

Otevřete konzoli pro správu skupinových politik

2.2. Vytvoření objektu skupinové politiky

V konzoli správy skupinových politik vyberte svou doménu, například DOMAIN.int. Klikněte pravým tlačítkem na doménu a vyberte "Create a GPO in this domain, and Link it here....

Nastavení politik Active Directory

Zadejte název nového GPO, "TeskaLabs LogMan.io Windows Event Forwarding", poté vyberte OK.

Nastavení politik Active Directory

2.3. Konfigurace objektu skupinové politiky

Nové GPO je vytvořeno a připojeno k vaší doméně. Pro konfiguraci nastavení politiky klikněte pravým tlačítkem na vytvořené GPO a vyberte "Edit...".

Nastavení politik Active Directory

Otevře se "Group Policy Management Editor" pro přizpůsobení GPO.

Nastavení politik Active Directory

2.4. Konfigurace politiky přeposílání událostí v sekci Konfigurace počítače

V "Group Policy Management Editor" projděte Computer Configuration > Policies > Administative Templates > Windows Components a vyberte Event Forwarding.

Nastavení politik Active Directory

Vyberte "Configure target Subscription Manager".

Nastavení politik Active Directory

Povolte nastavení a vyberte Show.

Nastavení politik Active Directory

Vyplňte umístění TeskaLabs LogMan.io Collector:

Server=http://lmio-collector.domain.int:5985/wsman/SubscriptionManager/WEC,Refresh=60

Nastavení politik Active Directory

Stiskněte OK pro uložení nastavení.

Nastavení politik Active Directory

2.5. Použití

Spusťte gpupdate /force v cmd.exe na serveru Windows.

Spusťte gpupdate

Bezpečnostní log

WEF nemůže přistupovat k bezpečnostnímu logu Windows ve výchozím nastavení. Pro povolení přeposílání bezpečnostního logu přidejte Network Service do WEF.

Tip

Bezpečnostní log Windows je nejdůležitějším zdrojem informací o kybernetické bezpečnosti a musí být nakonfigurován.

3.1. Otevřete konzoli pro správu skupinových politik

Projděte Windows Administrative Tools > Group Policy Management, vyberte svou doménu, v tomto příkladu DOMAIN.int.

Nastavení politik Active Directory

Klikněte pravým tlačítkem a vyberte "Edit...".

Nastavení politik Active Directory

Projděte Computer Configuration > Administrative Templates > Windows Components > a vyberte Event Log Service.

Nastavení politik Active Directory

Potom vyberte Security.

Nastavení politik Active Directory

Vyberte Configure log access.

Nastavení politik Active Directory

3.2. Nastavení přístupu k logu

Do pole "Log Access" zadejte:

O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;S-1-5-20)

Vysvětlení

  • O:BA: Určuje, že vlastníkem objektu je Built-in Administrators group.
  • G:SY: Určuje, že primární skupina je SYSTEM.
  • D:: Označuje, že následující část definuje Discretionary Access Control List (DACL).

  • Built-in Administrators (BA): Oprávnění pro čtení a zápis.

  • SYSTEM (SY): Plná kontrola s oprávněními pro čtení a zápis a speciální oprávnění pro správu logů událostí.
  • Builtin\Event Log Readers (S-1-5-32-573): Oprávnění pouze pro čtení.
  • Network Service (S-1-5-20): Oprávnění pouze pro čtení.

Nastavení politik Active Directory

Stiskněte OK.

3.3. Použití

Spusťte gpupdate /force v cmd.exe na serveru Windows.

Spusťte gpupdate

Odstraňování problémů

Uživatel Network Service musí být součástí skupiny Event Log Readers, aby měl přístup k bezpečnostním logům.

Postupujte podle těchto kroků pro konfiguraci přístupu:

  1. Otevřete příkazový řádek RUN pomocí Windows Key + R

  2. Zadejte pro otevření Místního správce uživatelů: lusrmgr.msc (pro edici Windows Home použijte gpedit.msc)

  3. Otevřete: Skupiny

  4. Vyberte: Event Log Readers

  5. Přidejte uživatele NT AUTHORITY\NETWORK SERVICE

    • Klikněte na "Add"
    • Zadejte přesný název: NT AUTHORITY\NETWORK SERVICE
    • Klikněte na "Check Names" pro ověření
  6. Pro autentizaci Kerberos:

    • Přidejte doménový servisní účet (např. DOMAIN\lmio-collector)
    • Pouze pokud používáte doménovou autentizaci
  7. Klikněte na OK pro uložení změn

  8. Otevřete příkazový řádek (cmd.exe) jako správce

  9. Restartujte službu WinRM:

    net stop winrm
    timeout /t 5
    net start winrm
    

Poznámka: Tato konfigurace musí být aplikována na všech počítačích odesílajících bezpečnostní logy. Pro podnikové prostředí použijte nasazení pomocí skupinové politiky místo ruční konfigurace.

Standardní logování

Pro LogMan.io doporučujeme povolit pokročilé auditování a pokročilé nastavení politiky auditu jako standardní způsob nastavení logování Windows. Tento standardní způsob je založen na LogMira nastavení skupinové politiky.

Nahrání XML reportu skupinové politiky přímo

  1. Stáhněte si soubory Group Policy Report.
  2. Otevřete skupinovou politiku TeskaLabs LogMan.io Windows Event Forwarding, kterou jste vytvořili dříve v Group Policy Management Console (gpmc.msc).
  3. Klikněte pravým tlačítkem na politiku a vyberte Import Settings.
  4. V průvodci vyberte umístění, kde byla záloha uložena (pokud již není vybrána).
  5. Klikněte na Next přes kroky, dokud se nezobrazí tlačítko Finish, poté klikněte na Finish pro dokončení importu.

Ruční povolení pokročilého auditování a nastavení politiky auditu

Pokročilé auditování

  • Computer Configuration> Policies> Windows Settings> Security Settings> Local Policies> Security Options
  • Povolit nastavení podkategorií politiky auditu
  • Povolit logování příkazového řádku
  • Velikosti logů událostí
  • Computer Configuration> Policies> Windows Settings> Security Settings> Event Log
  • Nastavte následující hodnoty z tabulky níže:
Property Value
Application Log Size 256k (nebo větší)
Security Log Size Workstations 1,024,000kb (minimálně)
Security Log Size Servers 2,048,000kb (minimálně)
System Log Size 256k (nebo větší)

Pokročilá nastavení politiky auditu

  • Nakonfigurujte pokročilé politiky auditu
  • Computer Configuration> Policies> Windows Settings> Security Settings> Advanced Audit Policy Configuration> Audit Policies
    • Nastavte hodnoty z tabulek níže:
Account Logon Suggested Values
Credential Validation Success and Failure
Kerberos Authentication Service Success and Failure
Kerberos Service Ticket Operations Success and Failure
Other Account Logon Events Success and Failure
Account Management Suggested Values
Application Group Management Success and Failure
Computer Account Management Success and Failure
Distribution Group Management Success and Failure
Other Account Management Events Success and Failure
Security Group Management Success and Failure
User Account Management Success and Failure
Detailed Tracking Suggested Values
DPAPI Activity No Auditing
PNP (Plug and Play) Success
Process Creation Success and Failure
Process Termination No Auditing
RPC Events Success and Failure
Token Right Adjusted Success
DS Access Suggested Values
Detailed Directory Service Replication No Auditing
Directory Service Access No Auditing
Directory Service Changes Success and Failure
Directory Service Replication No Auditing
Logon/Logoff Suggested Values
Account Lockout Success
Group Membership Success
IPsec Extended Mode No Auditing
IPsec Main Mode No Auditing
IPsec Quick Mode No Auditing
Logoff Success
Logon Success and Failure
Network Policy Server Success and Failure
Other Logon/Logoff Events Success and Failure
Special Logon Success and Failure
User / Device Claims No Auditing
Object Access Suggested Values
Application Generated Success and Failure
Central Access Policy Staging No Auditing
Certification Services Success and Failure
Detailed File Share Success
File Share Success and Failure
File System Success
Filtering Platform Connection Success
Filtering Platform Packet Drop No Auditing
Handle Manipulation No Auditing
Kernel Object No Auditing
Other Object Access Events No Auditing
Registry Success
Removable Storage Success and Failure
SAM Success
Policy Change Suggested Values
Audit Policy Change Success and Failure
Authentication Policy Change Success and Failure
Authorization Policy Change Success and Failure
Filtering Platform Policy Change Success
MPSSVC Rule-Level Policy Change No Auditing
Other Policy Change Events No Auditing
Privilege Use Suggested Values
Non Sensitive Privilege Use No Auditing
Other Privilege Use Events No Auditing
Sensitive Privilege Use Success and Failure
System Suggested Values
IPsec Driver Success
Other System Events Failure
Security State Change Success and Failure
Security System Extension Success and Failure
System Integrity Success and Failure
Global Object Access Auditing Suggested Values
File System No Auditing
Registry No Auditing

TeskaLabs LogMan.io

4.1. Konfigurace sběru Microsoft Events

V TeskaLabs LogMan.io přejděte na Log Sources >> Collectors >> váš Collector >> Microsoft Windows.

Konfigurace WEC v TeskaLabs LogMan.io

Vyplňte Realm a FQDN řadiče domény, přidejte keytab soubory pro host a http a stiskněte Apply.

4.2. Sběr logů je nakonfigurován

Konfigurace WEC v TeskaLabs LogMan.io

Řešení problémů

Keytab neobsahuje vhodné klíče

kinit: Keytab contains no suitable keys for http/lmio-collector.domain.int@DOMAIN.INT while getting initial credentials

Chyba znamená, že keytab použitý pro Kerberos autentizaci neobsahuje správné klíče pro zadaný principal.

Možné příčiny: * Nesprávný název principal v příkazu ktpass při vytváření keytab * Nesprávný název principal v konfiguraci kolektoru * Keytab neobsahuje očekávané typy šifrování (AES256, AES128)

Doporučujeme ověřit názvy principal a typy šifrování v příkazu ktpass i v konfiguraci kolektoru a že keytab je správně vygenerován s očekávanými klíči.

Nelze kontaktovat žádný KDC pro realm

kinit: Cannot contact any KDC for realm 'DOMAIN.LOCAL' while getting initial credentials

Chyba znamená, že kolektor nedosáhne na řadič domény Active Directory pro získání Kerberos tiketů.

Možné příčiny:

  • Síťové problémy mezi kolektorem a řadičem domény
  • Nesprávná DNS konfigurace — kolektor nerozpozná hostname řadiče domény
  • Firewall blokuje přístup na řadič domény na porty UDP/TCP 88 (Kerberos)
  • Nesprávný realm nebo FQDN řadiče domény v konfiguraci kolektoru

Lokální doména

Doména .local je rezervovaná. V konfiguraci kolektoru klikněte na Advanced options a vyberte jiné Key Distribution Center (KDC), které kolektor dosáhne, nebo použijte IP adresu řadiče domény místo hostname.

Příkazem nltest /dsgetdc ověřte správný řadič domény a informace o realmu.

Pokročilá témata

Alternativy

Forwarding Event Log

Kanál událostí Eventlog-forwardingPlugin/Operational loguje relevantní informace o strojích nastavených pro přesměrování logů na kolektor. Obsahuje také informace o možných problémech s WEF subscription. Prozkoumejte ho v aplikaci Event Viewer.

Windows Forwarding Event Log

Vysoká dostupnost se dvěma kolektory

Pro vysokou dostupnost můžete nasadit dva LogMan.io Collectory tak, aby Windows stroje přešly z jednoho na druhý bez zdvojení provozu a bez deduplikátoru.

Nastavení:

  • Oba kolektory používají stejné keytaby a stejného AD uživatele (např. lmio-collector).
  • Existuje jeden DNS A záznam a jeden SPN pro toto jméno (např. lmio-collector.domain.int). Jméno resolvuje na obě IP kolektorů přes DNS round-robin; doporučené TTL je 15 minut, aby po opětovném resolvu Windows stroj mohl dostat IP druhého kolektoru.
  • Oba kolektory používají stejné subscription ID ve WEC konfiguraci, aby události nebyly považovány za duplicity při přepnutí stroje mezi kolektory.

Po vypršení DNS TTL se Windows stroj může znovu připojit k druhému kolektoru. Z pohledu Kerberos je to v pořádku: tikety se získávají jednou na stroj; mezi kolektory není konflikt. Úspěšný failover jednotlivých Windows strojů byl pozorován v produkci.

Note

Tento vzor nasazení je jedna z možností HA pro WEF a měl by být monitorován ve vašem prostředí. Při duplicitních událostech nebo problémech s připojením zkontrolujte DNS TTL, subscription ID a konfiguraci kolektorů.

Sběr z více domén

Pro sběr Windows Events z více domén Active Directory je třeba nakonfigurovat Kerberos autentizaci pro každou doménu a sloučit keytab soubory.

Předpoklady

  • Přístup k řadičům domény všech domén, ze kterých chcete sbírat
  • Keytab soubory pro každou doménu (host a http principaly)
  • Možnost upravit Kerberos konfiguraci na kolektoru

Konfigurace kolektoru

Nakonfigurujte WEC vstup v /conf/lmio-collector.yaml:

input:WEC:WECKerberosInput:
  listen: 5985  # Just to be explicit
  output: microsoft-windows-events-v1

output:CommLink:microsoft-windows-events-v1: {}

Konfigurace proměnné prostředí

Kolektor musí mít nastavenou proměnnou prostředí KRB5CCNAME pro adresářový credential cache. Umožní to uložit více Kerberos tiketů (pro každou doménu) současně.

Pro Docker/kontejnerová nasazení přidejte do docker-compose.yaml:

services:
  lmio-collector:
    environment:
      KRB5CCNAME: "DIR:/tmp/krb5cc_wef"

Pro ostatní typy nasazení nastavte proměnnou prostředí před startem služby kolektoru.

Konfigurace Kerberos

Nakonfigurujte /conf/kerberos/krb5.conf pro více domén:

[libdefaults]
    default_realm = DOMAIN2.COM
    dns_lookup_realm = false
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false

[domain_realms]
.DOMAIN1.COM = DOMAIN1.COM
DOMAIN1.COM = DOMAIN1.COM
.DOMAIN2.COM = DOMAIN2.COM
DOMAIN2.COM = DOMAIN2.COM
.domain1.com = DOMAIN1.COM
domain1.com = DOMAIN1.COM
domain2.com = DOMAIN2.COM
.domain2.com = DOMAIN2.COM

[realms]
DOMAIN1.COM = {
    # kdc = domain1.com
    admin_server = domain1.com
}

DOMAIN2.COM = {
        # kdc = domain2.com
        admin_server = domain2.com
}

Tip

Nahraďte DOMAIN1.COM a DOMAIN2.COM skutečnými názvy domén. Sekce domain_realms mapuje názvy domén (bez ohledu na velikost písmen) na realmy. Sekce realms definuje KDC a admin server pro každý realm.

Sloučení keytab souborů

Sloučte keytaby ze všech domén do jednoho souboru pomocí ktutil:

ktutil
ktutil:  rkt /conf/kerberos/domain1-host-lmio-collector.keytab
ktutil:  rkt /conf/kerberos/domain1-http-lmio-collector.keytab
ktutil:  rkt /conf/kerberos/domain2-host-lmio-collector.keytab
ktutil:  rkt /conf/kerberos/domain2-http-lmio-collector.keytab
ktutil:  wkt /conf/kerberos/krb5.keytab
ktutil:  q

Vytvoří se sloučený keytab /conf/kerberos/krb5.keytab se všemi principaly z obou domén.

Inicializace Kerberos tiketů

Inicializujte tikety pro každou doménu:

export KRB5CCNAME=DIR:/tmp/krb5cc_wef
kinit -kt /conf/kerberos/krb5.keytab http/lmio-collector.domain2.com@DOMAIN2.COM
kinit -kt /conf/kerberos/krb5.keytab http/lmio-collector.domain1.com@DOMAIN1.COM

Proč DIR: místo FILE:?

Prefix DIR: určuje adresářový credential cache — více tiketů v samostatných souborech v adresáři. Je to nutné při sběru z více domén; každý kinit vytvoří samostatný soubor tiketu. FILE: by znamenal jeden souborový cache, který drží jen jeden tiket a další kinit by ho přepsal.

Ověřte správnou inicializaci tiketů:

klist -A

Měli byste vidět tikety pro obě domény.

Warning

Cesta k keytab v příkazech kinit musí odpovídat skutečnému umístění sloučeného keytab. Kolektor se musí umět autentizovat do obou domén pomocí sloučeného keytab.

Ruční konfigurace