Nastavení HTTPS s protokolem SSL (Secure Sockets Layer) pro místní Azure DevOps

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Zabezpečení nasazení Azure DevOps Server můžete posílit tím, že ho nakonfigurujete tak, aby používalo protokol HTTPS (Hypertext Transfer Protocol Secure) s protokolem SSL (Secure Sockets Layer). Můžete zvolit, jestli chcete tento protokol vyžadovat, čímž se maximalizuje zabezpečení vašeho nasazení, nebo můžete kromě výchozího protokolu HTTP podporovat protokol HTTPS s SSL. Pokud používáte Release Management pro Visual Studio 2013, můžete ho také nakonfigurovat tak, aby používalo protokol HTTPS s SSL, ale nemůžete ho nakonfigurovat tak, aby podporoval protokol HTTP i HTTPS s protokolem SSL.

Než zvolíte konfiguraci, projděte si zde popsané výhody a nevýhody. Jakmile identifikujete konfiguraci, která nejlépe vyhovuje požadavkům vaší organizace na zabezpečení, nakonfigurujte nasazení podle kroků v tomto tématu.

V tomto tématu

Výhody podpory HTTPS s PROTOKOLem SSL kromě PROTOKOLU HTTP

Pokud nakonfigurujete nasazení Azure DevOps Server tak, aby podporovalo oba protokoly, budou se uživatelé, jejichž počítače mají nakonfigurovaný protokol HTTPS s SSL, připojovat pomocí tohoto protokolu, což zvýší zabezpečení vašeho nasazení. Kromě toho se k vašemu nasazení můžou připojit i uživatelé, jejichž počítače jsou nakonfigurované pouze pro protokol HTTP. I když byste tuto konfiguraci neměli nasazovat přes veřejné sítě, můžete další podporou připojení HTTP v řízeném síťovém prostředí získat následující výhody:

  • Zabezpečení nasazení můžete v průběhu času zvýšit tak, že nakonfigurujete klientské počítače pro protokol HTTPS s protokolem SSL, jak to váš plán dovolí. Pokud používáte fázovaný přístup, nemusíte upgradovat všechny počítače najednou a uživatelé, jejichž počítače ještě nebyly upgradovány, se budou moct k nasazení připojit.

  • Můžete snadněji konfigurovat a spravovat Azure DevOps Server.

  • Volání z jedné webové služby do jiné jsou rychlejší přes HTTP než přes HTTPS s SSL. Proto můžete i nadále podporovat připojení HTTP z klientských počítačů, u kterých požadavky na výkon převáží bezpečnostní rizika.

Výhody vyžadování PROTOKOLU HTTPS s SSL pro všechny Connections

Pokud pro všechna připojení vyžadujete protokol HTTPS s SSL, získáte následující výhody:

  • Všechna webová připojení mezi aplikační vrstvou, datovou vrstvou a klientskou vrstvou pro Azure DevOps jsou bezpečnější, protože vyžadují certifikáty.

  • Přístup můžete snadněji řídit tak, že nakonfigurujete certifikáty tak, aby vypršely, když se očekává konec fáze projektu.

Nevýhody podpory nebo vyžadování HTTPS s SSL

Než nakonfigurujete Azure DevOps Server tak, aby podporovaly nebo vyžadovaly PROTOKOL HTTPS s protokolem SSL, měli byste zvážit následující nevýhody:

  • Probíhající úlohy správy můžete komplikovat. Než budete moct použít aktualizace Service Pack nebo jiné aktualizace, budete například muset překonfigurovat nasazení tak, aby přestalo podporovat protokol HTTPS s protokolem SSL.

  • Musíte nejen konfigurovat, ale také spravovat certifikační autoritu (CA) a vztahy důvěryhodnosti certifikátů. V systémech Windows Server 2003 a Windows Server 2008 můžete používat certifikační službu, ale možná nebudete chtít investovat čas a prostředky, které nasazení zabezpečené infrastruktury veřejných klíčů (PKI) vyžaduje.

  • Musíte strávit spoustu času nastavováním a testováním některé z těchto konfigurací a řešení potíží s nasazením bude obtížnější.

  • Pokud i nadále podporujete oba protokoly, externí připojení nemusí být šifrovaná, pokud aplikační vrstva pro Azure DevOps není správně zabezpečená.

  • Pokud potřebujete PROTOKOL HTTPS s PROTOKOLem SSL, výkon vašeho nasazení bude nižší.

