Visual Studio ਘਰ ਵਿੱਚ ਆਮ ਤਰ੍ਹਾਂ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਫਿਰ ਉਹੀ ਲੈਪਟਾਪ ਕਾਰਪੋਰੇਟ ਟਨਲ ਨਾਲ ਜੁੜਦਾ ਹੈ ਅਤੇ ਹਰ ਲਾਂਚ ਅੱਧਾ ਮਿੰਟ ਸਪਲੈਸ਼ ਸਕਰੀਨ ਉੱਤੇ ਰੁਕਦਾ ਹੈ। ਨੀਤੀ ਹਟਾਓ ਤਾਂ ਦੇਰੀ ਵੀ ਉਸ ਨਾਲ ਚਲੀ ਜਾਂਦੀ ਹੈ; ਟਨਲ ਹਟਾਓ ਤਾਂ ਉਹੀ ਗੱਲ ਹੁੰਦੀ ਹੈ। ਦੋਵੇਂ ਨਿਰੀਖਣ ਸਹੀ ਹਨ, ਇਸ ਲਈ ਦੋਵੇਂ ਭਾਗ ਇੱਕ-ਦੂਜੇ ਨੂੰ ਦੋਸ਼ ਦਿੰਦੇ ਰਹਿੰਦੇ ਹਨ। ਨਿਰਣਾਇਕ ਸਵਾਲ ਇਹ ਹੈ ਕਿ ਕੀ ਸਰਟੀਫਿਕੇਟ ਰੱਦ ਕਰਨ ਦੀ ਪੁੱਛਗਿੱਛ ਉਸ ਰਸਤੇ ਦੀ ਉਡੀਕ ਕਰ ਰਹੀ ਹੈ ਜੋ ਸਿਰਫ਼ ਟਨਲ ਦਿੰਦਾ ਹੈ, ਜਾਂ ਉਸਨੂੰ ਕੋਈ ਰਸਤਾ ਮਿਲਦਾ ਹੀ ਨਹੀਂ।

ਲਾਂਚ ਨਹੀਂ, ਫੈਚ ਦਾ ਸਮਾਂ ਮਾਪੋ

ਇੱਕ WDAC ਨੀਤੀ, ਜੋ ਦਸਤਖ਼ਤ ਕੀਤੀ SiPolicy.p7b ਵਜੋਂ ਤੈਨਾਤ ਹੈ, ਮਸ਼ੀਨ ਉੱਤੇ ਕਿਹੜੀਆਂ ਇਮੇਜ ਚੱਲ ਸਕਦੀਆਂ ਹਨ ਇਹ ਤੈਅ ਕਰਦੀ ਹੈ। ਕੋਡ ਅਖੰਡਤਾ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਇਮੇਜ ਦੀ ਦਸਤਖ਼ਤ ਲੜੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ, ਅਤੇ ਉਸ ਪੁਸ਼ਟੀ ਵਿੱਚ ਰੱਦ ਕਰਨ ਦਾ ਸਵਾਲ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ। ਜਵਾਬ CRL ਵੰਡ ਬਿੰਦੂ ਜਾਂ OCSP ਜਵਾਬਦੇਹ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਜਿਸਦਾ ਨਾਮ ਸਰਟੀਫਿਕੇਟ ਆਪਣੇ ਅੰਦਰ ਦਿੰਦਾ ਹੈ।

