Visual Studio se doma zažene normalno, nato se isti prenosnik poveže s korporacijskim tunelom in vsak zagon pol minute stoji na začetnem zaslonu. Odstranite pravilnik in zamik izgine z njim; odstranite tunel in zgodi se isto. Obe opažanji sta pravilni, zato se obe komponenti nenehno obtožujeta. Odločilno vprašanje je, ali poizvedba o preklicu certifikata čaka na pot, ki jo ponuja le tunel, ali je sploh ne najde.

Merite pridobivanje, ne zagona

Pravilnik WDAC, nameščen kot podpisan SiPolicy.p7b, odloča, katere slike se smejo izvajati na stroju. Celovitost kode pred izvajanjem preveri verigo podpisov slike, to preverjanje pa lahko vključuje vprašanje o preklicu. Odgovor je odvisen od distribucijske točke CRL ali odzivnika OCSP, ki ga certifikat navaja v sebi.

To so običajne omrežne zahteve, zato je njihov strošek odvisen od tega, kje je odzivnik. Ko je dosegljiv le prek tunela, ali se njegovo ime razreši le prek strežnika DNS za tunelom, preverjanje čaka, da je tunel pripravljen. Visual Studio ob zagonu naloži veliko podpisanih sestavov in razširitev, majhen zamik na sliko pa postane vidna zaustavitev. Nič ni pokvarjeno in pravilnik se obnaša natanko tako, kot je konfiguriran, zato se zdi, da odstranitev pravilnika odpravi težavo.

Vsaka podpisana slika lahko sproži omrežni klic

Začnite s podpisano binarno datoteko, ki je že na disku, in prosite platformo, da jo preveri z enakim vedenjem pridobivanja, kot ga uporablja zagon. Ukaz zaženite enkrat v tunelu in enkrat zunaj njega, nato primerjajte vrstice pridobivanja namesto končne sodbe.

certutil -verify -urlfetch C:\Tools\Contoso.Editor.dll
nslookup ocsp.contoso.example
Test-NetConnection ocsp.contoso.example -Port 80

Izhod navaja verigo, naslove CRL in OCSP ter ali je bilo vsako pridobivanje uspešno. Odzivnik, ki v tunelu poteče in zunaj njega odgovori, je dokaz, ki ga potrebujete, in tehta veliko več kot vtis o počasnosti. Če pridobivanje uspe počasi, zapišite naslov, da bo naslednji korak lahko preizkusil tega gostitelja neposredno.

Razrešite ime gostitelja odzivnika in preizkusite dosegljivost zunaj aplikacije, ker imena, ki se ne razreši, ne bo nikoli popravila nobena nastavitev odjemalca. Operativni dnevnik CodeIntegrity priskrbi drugo polovico dokaza in poveže dogodek preverjanja s časovnim žigom počasnega zagona.

Skrajšajte zamik, ne da bi odstranili nadzor

Onemogočanje pravilnika ali preklop v način revizije odpravi zamik in odstrani nadzor, ki ga je uvedla organizacija, zato to obravnavajte kot napačno popravilo. Ožje možnosti so sprememba usmerjanja, da je odzivnik dosegljiv prek tunela, izjema v razdeljenem tunelu za gostitelje odzivnika, popravek DNS, ko se ime razreši v nedosegljiv naslov, ali podprt predpomnilniški posrednik za podatke o preklicu. Vsaka ima drugega lastnika: ekipa PKI ima dosegljivost odzivnika, omrežna ekipa delitev tunela, ekipa končnih točk pa pravilnik.

Izključitev vsakega gostitelja preklica iz tunela ni samodejno varna, saj je lahko notranji odzivnik notranji namerno. Potrdite izjemo z ekipo, ki upravlja PKI, preden napišete pravilo, ki tiho pošilja preverjanja certifikatov v javni internet. Sprememba brez te potrditve je tista, ki se ob naslednji osvežitvi pravilnika razveljavi.

Po spremembi preverite hladen zagon

Izmerite hladen zagon v obeh stanjih in obdržite številke, ker topel zagon po shranjevanju sestavov v predpomnilnik skoraj ničesar ne dokaže. Ponovite zagon iz nove seje, da se pot nalaganja razširitev znova preizkusi.

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

Popravljena konfiguracija še vedno kontaktira odzivnik ali uporablja predpomnilniško pot, ki jo je odobrila vaša ekipa PKI, dnevnik pa kaže, da se preverjanje zaključi, namesto da poteče. Potrdite, da se na novo podpisana aplikacija še vedno zažene, ker pravilnik, ki dovoli vse, ni uspešno popravilo. Preverite tudi mapo aktivnega pravilnika in stanje uveljavljanja, da bo znano, da je pravilnik, ki ga odpravljate, tisti, ki deluje. Imajte verigo certifikatov, naslov odzivnika in čase zagona v isti prijavi, ker podaljšanje običajno premakne odzivnik in pusti pravilo izjeme ali DNS zastarelo.

Sorodni članki