Visual Studio begin tuis normaalweg werk, maar wanneer dieselfde skootrekenaar by die korporatiewe tonnel aansluit, wag elke bekendstelling halfminuut lank op die splash-skerm. Haal die beleid weg en die oponthoud verdwyn saam daarmee; haal die tonnel weg en dieselfde ding gebeur. Albei waarnemings is akkuraat, en daarom kry die twee komponente altyd die skuld vir mekaar. Die beslissende vraag is of ’n sertifikaatherroepingsnavraag wag op ’n pad wat net die tonnel bied, of glad nie een kan vind nie.

Meet die ophaal, nie die bekendstelling nie

’n WDAC-beleid, wat as ’n ondertekende SiPolicy.p7b, ontplooi is, besluit watter beelde op die masjien mag loop. Kode-integriteit valideer die handtekeningketting van ’n beeld voordat dit uitgevoer word, en daardie validering kan ’n herroepingsvraag insluit. Die antwoord hang af van die CRL-verspreidingspunt of die OCSP-responder wat die sertifikaat daarin noem.

Dit is gewone netwerkversoeke, so hul koste hang af van waar die responder woon. Wanneer dit net deur die tonnel bereikbaar is, of sy naam net deur ’n DNS-bediener agter die tonnel opgelos word, wag validering tot die tonnel gereed is. Visual Studio laai tydens die begin ’n groot aantal ondertekende samestellings en uitbreidings, en ’n klein vertraging per beeld word ’n sigbare oponthoud. Niks is verkeerd gevorm nie en die beleid werk presies soos gekonfigureer, en daarom lyk dit asof die verwydering van die beleid dit regstel.

Elke ondertekende beeld kan ’n netwerkoproep aktiveer

Begin met ’n ondertekende binêre lêer wat reeds op die skyf is en vra die platform om dit te verifieer met dieselfde ophaalgedrag wat ’n bekendstelling gebruik. Voer die opdrag een keer op die tonnel en een keer daarbuite uit, en vergelyk dan die ophaallyne eerder as die finale uitspraak.

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

Die uitvoer lys die ketting, die CRL- en OCSP-adresse, en of elke ophaal geslaag het. ’n Responder wat op die tonnel uittyd en daarbuite antwoord, is die bewys wat jy nodig het, en dit weeg baie swaarder as ’n indruk van stadigheid. As die ophaal stadig slaag, noteer die adres sodat die volgende stap daardie gasheer direk kan toets.

Los die responder-gasheer op en toets bereikbaarheid buite die toepassing, want ’n naam wat nie opgelos kan word nie, sal nooit deur ’n kliëntinstelling reggemaak word nie. Die CodeIntegrity-operasionele log lewer die ander helfte van die bewys en verbind ’n valideringsgebeurtenis met die tydstempel van die stadige bekendstelling.

Verklein die vertraging sonder om die beheer te verwyder

Om die beleid te deaktiveer of na ouditmodus te skakel, laat die vertraging verdwyn en verwyder die beheer wat die organisasie ontplooi het, so beskou dit as die verkeerde herstelling. Die smaller opsies is ’n roeteverandering sodat die responder deur die tonnel bereikbaar is, ’n uitsluiting in die split-tonnel vir die responder-gashere, ’n DNS-regstelling wanneer die naam na ’n onbereikbare adres oplos, of ’n ondersteunde kasproksi vir herroepingsdata. Elkeen het ’n ander eienaar: die PKI-span besit responder-bereikbaarheid, die netwerkspan besit die tonnelverdeling, en die eindpuntspan besit die beleid.

Dit is nie outomaties veilig om elke herroepingsgasheer uit die tonnel te sluit nie, want ’n interne responder kan doelbewus intern wees. Bevestig die uitsluiting met die span wat die PKI bedryf voordat jy ’n reël skryf wat sertifikaattoetse stilweg na die publieke internet stuur. ’n Verandering sonder daardie bevestiging is die soort wat by die volgende beleidsverfrissing teruggedraai word.

Verifieer ’n koue begin ná die verandering

Meet ’n koue begin in albei toestande en hou die syfers dop, want ’n warm begin bewys byna niks sodra die samestellings gekas is. Herhaal die bekendstelling vanuit ’n vars sessie sodat die uitbreidingslaaipad weer geoefen word.

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

’n Herstelde konfigurasie kontak steeds die responder, of gebruik ’n kaspaad wat jou PKI-span goedgekeur het, en die log wys dat validering voltooi word eerder as om uit te tyd. Bevestig dat ’n nuut ondertekende toepassing steeds begin, want ’n beleid wat alles toelaat, is nie ’n suksesvolle herstelling nie. Kontroleer ook die Active-beleidsgids en die handhawingstatus, sodat die beleid wat jy ontfout, bekend is as die een wat loop. Hou die sertifikaatketting, die responder-adres en die bekendstellingstye in dieselfde kaartjie, want ’n hernuwing skuif gewoonlik die responder en laat die uitsluiting of DNS-reël verouder.

Verwante artikels