Konfigurace nasazení tak, aby podporovalo nebo vyžadovalo HTTPS s protokolem SSL

Postupy v tomto tématu popisují jeden proces pro vyžádání, vystavování a přiřazování certifikátů požadovaných pro připojení SSL v Azure DevOps Server. Pokud používáte jiný software, než popisuje toto téma, možná budete muset provést jiný postup. Pokud chcete podporovat externí připojení k nasazení Azure DevOps Server, musíte v Internetové informační službě (IIS) povolit také základní ověřování, ověřování hodnotou hash nebo obojí.

Pomocí postupů v tomto tématu provedete následující úlohy:

  1. Získejte certifikáty pro nasazení Azure DevOps Server a webů, které používá.

  2. Nainstalujte a přiřaďte certifikáty.

  3. Nakonfigurujte Azure DevOps Server.

  4. Nakonfigurujte sestavení Team Foundation.

  5. Konfigurace Release Management pro Visual Studio 2013

  6. Konfigurace klientských počítačů

Požadavky

Chcete-li provést postupy v tomto tématu, musíte nejprve splnit následující požadavky:

  • Logické komponenty v datové a aplikační vrstvě Azure DevOps musí být nainstalované, i když v případě samotného Azure DevOps Server ne nutně nakonfigurované. Mezi tyto úrovně patří služba IIS, SQL Server a všechny další komponenty, které jste mohli integrovat, například Team Foundation Build a SQL Server Reporting Services.

    Postupy v tomto tématu se týkají serveru nebo serverů, na kterých běží logické komponenty v aplikačních vrstvách a datových vrstvách pro Azure DevOps. Aplikační a datové vrstvy můžou běžet na stejném serveru nebo na několika serverech, jak je popsáno v průvodci instalací Azure DevOps Server.

  • Musíte mít certifikační autoritu (CA), ze které můžete vystavovat certifikáty, nebo se přihlásit k odběru certifikační autority třetí strany s důvěryhodným řetězem. V tomto tématu se předpokládá, že jako certifikační autoritu používáte certifikační službu, ale můžete použít libovolnou certifikační autoritu, kterou jste pro nasazení nakonfigurovali, nebo certifikáty od důvěryhodné certifikační autority třetí strany. Pokud certifikační autoritu nemáte, můžete nainstalovat certifikační službu a nakonfigurovat ji. Další informace najdete v jedné z následujících sad dokumentace na webu společnosti Microsoft:

  • Abyste mohli nakonfigurovat všechny komponenty nasazení pro HTTPS a SSL, musíte být správce. Pokud pracujete v distribuovaném nasazení, kde mají různí uživatelé oprávnění správce pro jednotlivé komponenty, budete se muset s těmito lidmi koordinovat, abyste mohli dokončit konfiguraci.

  • Konkrétně musíte patřit do skupiny Team Foundation Administrators a musíte patřit do skupiny Administrators na aplikační vrstvě, datové vrstvě a proxy serveru nebo serverech Azure DevOps pro Team Foundation.

  • Pokud chcete konfigurovat buildovací server, musíte patřit do skupiny Administrators na daném serveru.

  • Chcete-li nakonfigurovat Release Management, musíte patřit do skupiny Administrators na serveru, který je hostitelem Release Management Serveru, a být členem role Správce verzí v Release Management.

  • Pokud vaše nasazení používá vytváření sestav, musíte být členem skupiny zabezpečení pro správu nebo mít samostatně nastavená ekvivalentní oprávnění pro konfiguraci služby Reporting Services.

    Další informace o oprávněních najdete v tématu Referenční informace o oprávněních pro Azure DevOps Server.

Předpoklady

