Visual Studio pomalé len cez VPN? Skontrolujte CRL a OCSP
Keď je vynútená zásada WDAC, jedno pomalé spustenie môže byť dopyt na odvolanie, nie tunel. Dokážte, ktorý krok blokuje, skôr než zásadu uvoľníte.
Visual Studio sa doma spúšťa normálne, potom sa ten istý notebook pripojí ku korporátnemu tunelu a každé spustenie pol minúty visí na úvodnej obrazovke. Odstráňte zásadu a meškanie zmizne s ňou; odstráňte tunel a stane sa to isté. Obe pozorovania sú správne, a preto sa obe komponenty navzájom obviňujú. Rozhodujúca otázka je, či dopyt na odvolanie certifikátu čaká na cestu, ktorú poskytuje len tunel, alebo žiadnu nenachádza.
Merajte stiahnutie, nie spustenie
Zásada WDAC, nasadená ako podpísaný SiPolicy.p7b, rozhoduje, ktoré obrazy sa smú na počítači spustiť. Integrita kódu overuje reťazec podpisov obrazu pred spustením a toto overenie môže zahŕňať otázku odvolania. Odpoveď závisí od distribučného bodu CRL alebo respondéra OCSP, ktorý certifikát uvádza v sebe.
Sú to bežné sieťové požiadavky, takže ich cena závisí od toho, kde respondér sídli. Keď je dostupný len cez tunel, alebo jeho názov sa prekladá len cez DNS server za tunelom, overenie čaká, kým bude tunel pripravený. Visual Studio pri spustení načítava veľké množstvo podpísaných zostáv a rozšírení a malé oneskorenie na obraz sa stáva viditeľným zaseknutím. Nič nie je poškodené a zásada sa správa presne tak, ako je nakonfigurovaná, a preto sa zdá, že odstránenie zásady problém opraví.
Každý podpísaný obraz môže vyvolať sieťové volanie
Začnite s podpísaným binárnym súborom, ktorý už je na disku, a požiadajte platformu, aby ho overila s rovnakým správaním stiahnutia, aké používa spustenie. Spustite príkaz raz v tuneli a raz mimo neho, potom porovnajte riadky stiahnutia namiesto konečného verdiktu.
certutil -verify -urlfetch C:\Tools\Contoso.Editor.dll
nslookup ocsp.contoso.example
Test-NetConnection ocsp.contoso.example -Port 80
Výstup uvádza reťazec, adresy CRL a OCSP a to, či každé stiahnutie uspelo. Respondér, ktorý v tuneli vyprší a mimo neho odpovie, je dôkaz, ktorý potrebujete, a váži oveľa viac než dojem z pomalosti. Ak stiahnutie uspeje pomaly, poznamenajte adresu, aby ďalší krok mohol tento hostiteľ otestovať priamo.
Preložte názov hostiteľa respondéra a otestujte dostupnosť mimo aplikácie, pretože názov, ktorý sa nepreloží, nikdy neopraví žiadne nastavenie klienta. Operatívny protokol CodeIntegrity dodáva druhú polovicu dôkazu a spája udalosť overenia s časovou pečiatkou pomalého spustenia.
Skráťte meškanie bez odstránenia kontroly
Vypnutie zásady alebo prepnutie do režimu auditu odstráni meškanie a odoberie kontrolu, ktorú organizácia nasadila, takže to považujte za nesprávnu opravu. Užšie možnosti sú zmena smerovania, aby bol respondér dostupný cez tunel, výnimka v rozdelenom tuneli pre hostiteľov respondéra, oprava DNS, keď sa názov preloží na nedostupnú adresu, alebo podporovaný kešovací proxy pre údaje o odvolaní. Každá má iného vlastníka: tím PKI vlastní dostupnosť respondéra, sieťový tím vlastní rozdelenie tunela a tím koncových bodov vlastní zásadu.
Vylúčenie každého hostiteľa odvolania z tunela nie je automaticky bezpečné, pretože interný respondér môže byť interný zámerne. Potvrďte výnimku s tímom, ktorý prevádzkuje PKI, skôr než napíšete pravidlo, ktoré ticho posiela kontroly certifikátov na verejný internet. Zmena vykonaná bez tohto potvrdenia je tá, ktorá sa pri ďalšej obnove zásady vráti.
Po zmene overte studený štart
Zmerajte studený štart v oboch stavoch a čísla si ponechajte, pretože teplý štart po uložení zostáv do vyrovnávacej pamäte takmer nič nedokazuje. Zopakujte spustenie z novej relácie, aby sa cesta načítania rozšírení znova precvičila.
Get-WinEvent -LogName Microsoft-Windows-CodeIntegrity/Operational -MaxEvents 40 |
Where-Object { $_.TimeCreated -gt (Get-Date).AddMinutes(-10) }
Get-ChildItem C:\Windows\System32\CodeIntegrity\CiPolicies\Active
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
Opravená konfigurácia stále kontaktuje respondéra alebo používa kešovaciu cestu schválenú vaším tímom PKI a protokol ukazuje, že overenie sa dokončuje namiesto toho, aby vypršalo. Potvrďte, že novo podpísaná aplikácia sa stále spúšťa, pretože zásada, ktorá povoľuje všetko, nie je úspešná oprava. Skontrolujte aj priečinok aktívnej zásady a stav presadzovania, aby bolo známe, že ladená zásada je tá, ktorá beží. Udržujte reťazec certifikátov, adresu respondéra a časy spustenia v tom istom tikete, pretože obnova zvyčajne presúva respondéra a necháva pravidlo výnimky alebo DNS zastarané.