ਇਹ ਆਮ ਨੈੱਟਵਰਕ ਬੇਨਤੀਆਂ ਹਨ, ਇਸ ਲਈ ਉਨ੍ਹਾਂ ਦੀ ਲਾਗਤ ਇਸ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿ ਜਵਾਬਦੇਹ ਕਿੱਥੇ ਹੈ। ਜਦੋਂ ਇਹ ਸਿਰਫ਼ ਟਨਲ ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੁੰਦਾ ਹੈ, ਜਾਂ ਇਸਦਾ ਨਾਮ ਸਿਰਫ਼ ਟਨਲ ਪਿੱਛੇ ਵਾਲੇ DNS ਸਰਵਰ ਰਾਹੀਂ ਹੱਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਪੁਸ਼ਟੀ ਟਨਲ ਤਿਆਰ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰਦੀ ਹੈ। Visual Studio ਚਾਲੂ ਹੁੰਦਿਆਂ ਬਹੁਤ ਸਾਰੀਆਂ ਦਸਤਖ਼ਤ ਕੀਤੀਆਂ ਅਸੈਂਬਲੀਆਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡ ਕਰਦਾ ਹੈ, ਅਤੇ ਹਰ ਇਮੇਜ ਲਈ ਥੋੜ੍ਹੀ ਦੇਰੀ ਦਿਖਣ ਵਾਲੀ ਰੁਕਾਵਟ ਬਣ ਜਾਂਦੀ ਹੈ। ਕੁਝ ਵੀ ਵਿਗੜਿਆ ਨਹੀਂ ਹੈ ਅਤੇ ਨੀਤੀ ਠੀਕ ਉਸੇ ਤਰ੍ਹਾਂ ਵਿਵਹਾਰ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਸੰਰਚਿਤ ਹੈ, ਇਸ ਲਈ ਨੀਤੀ ਹਟਾਉਣ ਨਾਲ ਸਮੱਸਿਆ ਹੱਲ ਹੋਈ ਜਾਪਦੀ ਹੈ।

ਹਰ ਦਸਤਖ਼ਤ ਕੀਤੀ ਇਮੇਜ ਨੈੱਟਵਰਕ ਕਾਲ ਪੈਦਾ ਕਰ ਸਕਦੀ ਹੈ

ਡਿਸਕ ਉੱਤੇ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਦਸਤਖ਼ਤ ਕੀਤੀ ਬਾਈਨਰੀ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਪਲੇਟਫਾਰਮ ਨੂੰ ਉਹੀ ਫੈਚ ਵਿਵਹਾਰ ਵਰਤ ਕੇ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਹੋ ਜੋ ਲਾਂਚ ਵਰਤਦਾ ਹੈ। ਕਮਾਂਡ ਇੱਕ ਵਾਰ ਟਨਲ ਉੱਤੇ ਅਤੇ ਇੱਕ ਵਾਰ ਉਸ ਤੋਂ ਬਾਹਰ ਚਲਾਓ, ਫਿਰ ਅੰਤਿਮ ਫੈਸਲੇ ਦੀ ਥਾਂ ਫੈਚ ਦੀਆਂ ਲਾਈਨਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।

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

ਆਉਟਪੁੱਟ ਲੜੀ, CRL ਅਤੇ OCSP ਪਤੇ ਅਤੇ ਇਹ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ ਕਿ ਹਰ ਫੈਚ ਸਫਲ ਹੋਇਆ ਜਾਂ ਨਹੀਂ। ਜੋ ਜਵਾਬਦੇਹ ਟਨਲ ਉੱਤੇ ਸਮਾਂ ਖਤਮ ਕਰਦਾ ਹੈ ਅਤੇ ਬਾਹਰ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਉਹੀ ਤੁਹਾਨੂੰ ਲੋੜੀਂਦਾ ਸਬੂਤ ਹੈ, ਅਤੇ ਇਹ ਹੌਲੇਪਨ ਦੀ ਭਾਵਨਾ ਨਾਲੋਂ ਕਿਤੇ ਵੱਧ ਭਾਰਾ ਹੈ। ਜੇ ਫੈਚ ਹੌਲੀ ਢੰਗ ਨਾਲ ਸਫਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਪਤਾ ਨੋਟ ਕਰੋ ਤਾਂ ਜੋ ਅਗਲਾ ਕਦਮ ਉਸ ਹੋਸਟ ਨੂੰ ਸਿੱਧਾ ਪਰਖ ਸਕੇ।