Postupy v tomto tématu předpokládají, že platí následující podmínky:

  • Servery nebo servery datové vrstvy a aplikační vrstvy byly nainstalovány a nasazeny v zabezpečeném prostředí a nakonfigurovány v souladu s osvědčenými postupy zabezpečení.

  • Víte, jak konfigurovat a spravovat infrastrukturu veřejných klíčů a jak požadovat, vydávat a přiřazovat certifikáty.

  • Máte pracovní znalosti o topologii sítě vývojového prostředí a jste obeznámeni s konfigurací nastavení sítě, služby IIS a SQL Server.

Získání certifikátu

Než nakonfigurujete Azure DevOps Server pro použití protokolu HTTPS s protokolem SSL, musíte získat a nainstalovat certifikát serveru pro servery ve vašem nasazení. Pokud chcete získat certifikát serveru, musíte nainstalovat a nakonfigurovat vlastní certifikační autoritu nebo musíte použít certifikační autoritu z externí organizace, které důvěřujete (certifikáty třetích stran).

Další informace o instalaci certifikační autority naleznete v následujících tématech na webu společnosti Microsoft:

Vyžádání, instalace a konfigurace webů pomocí certifikátu

Po zařazení do certifikační autority musíte buď požádat o certifikát pomocí Správce služby IIS, nebo musíte certifikát nainstalovat ručně na každý z následujících serverů ve vašem nasazení:

  • Každý server aplikační vrstvy.
  • Pro vaše nasazení je nakonfigurovaný každý server, na kterém běží proxy server Azure DevOps( pokud nějaký).
  • Každý server se spuštěnou službou Team Foundation Build Service jako kontroler sestavení nebo agent sestavení, pokud je nějaký nakonfigurovaný pro vaše nasazení.
  • Server, na kterém běží služba Reporting Services, pokud je pro vaše nasazení nakonfigurovaný.

Klientské počítače ve vašem nasazení budou navíc muset být zaregistrované v řetězu certifikátů a vyžádat si potřebný certifikát. Pokud používáte Release Management, zahrnuje to všechny počítače se spuštěným klientem Release Management a také všechny klienty¹, kteří agenta nasazení používají ve vašich prostředích vydaných verzí. Pokud jeden nebo více vašich projektů používá ke správě verzí Git, budou uživatelé v těchto projektech také muset nakonfigurovat Git na svých počítačích, aby rozpoznal a používal klientský certifikát. Informace o tom, jak požádat o klientský certifikát od konkrétní certifikační autority, najdete v dokumentaci k dané certifikační autoritě.

¹ Klienti a servery jsou zde voláni samostatně, ale to je jen konvence tohoto dokumentu. Každý počítač, na kterém běží agent nasazení, musí mít nainstalovaný certifikát.

  1. Otevřete Správce Internetové informační služby (IIS).

  2. Rozbalte svůj server, přejděte na Certifikáty serveru a vytvořte a dokončete žádost o certifikát.

    Otevřete Správce služby IIS a požádejte o certifikát.

    Vytvořte požadavek a pak ho dokončete.

    Další informace najdete v tématu Konfigurace certifikátů serveru ve službě IIS.

  3. Importujte certifikát.

  4. Teď musíte nakonfigurovat každý web, který bude tento certifikát vyžadovat, s příslušnými nastaveními (s výjimkou webu Release Management, který nakonfigurujete později). Konkrétně to budete muset udělat pro každý z následujících webů:

    • Výchozí web
    • Azure DevOps Server
    • Azure DevOps Server Proxy (pokud ho vaše nasazení používá)

    Na každém serveru, který je hostitelem webu, který chcete konfigurovat, otevřete Správce Internetové informační služby (IIS).

  5. Rozbalte ComputerName, rozbalte Weby, otevřete podnabídku pro web, který chcete nakonfigurovat (například Azure DevOps Server) a pak v podokně Akce zvolte Vazby.

    Je nutné nakonfigurovat vazby pro všechny lokality.

  6. V části Vazby webu zvolte Přidat.

    Zobrazí se dialogové okno Přidat vazbu webu .

  7. V seznamu Typ zvolte https.

    Do pole Port zadejte jiné číslo portu.

    Důležité

    Výchozí číslo portu pro připojení SSL je 443, ale každému z následujících webů musíte přiřadit jedinečné číslo portu: Výchozí web, Azure DevOps Server a proxy Azure DevOps Server (pokud ho vaše nasazení používá). Měli byste zaznamenat číslo portu SSL pro každý web, který nakonfigurujete. Tato čísla budete muset zadat v konzole pro správu pro Azure DevOps.

    V části Certifikát SSL zvolte certifikát, který jste importovali, pak zvolte OK a zavřete stránku Vazby.

    Nezapomeňte zvolit jedinečné číslo portu.

  8. Na domovské stránce webu, který konfigurujete, otevřete zobrazení Funkce .

  9. V části IIS zvolte Ověřování.

  10. Zvolte metodu ověřování, kterou chcete nakonfigurovat, otevřete její podnabídku a pak ji povolte, zakažte nebo proveďte další konfiguraci metody, jak nejlépe vyhovuje vašim požadavkům na zabezpečení. Pokud byste například chtěli zakázat anonymní ověřování, zvolili byste metodu Anonymní ověřování a v nabídce Akce zvolte Zakázat.

    Zvolte metodu a pak akci, kterou chcete provést.

  11. Po dokončení konfigurace restartujte webové služby.

