Pomalost webu kvůli kontrole seznamu CRL certifikátu služby SharePoint STS

Příznaky

Předpokládejme, že máte webovou aplikaci, která používá ověřování na základě deklarací v SharePoint Foundation 2010 nebo SharePoint Server 2010. Server SharePoint nemá přístup k internetu nebo je chráněn bránou firewall s omezenými otevřenými porty. V této situaci uživatelé občas dochází k dlouhým zpožděním při provádění určitých operací, jako je přihlášení k webu nebo provádění vyhledávání. Uživatelé také můžou při provádění těchto operací narazit na vypršení časových limitů PROTOKOLU HTTP.

Příčina

SharePoint používá certifikáty k podepisování tokenů zabezpečení vydaných službou tokenů zabezpečení (STS). Stejně jako u všech certifikátů je i platnost certifikátu služby STS pravidelně ověřována, aby se zajistilo, že certifikát nebyl odvolán. Ve výchozím nastavení se kořenový certifikát v řetězu nepřidá do úložiště důvěryhodných kořenových certifikačních autorit sharepointových serverů. Z tohoto důvodu se kontrola seznamu odvolaných certifikátů (CRL) pro certifikát provádí přes internet. Pokud není z nějakého důvodu dostupný online server seznamu CRL ze serveru SharePoint, vyprší ve výchozím nastavení časový limit operace po 15 sekundách. I když se ověření seznamu CRL po 15 sekundách nezdaří, může se stránka SharePointu vykreslit i po zpoždění.

Selhání ověření certifikátu je možné sledovat povolením protokolování událostí CAPI2 na serveru SharePoint. Pokud je povolené protokolování událostí CAPI2 a ověřování internetových certifikátů selhává, často se v protokolu událostí CAPI2 zobrazí následující chybové zprávy:

  • Chyba řetězu sestavení

    ID události: 11
    Kategorie úkolu: Řetěz sestavení
    subjectName (převzato z podrobností události): Služba tokenů zabezpečení služby SharePoint

  • Chyba načtení objektu ze sítě

    ID události: 53
    Kategorie úlohy: Načtení objektu ze sítě

    Adresa URL (převzatá z podrobností události): https://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab

Informace o povolení protokolování CAPI2 najdete v části Další informace.

Řešení

Pokud chcete tento problém vyřešit, proveďte jedno z následujících alternativních řešení:

Řešení 1

Nainstalujte certifikát kořenové autority SharePointu do úložiště důvěryhodných kořenových certifikačních autorit. Po přidání kořenového certifikátu do místního úložiště certifikátů se ověření certifikátu již neprovádí přes internet. Následující kroky způsobí, že buildChain uspěje vyhledáním certifikátu v místním úložišti, což eliminuje potřebu načítání objektu ze sítě. Pokud chcete přidat kořenový certifikát do místního úložiště certifikátů, musíte na každém serveru SharePointu ve farmě provést následující kroky:

  1. Exportujte certifikát kořenové autority SharePointu jako fyzický soubor (.cer). Spusťte prostředí SharePoint 2010 Management Shell jako správce a spusťte následující příkazy Windows PowerShell:

    $rootCert = (Get-SPCertificateAuthority).RootCertificate   
    $rootCert.Export("Cert") | Set-Content C:\SharePointRootAuthority.cer -Encoding byte
    

    Poznámka Tím se exportuje interní kořenový certifikát (soubor .cer) pro SharePoint na jednotku C. Tento soubor můžete zkopírovat a použít na všech serverech ve farmě pro import, aniž byste museli znovu spouštět příkazy PowerShellu.

  2. Importujte certifikát kořenové autority SharePointu do úložiště důvěryhodných kořenových certifikačních autorit. Pokud chcete přidat certifikát kořenové autority SharePointu do úložiště důvěryhodných kořenových certifikačních autorit, postupujte takto:

    Poznámka "Správci" je minimální požadované členství ve skupině k provedení těchto kroků.

    1. Klepněte nebo klikněte na Start, do pole Spustit hledání zadejte mmc a stiskněte Klávesu Enter.
    2. V nabídce Soubor klikněte na Přidat nebo odebrat modul snap-in.
    3. V části Dostupné moduly snap-in klikněte na Certifikáty a potom klikněte na Přidat.
    4. V části Tento modul snap-in bude vždy spravovat certifikáty pro vyberte Účet počítače a potom klikněte na Další.
    5. Vyberte Místní počítač a potom klikněte na Dokončit.
    6. Pokud do konzoly nemáte žádné další moduly snap-in, klikněte na OK.
    7. Ve stromu konzoly poklikejte na Certifikáty.
    8. Klikněte pravým tlačítkem na úložiště Důvěryhodných kořenových certifikačních autorit.
    9. Klikněte na Všechny úlohy, importujte certifikát kliknutím na Importovat a pak postupujte podle pokynů v Průvodci importem certifikátu.