ਜਵਾਬਦੇਹ ਦਾ ਹੋਸਟ ਨਾਮ ਹੱਲ ਕਰੋ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਤੋਂ ਬਾਹਰ ਪਹੁੰਚ ਪਰਖੋ, ਕਿਉਂਕਿ ਜੋ ਨਾਮ ਹੱਲ ਨਹੀਂ ਹੁੰਦਾ ਉਸਨੂੰ ਕੋਈ ਕਲਾਇੰਟ ਸੈਟਿੰਗ ਕਦੇ ਠੀਕ ਨਹੀਂ ਕਰੇਗੀ। CodeIntegrity ਦਾ ਸੰਚਾਲਨ ਲੌਗ ਸਬੂਤ ਦਾ ਦੂਜਾ ਅੱਧ ਦਿੰਦਾ ਹੈ, ਪੁਸ਼ਟੀ ਘਟਨਾ ਨੂੰ ਹੌਲੀ ਲਾਂਚ ਦੇ ਟਾਈਮਸਟੈਂਪ ਨਾਲ ਜੋੜਦਾ ਹੈ।

ਨਿਯੰਤਰਣ ਹਟਾਏ ਬਿਨਾਂ ਦੇਰੀ ਘਟਾਓ

ਨੀਤੀ ਨੂੰ ਅਯੋਗ ਕਰਨਾ ਜਾਂ ਆਡਿਟ ਮੋਡ ਵਿੱਚ ਲੈ ਜਾਣਾ ਦੇਰੀ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ ਅਤੇ ਸੰਸਥਾ ਵੱਲੋਂ ਤੈਨਾਤ ਨਿਯੰਤਰਣ ਹਟਾ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਗਲਤ ਮੁਰੰਮਤ ਮੰਨੋ। ਸੀਮਤ ਵਿਕਲਪ ਹਨ ਰੂਟਿੰਗ ਬਦਲਾਅ ਤਾਂ ਜੋ ਜਵਾਬਦੇਹ ਟਨਲ ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੋਵੇ, ਜਵਾਬਦੇਹ ਹੋਸਟਾਂ ਲਈ ਸਪਲਿਟ ਟਨਲ ਵਿੱਚ ਛੋਟ, ਜਦੋਂ ਨਾਮ ਅਪਹੁੰਚ ਪਤੇ ਉੱਤੇ ਹੱਲ ਹੁੰਦਾ ਹੈ ਤਾਂ DNS ਸੁਧਾਰ, ਜਾਂ ਰੱਦ ਕਰਨ ਦੇ ਡੇਟਾ ਲਈ ਸਮਰਥਿਤ ਕੈਸ਼ਿੰਗ ਪ੍ਰੌਕਸੀ। ਹਰ ਇੱਕ ਦਾ ਵੱਖਰਾ ਮਾਲਕ ਹੈ: PKI ਟੀਮ ਜਵਾਬਦੇਹ ਦੀ ਪਹੁੰਚ, ਨੈੱਟਵਰਕ ਟੀਮ ਟਨਲ ਦੀ ਵੰਡ ਅਤੇ ਐਂਡਪੌਇੰਟ ਟੀਮ ਨੀਤੀ ਰੱਖਦੀ ਹੈ।

ਹਰ ਰੱਦ ਕਰਨ ਵਾਲੇ ਹੋਸਟ ਨੂੰ ਟਨਲ ਤੋਂ ਬਾਹਰ ਰੱਖਣਾ ਆਪਣੇ ਆਪ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਅੰਦਰੂਨੀ ਜਵਾਬਦੇਹ ਜਾਣਬੁੱਝ ਕੇ ਅੰਦਰੂਨੀ ਹੋ ਸਕਦਾ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਜਾਂਚਾਂ ਨੂੰ ਚੁੱਪਚਾਪ ਜਨਤਕ ਇੰਟਰਨੈੱਟ ਉੱਤੇ ਭੇਜਣ ਵਾਲਾ ਨਿਯਮ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ PKI ਚਲਾਉਣ ਵਾਲੀ ਟੀਮ ਨਾਲ ਛੋਟ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ। ਉਸ ਪੁਸ਼ਟੀ ਤੋਂ ਬਿਨਾਂ ਕੀਤਾ ਬਦਲਾਅ ਅਗਲੇ ਨੀਤੀ ਰਿਫ੍ਰੈਸ਼ ਉੱਤੇ ਵਾਪਸ ਲਿਆ ਜਾਂਦਾ ਹੈ।

ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਕੋਲਡ ਸਟਾਰਟ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ

ਦੋਵਾਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਕੋਲਡ ਸਟਾਰਟ ਮਾਪੋ ਅਤੇ ਸੰਖਿਆਵਾਂ ਰੱਖੋ, ਕਿਉਂਕਿ ਅਸੈਂਬਲੀਆਂ ਕੈਸ਼ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵਾਰਮ ਸਟਾਰਟ ਲਗਭਗ ਕੁਝ ਵੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ। ਨਵੇਂ ਸੈਸ਼ਨ ਤੋਂ ਲਾਂਚ ਦੁਹਰਾਓ ਤਾਂ ਜੋ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡ ਹੋਣ ਦਾ ਰਸਤਾ ਦੁਬਾਰਾ ਵਰਤਿਆ ਜਾਵੇ।

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

ਮੁਰੰਮਤ ਕੀਤੀ ਸੰਰਚਨਾ ਅਜੇ ਵੀ ਜਵਾਬਦੇਹ ਨਾਲ ਸੰਪਰਕ ਕਰਦੀ ਹੈ, ਜਾਂ ਤੁਹਾਡੀ PKI ਟੀਮ ਵੱਲੋਂ ਮਨਜ਼ੂਰ ਕੈਸ਼ ਰਸਤਾ ਵਰਤਦੀ ਹੈ, ਅਤੇ ਲੌਗ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਪੁਸ਼ਟੀ ਸਮਾਂ ਖਤਮ ਹੋਣ ਦੀ ਥਾਂ ਪੂਰੀ ਹੁੰਦੀ ਹੈ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਹਾਲ ਹੀ ਵਿੱਚ ਦਸਤਖ਼ਤ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਅਜੇ ਵੀ ਚਾਲੂ ਹੁੰਦੀ ਹੈ, ਕਿਉਂਕਿ ਸਭ ਕੁਝ ਮਨਜ਼ੂਰ ਕਰਨ ਵਾਲੀ ਨੀਤੀ ਸਫਲ ਮੁਰੰਮਤ ਨਹੀਂ ਹੈ। ਸਰਗਰਮ ਨੀਤੀ ਫੋਲਡਰ ਅਤੇ ਲਾਗੂ ਕਰਨ ਦੀ ਸਥਿਤੀ ਵੀ ਜਾਂਚੋ, ਤਾਂ ਜੋ ਪਤਾ ਲੱਗੇ ਕਿ ਤੁਸੀਂ ਜਿਸ ਨੀਤੀ ਨੂੰ ਡੀਬੱਗ ਕਰ ਰਹੇ ਹੋ ਉਹੀ ਚੱਲ ਰਹੀ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਲੜੀ, ਜਵਾਬਦੇਹ ਦਾ ਪਤਾ ਅਤੇ ਲਾਂਚ ਦੇ ਟਾਈਮਸਟੈਂਪ ਇੱਕੋ ਟਿਕਟ ਵਿੱਚ ਰੱਖੋ, ਕਿਉਂਕਿ ਨਵੀਨੀਕਰਨ ਆਮ ਤੌਰ ਉੱਤੇ ਜਵਾਬਦੇਹ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ ਅਤੇ ਛੋਟ ਜਾਂ DNS ਨਿਯਮ ਪੁਰਾਣਾ ਛੱਡ ਦਿੰਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