Konfigurace brány firewall

Bránu firewall musíte nakonfigurovat tak, aby umožňovala provoz přes porty SSL, které jste právě zadali ve službě IIS. Další informace najdete v dokumentaci k bráně firewall.

Důležité

Nezapomeňte otestovat provoz na portech, které jste zadali z jiného počítače. Pokud nemáte přístup k výchozímu webu nebo webovému portálu, zkontrolujte nastavení portů, která jste pro tyto weby zadali ve službě IIS, a ujistěte se, že je brána firewall správně nakonfigurovaná tak, aby umožňovala provoz na těchto portech.

Konfigurace SQL Server Reporting Services

Pokud vaše nasazení používá vytváření sestav, musíte nakonfigurovat SQL Server Reporting Services tak, aby podporovaly protokol HTTPS s protokolem SSL a používaly port, který jste zadali ve službě IIS pro Azure DevOps Server. V opačném případě nebude server sestav pro vaše nasazení fungovat správně. Další informace najdete v tématu Konfigurace serveru sestav pro protokol SSL (Secure Sockets Layer) Connections.

Tip

Pokud vaše nasazení nepoužívá vytváření sestav, můžete tento postup přeskočit.

Konfigurace HTTPS pro Azure DevOps Server

Podle těchto kroků nakonfigurujte nasazení Azure DevOps Server pomocí portů a hodnot HTTPS, které jste nakonfigurovali ve službě IIS pro výchozí a Azure DevOps Server weby.

Změna konfigurace Azure DevOps Server pro použití nebo vyžadování HTTPS

  1. Otevřete konzolu pro správu pro Azure DevOps a přejděte na uzel aplikační vrstvy.

  2. V části Souhrn vrstvy aplikace zvolte Změnit adresy URL.

    Otevře se okno Změnit adresy URL .

  3. Do pole Adresa URL oznámení zadejte adresu URL HTTPS, kterou jste nakonfigurovali pro web Azure DevOps Server ve službě IIS.

    Například jste web nakonfigurovali tak, aby používal port 444. V tomto případě zadáte https:// ServerName:444/tfs. Ujistěte se, že používáte plně kvalifikovaný název domény serveru místo localhost.

    V adrese zadejte HTTPS, server a port.

  4. Zvolte Test. Pokud test neprojde, nevybírejte OK . Zpět a ujistěte se, že jste zadali správnou adresu URL a informace o portu, že jsou všechny brány firewall nakonfigurované tak, aby umožňovaly provoz na těchto portech, a že je web dostupný a spuštěný ve Správci služby IIS.

  5. Pokud chcete vyžadovat protokol HTTPS, zvolte Použít v adrese URL serveru a zadejte adresu URL HTTPS, kterou jste nakonfigurovali pro web Azure DevOps Server.

    Ujistěte se, že používáte plně kvalifikovaný název domény serveru místo localhost.

  6. Zvolte Test a pak zvolte OK , pokud test projde.

  7. Pokud vaše nasazení používá službu Reporting Services, zvolte v konzole pro správu možnost Vytváření sestav. V opačném případě přeskočte zbytek tohoto postupu.

  8. V části Vytváření sestav zvolte Upravit.

    Pokud se otevře dialogové okno Přejít do režimu offline , zvolte OK.

    Otevře se okno Generování sestav .

  9. Zvolte kartu Sestavy . Do pole Adresy URL serveru sestav zadejte adresy URL HTTPS pro webovou službu a Správce sestav a pak zvolte OK.

