dolezel.net

Co není v hlavě, je v blogu...

IIS 7 a nefunkční CA delta CRL

Tohle je blbá chyba. Po instalaci interní certifikační autority, která nevyužívá OCSP (Online Certificate Status Protocol), ale spoléhá na starší CRL a delta CRL (Certificate Revocation List), se dříve či později objeví záludné chyby v SSTP, RDP a možná I další komunikaci, která spoléhá na certifikáty. Problém je ve standardní hodnotě DeltaCRL Location, kterou si při instalaci CA vytvoří, a která je v konfliktu s nastavením IIS 7. IIS totiž nedovolí zobrazit soubor, jenž má v názvu +. Chybové hlášky pak mohou vypadat následovně:

U SSTP VPN se sice o problému s revokací píše, ale těžko to admina trkne.

iis7_deltacrl1

U RDP s využití SSL je to obdobné.

iis7_deltacrl2

Tento problém má dvě řešení, z toho jedno “přes hlavu” a to druhé správné. Nejdříve nouzová obezlička.

Ta se provádí na klientovi, resp. na všech klientech, ze kterých je třeba navázat RDP spojení s využitím SSL. Ačkoliv si někdo může říkat, že je blbost si to sem vůbec psát, opak je pravdou. Jsou situace, kdy nemám server pod kontrolou, ale potřebuji se na něj připojit. No a přiznám se, už se mi také stalo, že jsem konfiguroval, konfiguroval a najednou jsem si uřízl větev. RDP na serveru bylo nastaveno na security layer SSL (TLS 1.0) a já u sebe v Trusted Root CA neměl naimportovaný certifikát použité CA.

Na klientovi se v registry ve větvi HKLM\System\CurrentControlSet\services\SstpSvc\Parameters přidá REG_DWORD nazvaný NoCertRevocationCheck a nastaví na hodnotu 1. Z toho vyplývá, že pozdější odstranění se pořeší vymazáním nebo nastavením na hodnotu 0.

Poněkud systémovější však bude odstranění problému přímo na serveru. Buď se zmodifikuje přímo web.config příslušného serveru, nebo se spustí tento příkaz:

%windir%\system32\inetsrv\appcmd.exe set config “crl.firma.cz” -section:system.webServer/security/requestFiltering –allowDoubleEscaping:true

Pokud někdo dává přednost přímé úpravě web.config, tak potom stačí do sekce <system.webServer><security> včlenit:

<requestFiltering allowDoubleEscaping="true" />

Pro tisk
Komentáře jsou uzavřeny