Řešení 2

Zakažte automatickou aktualizaci kořenových certifikátů na sharepointových serverech. Postupujte takto:

  1. V uzlu Konfigurace počítače v místní Zásady skupiny Editor poklikejte na Zásady.
  2. Poklikejte na Nastavení systému Windows, poklikejte na Nastavení zabezpečení a potom poklikejte na Zásady veřejných klíčů.
  3. V podokně Podrobnosti poklikejte na Nastavení ověření cesty certifikátu.
  4. Klikněte na kartu Načítání ze sítě, zaškrtněte políčko Definovat tato nastavení zásad a zrušte zaškrtnutí políčka Automaticky aktualizovat certifikáty v programu Microsoft Root Certificate Program (doporučeno).
  5. Klikněte na OK a pak zavřete místní Zásady skupiny Editor.
  6. Spusťte gpupdate/force, aby se zásady projevily okamžitě.

Poznámka Pokud je automatická aktualizace zakázaná, možná budete muset monitorovat nové verze a pak podle potřeby ručně aktualizovat vztah důvěryhodnosti certifikátu.

Důsledky zákazu automatických aktualizací kořenových certifikátů

Na SharePoint by to nemělo mít konkrétní důsledky, protože používáme certifikáty podepsané svým držitelem a spravujeme je sami. Certifikáty SharePointu mají vypršení platnosti, ale existuje pravidlo stavu, které to sleduje a pak upozorní správce, aby je aktualizoval nebo znovu vložil.

Hlavním aspektem, který je třeba zvážit, je u jiných certifikátů, které se používají v počítači (například certifikáty SSL, certifikáty pro důvěryhodnost stažených balíčků nebo zásady SAFER atd.), které jsou vydávány z certifikátů zřetězených s certifikáty v úložišti důvěryhodných kořenových certifikačních autorit.

Další informace

Povolení a uložení protokolu CAPI2 z uživatelského rozhraní Prohlížeč událostí

  1. Otevřít Prohlížeč událostí. Chcete-li otevřít Prohlížeč událostí, klikněte na tlačítko Start, klikněte na Ovládací panely, poklikejte na položku Nástroje pro správu a potom poklikejte na položku Prohlížeč událostí.
  2. Pokud se zobrazí dialogové okno Řízení uživatelských účtů , potvrďte, že zobrazená akce je to, co chcete provést, a klikněte na Pokračovat.
  3. V podokně Konzola rozbalte položku Prohlížeč událostí, rozbalte položku Protokoly aplikací a služeb, rozbalte položku Microsoft, rozbalte položku Windows a pak rozbalte položku CAPI2.
  4. Teď můžete provádět následující akce:
    • Pokud chcete povolit protokolování CAPI2, klikněte pravým tlačítkem na Provozní a pak vyberte Povolit protokol.

    • Pokud chcete protokol uložit do souboru, klikněte pravým tlačítkem na Provozní a pak vyberte Uložit události jako. Soubor protokolu můžete uložit ve formátu EVTX (který lze otevřít prostřednictvím Prohlížeč událostí) nebo ve formátu XML.

    • Pokud chcete protokolování CAPI2 zakázat, klikněte pravým tlačítkem na Provozní a pak vyberte Zakázat protokol.

    • Pokud jsou v protokolu před pokusem o reprodukci problému data, doporučujeme protokol vymazat. To umožňuje shromažďovat pouze data relevantní pro problémový scénář z uloženého protokolu. Pokud chcete protokol vymazat, klikněte pravým tlačítkem na Provozní a pak vyberte Vymazat protokol.

    • V případě diagnostiky CAPI2 se může velikost protokolu rychle zvětšovat a proto doporučujeme zvětšit velikost protokolu alespoň na 4 mb, aby se zachytály relevantní události. Pokud chcete zvětšit velikost protokolu, klikněte pravým tlačítkem na Provozní a pak vyberte Vlastnosti. Ve vlastnostech protokolu zvětšete maximální velikost protokolu.

      Poznámka Výchozí velikost protokolu událostí je 1 MB.

Stále potřebujete pomoc? Přejděte na Komunita SharePointu.