Testování přístupu k nasazení

Měli byste otestovat, jestli vaše změny fungují podle očekávání. Tento krok je volitelný, ale důrazně doporučujeme.

Testování přístupu k nasazení

  1. Na počítači, který není hostitelem aplikační vrstvy, otevřete webový prohlížeč a přejděte na domovskou stránku týmu.

  2. Ověřte, jestli máte přístup ke svým týmům a projektům z webového portálu, včetně stránek správy.

  3. Pokud nemáte přístup k nasazení prostřednictvím webového portálu, zkontrolujte kroky, které jste právě dokončili, a ujistěte se, že jste správně provedli všechny změny konfigurace.

Konfigurace nasazení tak, aby vyžadovalo HTTPS s protokolem SSL (volitelné)

Všechna připojení k aplikační vrstvě Azure DevOps Server můžete vyžadovat, aby používala protokol HTTPS s protokolem SSL. Toto další zabezpečení je volitelné, ale doporučuje se.

Vyžadování připojení SSL

  1. Na serveru, který je hostitelem webu, který chcete nakonfigurovat, zvolte Start, zvolte Nástroje pro správu a pak zvolte Správce Internetové informační služby (IIS).

  2. Postupujte podle příslušných kroků pro vaši verzi služby IIS:

    Pro nasazení, která používají službu IIS 7.0:

    1. Rozbalte ComputerName, rozbalte Weby a pak zvolte web, který chcete konfigurovat.

    2. Na domovské stránce daného webu zvolte Nastavení SSL.

    3. V podokně Nastavení SSL zaškrtněte políčko Vyžadovat SSL .

      (Volitelné) Zaškrtněte políčko Vyžadovat 128bitový protokol SSL .

    4. V části Klientské certifikáty zvolte Ignorovat, Přijmout nebo Vyžadovat v závislosti na požadavcích na zabezpečení vašeho nasazení.

    5. V části Akce zvolte Použít.

    6. Tento postup opakujte pro každý web, pro který chcete vyžadovat SSL.

Instalace certifikátu na servery sestavení

Pokud jste nainstalovali službu Team Foundation Build Service na jednom nebo více serverech, musíte certifikát nainstalovat do úložiště důvěryhodných kořenových certifikačních autorit každého serveru. Další informace najdete v tématech Získání certifikátu a Vyžádání, instalace a konfigurace webů s certifikátem výše v tomto tématu. Kontroler i agent vyžadují certifikát s privátním klíčem, pomocí kterého se identifikují v připojeních HTTPS.

Poznámka

Pokud chcete provádět sestavení přes PROTOKOL SSL, musí být certifikát nainstalovaný v důvěryhodném kořenovém úložišti na řadiči sestavení i v agentovi sestavení.

Aktualizace konfigurací sestavení

Pokud chcete nakonfigurovat sestavení Team Foundation pro připojení SSL, musíte nakonfigurovat službu sestavení tak, aby používala adresu URL HTTPS, kterou jste nakonfigurovali pro aplikační vrstvu a kolekci, kterou konfigurace sestavení podporuje. Tuto adresu URL musíte nakonfigurovat pro každou konfiguraci sestavení ve vašem nasazení.

