WEC/WEF autentizace pomocí HTTPS¶
Autentizace WEC poskytuje alternativu k Kerberos pomocí HTTPS a příslušných SSL certifikátů. Tato metoda vyžaduje, aby TeskaLabs LogMan.io Collector poskytoval HTTPS server na portu tcp/5986
. Tato autentizační metoda funguje bez Microsoft Active Directory. Jedná se o mTLS / vzájemnou TLS autentizaci.
Terminologie
- WEC server je TeskaLabs LogMan.io Collector
- WEC klienti jsou Windows stroje (pracovní stanice, notebooky, servery), které posílají události (logy) do TeskaLabs LogMan.io Collector
Kroky¶
1) Získání certifikátu CA
Warning
Potřebujete certifikační autoritu (CA), abyste implementovali tuto autentizační metodu. MŮŽETE použít svou stávající CA, pokud je k dispozici, nebo můžete použít open-source nástroj XCA. V příkladech níže používáme XCA.
Získejte certifikát CA ve formátu PEM a uložte ho jako ca_cert.pem
na svůj počítač.
Použití XCA k vytvoření certifikační autority
- Otevřete nástroj XCA a vytvořte novou databázi s názvem
lmio_wec_ca.xdb
- Nastavte heslo pro tuto databázi.
- Přejděte na "Certifikáty" > "Nový certifikát"
- Z "Šablony pro nový certifikát" vyberte "[default] CA" a stiskněte "Použít vše"
- Na kartě "Subjekt" vyplňte "Obvyklé jméno" jako "LogMan.io WEC CA"
- Stiskněte tlačítko "Vygenerovat nový klíč", vyberte "RSA" a "4096 bit", stiskněte "Vytvořit"
- Nastavte platnost certifikátu CA na 10 let nebo více
- Stiskněte "OK" pro vytvoření certifikátu CA
- Vyberte nový certifikát CA v seznamu certifikátů a stiskněte "Exportovat"
- Exportujte jako "ca_cert.pem", formát exportu je "PEM (*.crt)", neexportujte soukromý klíč.
Doporučený obsah certifikátu CA:
- X509v3 Základní omezení: CA:TRUE kritické
- X509v3 Identifikátor klíče subjektu: Přítomný
- X509v3 Použití klíče: Podepisování certifikátů, Podepisování CRL
2) Vygenerování certifikátu pro collectora
Spusťte následující příkazy na collectoru pro vygenerování soukromého klíče /conf/wec/collector_key.pem
a CSR /conf/wec/collector_csr.pem
:
$ mkdir /conf/wec
$ openssl req -new \
-newkey rsa:4096 -nodes -keyout /conf/wec/collector_key.pem \
-out /conf/wec/collector_csr.pem -subj "/CN=<hostname nebo IP collectora>"
$ cat /conf/wec/collector_csr.pem
Note
Soukromý klíč collectora je RSA 4096.
Použijte CA z kroku 1 k schválení CSR a vygenerování nového certifikátu pro collectora.
Povinný obsah certifikátu collectora:
- Obvyklé jméno (CN) musí být funkční hostname nebo IP adresa collectora
- X509 v3 Rozšířené použití klíče: "TLS Web Server Authentication"
Doporučený dodatečný obsah certifikátu collectora:
- Platnost certifikátu collectora je jeden rok
- X509v3 Základní omezení CA:FALSE kritické
- X509v3 Identifikátor klíče subjektu: Přítomný
- X509v3 Identifikátor klíče autority: Přítomný
- X509v3 Použití klíče: Digitální podpis, Nepopření, Šifrování klíče, Dohoda o klíči
- X509v3 Alternativní jméno subjektu: DNS:
<hostname nebo IP collectora>
Uložte certifikát do collectora ve formátu PEM do /conf/wec/collector_cert.pem
Danger
Obvyklé jméno (CN) musí být rozpoznatelné v rámci Windows sítě přes DNS. Doporučujeme používat hostname místo IP adresy.
Danger
Musíte implementovat proces obnovy certifikátu, abyste předešli vypršení platnosti tohoto certifikátu.
Použití XCA k schválení CSR z collectora
- Přejděte na "Žádost o podepsání certifikátu" v XCA.
- Vyberte "Vložit PEM soubor" z menu.
- Vložte obsah
/conf/wec/collector_csr.pem
z výše uvedeného. - Stiskněte tlačítko "Importovat" a zavřete dialog pro import.
- Najděte CSR v seznamu a v kontextovém menu vyberte "Podepsat"
- V "Podepisování" vyberte "Použít tento certifikát pro podepisování" a vyberte svůj certifikát CA.
- V "Šabloně pro nový certifikát" vyberte "[default] TLS_server" a stiskněte "Použít vše"
- Vyberte "OK" pro vygenerování nového certifikátu
- Přepněte na kartu "Certifikáty"
- Najděte nově vytvořený certifikát (pod certifikátem CA)
- Exportujte tento certifikát jako
collector_cert.pem
a uložte ho do/conf/wec/collector_cert.pem
na collectoru
3) Uložení certifikátů do collectora
Vložte obsah ca_cert.pem
z výše, je to textový soubor:
$ cat > /conf/wec/ca_cert.pem
Získejte otisk certifikátu CA pomocí OpenSSL:
$ openssl x509 -in /conf/wec/ca_cert.pem -noout -fingerprint -sha1 | sed 's/://g' | tr 'A-F' 'a-f'
Hint
Otisk certifikátu CA je SHA-1 hash v hexadecimálním formátu (tj. 99d529ce1e01845c40789b77000975a420c61f1a
).
Můžete ho také získat z XCA.
Odstraňte všechny případné ":" oddělovače.
4) Dokončení konfigurace collectora
Upravte /conf/lmio-collector/lmio-collector.yaml
collectora a přidejte následující sekci:
input:WEC:WECInput:
listen: 5986 ssl
cert: /conf/wec/collector_cert.pem
key: /conf/wec/collector_key.pem
cafile: /conf/wec/ca_cert.pem
issuer_thumbprints: "<otisk certifikátu CA, ponechte dvojité uvozovky>"
output: microsoft-windows-events-v1
output:CommLink:microsoft-windows-events-v1: {}
Restartujte nebo restartujte collectora, aby se změny v konfiguraci projevily.
Hint
Můžete upravit output
, aby odráželo požadovaný cíl logů.
Tento příklad používá výchozí výstup collectora do centrálního log managementu přes commlink (websocket).
5) Vygenerování certifikátu pro Windows stroj(e)
Vytvořte certifikát a soukromý klíč pro každý Windows stroj. Tento certifikát musí být vydán certifikační autoritou z kroku 1. Uložte nový certifikát a jeho soukromý klíč do souboru .pfx
(PKCS#12), chráněného heslem.
Povinný obsah certifikátu Windows stroje:
- X509 v3 Rozšířené použití klíče: "TLS Web Client Authentication"
Doporučený dodatečný obsah certifikátu collectora:
- Platnost certifikátu je jeden rok
- X509v3 Základní omezení CA:FALSE kritické
- X509v3 Identifikátor klíče subjektu: Přítomný
- X509v3 Identifikátor klíče autority: Přítomný
- X509v3 Použití klíče: Digitální podpis, Šifrování klíče, Šifrování dat, Dohoda o klíči
Použití XCA k vytvoření .pfx souboru
- Přejděte na kartu "Certifikáty"
- Stiskněte "Nový certifikát"
- V "Podepisování" vyberte "Použít tento certifikát pro podepisování" a vyberte svůj certifikát CA.
- V "Šabloně pro nový certifikát" vyberte "[default] TLS_client" a stiskněte "Použít vše"
- Na kartě "Subjekt" vyplňte "commonName" názvem příslušného Windows stroje
- Vyberte "Vygenerovat nový klíč"
- Nastavte "RSA" a 2048 bit, stiskněte "Vytvořit" pro vygenerování nového klíče
- Stiskněte "OK" pro vygenerování nového certifikátu
- Najděte nový certifikát v seznamu certifikátů a stiskněte "Exportovat"
- Vyberte "Formát exportu" jako "PKCS #12 chain (*.pfx)" a stiskněte "OK"
- Nastavte heslo pro exportovaný
.pfx
soubor.
6) Konfigurace Windows stroje(ů)
Importujte .pfx
soubor s certifikátem a soukromým klíčem Windows stroje:
Začněte kliknutím pravým tlačítkem na .pfx
soubor a vyberte "Nainstalovat PFX".
To otevře Průvodce importem certifikátu.
Vyberte "Místní počítač" a stiskněte "Další".
Ověřte název souboru, který má být importován, a stiskněte "Další".
Zadejte heslo, které chrání .pfx
soubor, a stiskněte "Další".
Nechte systém rozhodnout o umístění úložiště certifikátů. Stiskněte "Další".
Proveďte konečné zhodnocení a stiskněte "Dokončit" pro dokončení procesu importu.
Danger
Bezpečně odstraňte .pfx
soubor po dokončení importu.
Importovaný certifikát musí být čitelný uživatelským účtem NT_AUTHORITY\NetworkService
:
Stiskněte Win + R, zadejte certlm.msc
a stiskněte Enter.
Najděte importovaný certifikát. Přejděte na Certifikáty (Místní počítač) > Osobní > Certifikáty. Najděte certifikát, který jste právě importovali.
Klikněte pravým tlačítkem na certifikát a vyberte Všechny úkoly > Spravovat soukromé klíče. Stiskněte tlačítko "Přidat ..." na kartě "Zabezpečení".
Zadejte "NETWORK SERVICE" a stiskněte "OK" a poté další "OK"
Hodnota pro politiku WEF je následující:
Server=https://<hostname nebo IP collectora>:5986/wsman/SubscriptionManager/WEC,Refresh=60,IssuerCA=<Otisk certifikátu CA>
Pokračujte k nastavení Globální politiky nebo Místní politiky.
7) Otestujte konfiguraci
Na Windows stroji spusťte následující příkaz a ověřte příjem logu v TeskaLabs LogMan.io.
eventcreate /Id 500 /D "Toto je testovací zpráva pro WEC" /T ERROR /L System
Řešení problémů¶
Důvěryhodné hostitele¶
Collector musí být přidán do Důvěryhodných hostitelů, aby WinRM povolil WEC/WEF komunikaci:
winrm set winrm/config/client '@{TrustedHosts="<hostname nebo IP collectora>"}'