Změna konfigurace sestavení tak, aby používala PROTOKOL HTTPS

  1. Na serveru, který je hostitelem konfigurace sestavení, kterou chcete konfigurovat, otevřete konzolu pro správu pro Team Foundation.

  2. V části Team Foundation rozbalte název serveru a pak zvolte Konfigurace sestavení.

    Zobrazí se podokno Konfigurace sestavení .

  3. V konfiguraci služby zvolte Zastavit a pak vlastnosti.

    Otevře se dialogové okno Vlastnosti služby sestavení .

  4. V části Komunikace se ujistěte, že adresa URL kolekce projektů používá správnou adresu HTTPS a úplný název serveru.

  5. V části Místní koncový bod buildovací služby (příchozí) zvolte Změnit.

    Otevře se dialogové okno Build Service Endpoint (Koncový bod služby sestavení ).

  6. V části Podrobnosti o koncovém bodu ověřte, že číslo portu odpovídá podrobnostem o konfiguraci.

  7. V části Protokol zvolte HTTPS.

  8. V seznamu Certifikáty SSL zvolte certifikát, který jste nainstalovali a nakonfigurovali pro použití s tímto nasazením, a pak zvolte OK.

    Ujistěte se, že podrobnosti konfigurace odpovídají.

  9. V dialogovém okně Vlastnosti služby sestavení zvolte Spustit.

Konfigurace klientských počítačů

Na každém klientském počítači, ze kterého uživatelé přistupují k Azure DevOps, musíte certifikát nainstalovat místně a vymazat mezipaměť klienta pro každého uživatele, který z tohoto počítače přistupoval k Azure DevOps. Jinak se uživatelé nebudou moct z tohoto počítače připojit k Azure DevOps. Další informace najdete v tématu Správa důvěryhodných kořenových certifikátů.

Důležité

Tento postup nepoužívejte u počítačů s Azure DevOps Server a jedním nebo více klienty Azure DevOps.

Instalace certifikátu do klientského počítače

  1. Přihlaste se k počítači pomocí účtu, který patří do skupiny Administrators na tomto počítači.

  2. Nainstalujte certifikát do složky Důvěryhodné kořenové certifikační autority pro místní počítač.

Vymazání mezipaměti na klientském počítači

  1. Přihlaste se k počítači pomocí přihlašovacích údajů uživatele, jehož mezipaměť chcete vymazat.

  2. Zavřete všechny otevřené instance sady Visual Studio.

  3. V okně prohlížeče otevřete následující složku:

    Jednotka:\Users\UserName\AppData\Local\Microsoft\Team Foundation\4.0\Cache

  4. Odstraňte obsah adresáře cache. Nezapomeňte odstranit všechny podsložky.

  5. Zvolte Start, zvolte Spustit, zadejte devenv /resetuserdata a pak zvolte OK.

  6. Opakujte tento postup pro účet každého uživatele, který z tohoto počítače získal přístup k Team Foundation.

    Poznámka

    Pokyny k vymazání mezipaměti můžete distribuovat všem uživatelům Azure DevOps, aby si je mohli vymazat sami.

Připojení klientských počítačů k překonfigurovanému nasazení

Konfigurace Gitu

Ve výchozím nastavení se projektům, které používají Git pro správu verzí, nepodaří ověřit certifikát SSL, který jste nakonfigurovali pro Azure DevOps Server. Důvodem je to, že git na rozdíl od Azure DevOps Server a sady Visual Studio nerozpozná úložiště certifikátů windows. Místo toho jako úložiště certifikátů používá OpenSSL. Pokud chcete používat úložiště Git pro projekty s nakonfigurovaným protokolem SSL, budete muset pro nasazení TFS 2013 nakonfigurovat Git s certifikátem v kořenovém adresáři certifikačního řetězce. Toto je úloha konfigurace klienta, která se vztahuje pouze na projekty úložiště Git.

Další informace o tom, jak v Visual Studio 2013 fungují síťové operace Gitu, najdete v tomto blogovém příspěvku.

Tip

U dalších úloh správy přihlašovacích údajů Gitu, jako je ověřování Systému Windows, zvažte stažení a instalaci úložiště přihlašovacích údajů Windows pro Git.

Konfigurace úložiště certifikátů pro Git

  • Přihlaste se k počítači pomocí účtu, který patří do skupiny Administrators na tomto počítači.

  • Ujistěte se, že je v počítači nainstalovaný a nakonfigurovaný požadovaný certifikát, jak je uvedeno výše.

  • V podporovaném webovém prohlížeči extrahujte Azure DevOps Server kořenový certifikát jako soubor CER/PEM x.509 s kódováním base64.

  • Vytvořte soukromou kopii kořenového úložiště certifikátů Git a přidejte ji do soukromé uživatelské kopie úložiště.