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 Serveru můžete posílit tak, že ho nakonfigurujete tak, aby používal protokol HTTPS (Hypertext Transfer Protocol Secure) s protokolem SSL (Secure Sockets Layer). Můžete zvolit, jestli chcete tento protokol vyžadovat, což maximalizuje zabezpečení nasazení, nebo můžete kromě výchozího protokolu HTTP zvolit podporu protokolu HTTPS s protokolem SSL. Pokud používáte Release Management pro Visual Studio 2013, můžete ho také nakonfigurovat tak, aby používal protokol HTTPS s protokolem SSL, i když ho nemůžete nakonfigurovat tak, aby podporoval protokol HTTP i HTTPS s protokolem SSL.

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

V tomto tématu

Výhody podpory protokolu HTTPS s protokolem SSL kromě protokolu HTTP

Pokud nakonfigurujete nasazení Azure DevOps Serveru tak, aby podporovalo oba protokoly, uživatelé, jejichž počítače byly nakonfigurované pro PROTOKOL HTTPS s PROTOKOLem SSL, se připojí pomocí tohoto protokolu, což zajistí větší zabezpečení nasazení. Kromě toho se uživatelé, jejichž počítače jsou nakonfigurované jenom pro PROTOKOL HTTP, můžou připojit k vašemu nasazení. I když byste tuto konfiguraci neměli nasazovat přes veřejné sítě, můžete získat následující výhody tím, že budete pokračovat v podpoře připojení HTTP v řízeném síťovém prostředí:

  • Zabezpečení nasazení můžete v průběhu času zvýšit konfigurací klientských počítačů pro PROTOKOL HTTPS s protokolem SSL podle plánu. Pokud provedete fázovaný přístup, nemusíte současně upgradovat všechny počítače a uživatelé, jejichž počítače ještě nebyly upgradovány, se stále můžou připojit k nasazení.

  • Azure DevOps Server můžete snadněji konfigurovat a udržovat.

  • Volání z jedné webové služby do jiné jsou rychlejší než přes PROTOKOL HTTP s protokolem 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áží nad riziky zabezpečení.

Výhody vyžadování protokolu HTTPS s protokolem SSL pro všechna připojení

Pokud pro všechna připojení vyžadujete PROTOKOL HTTPS s protokolem 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 konfigurací certifikátů, jejichž platnost vyprší, když se očekává ukončení fáze projektu.

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

Než nakonfigurujete Azure DevOps Server tak, aby podporoval 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 nakonfigurovat, ale také spravovat certifikační autoritu (CA) a vztahy důvěryhodnosti certifikátů. Certifikační služby můžete používat v systémech Windows Server 2003 a Windows Server 2008, ale možná nebudete chtít investovat čas a prostředky, které vyžadují nasazení zabezpečené infrastruktury veřejných klíčů (PKI).

  • Musíte strávit významný čas nastavením a testováním některé z těchto konfigurací a řešení potíží s nasazením bude obtížnější.

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

  • Pokud vyžadujete protokol HTTPS s protokolem SSL, výkon vašeho nasazení bude pomalejší.

Konfigurace nasazení pro podporu nebo vyžadování PROTOKOLU HTTPS s protokolem SSL

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

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

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

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

  3. Nakonfigurujte Azure DevOps Server.

  4. Nakonfigurujte Team Foundation Build.

  5. Konfigurace Release Management pro Visual Studio 2013

  6. Nakonfigurujte klientské počítače.

Požadavky

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

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

    Postupy v tomto tématu odkazují na server nebo servery, na kterých běží logické komponenty v aplikacích a datových vrstvách pro Azure DevOps. Aplikace 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 Serveru.

  • Musíte mít certifikační autoritu( CA), ze které můžete vydávat certifikáty nebo jste se přihlásili 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žby, ale můžete použít libovolnou certifikační autoritu, kterou jste nakonfigurovali pro nasazení, nebo certifikáty od důvěryhodné certifikační autority třetí strany. Pokud certifikační autoritu nemáte, můžete si ji nainstalovat a nakonfigurovat ji. Další informace najdete v jedné z následujících sad dokumentace na webu společnosti Microsoft:

  • Abyste nakonfigurovali všechny komponenty nasazení pro PROTOKOL HTTPS a SSL, musíte být správce. Pokud pracujete v distribuovaném nasazení, ve kterém mají různí lidé oprávnění správce pro jednotlivé komponenty, budete muset s těmito lidmi koordinovat 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 Azure DevOps pro Team Foundation.

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

  • Pokud chcete nakonfigurovat Release Management, musíte patřit do skupiny Administrators na serveru, který hostuje Release Management Server, a být členem role Release Manager ve 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 zvlášť nastavená ekvivalentní oprávnění pro konfiguraci služby Reporting Services.

    Další informace o oprávněních najdete v referenčních informacích k oprávněním pro Azure DevOps Server.

Předpoklady

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

  • Server nebo servery datové vrstvy a aplikační vrstvy byly nainstalovány a nasazeny v zabezpečeném prostředí a nakonfigurovány podle osvědčených postupů zabezpečení.

  • Jste obeznámeni s konfigurací a správou infrastruktury veřejných klíčů a žádostí, vydáváním a přiřazováním certifikátů.

  • Znáte topologii sítě vývojového prostředí a znáte konfiguraci nastavení sítě, služby IIS a SQL Serveru.

Získání certifikátu

Než nakonfigurujete Azure DevOps Server tak, aby používal PROTOKOL 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 najdete 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 ručně nainstalovat certifikát na každý z následujících serverů v nasazení:

  • Každý server aplikační vrstvy.
  • Každý server, na kterém běží proxy server Azure DevOps, pokud jsou pro vaše nasazení nakonfigurované nějaké.
  • Každý server se službou Team Foundation Build Service jako kontroler sestavení nebo agent sestavení, pokud jsou pro vaše nasazení nakonfigurované nějaké.
  • 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, na kterých běží klient Release Management, a také všechny klienty¹, na kterých běží agent nasazení ve vašich prostředích vydaných verzí. Pokud jeden nebo více vašich projektů používá Git pro správu verzí, uživatelé v těchto projektech budou muset také nakonfigurovat Git na svých počítačích tak, aby rozpoznali a používali klientský certifikát. Informace o tom, jak požádat o klientský certifikát od konkrétní certifikační autority, najdete v dokumentaci pro danou certifikační autoritu.

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

  1. Otevřete správce Internetová informační služba (IIS).

  2. Rozbalte 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 žádost a dokončete ji.

    Další informace naleznete 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 vyžadovat tento certifikát s příslušnými nastaveními (s výjimkou webu Release Management, který nakonfigurujete později). Konkrétně to musíte udělat pro každý z následujících webů:

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

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

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

    Musíte nakonfigurovat vazby pro všechny lokality.

  6. V vazbách 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 pro každý z následujících webů musíte přiřadit jedinečné číslo portu: Výchozí web, Azure DevOps Server a Proxy serveru Azure DevOps (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 certifikátu SSL zvolte certifikát, který jste naimportovali, a 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 povolte, zakažte nebo proveďte další konfiguraci metody, jak nejlépe vyhovuje vašim potřebám zabezpečení. Pokud byste například chtěli zakázat anonymní ověřování, zvolili byste metodu anonymního ověřování a v nabídce Akce zvolte Zakázat.

    Zvolte metodu a pak akci, která se má 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, pečlivě 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 povolovala provoz na těchto portech.

Konfigurace služby SQL Server Reporting Services

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

Tip

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

Konfigurace HTTPS pro Azure DevOps Server

Podle těchto kroků nakonfigurujte nasazení Azure DevOps Serveru s porty HTTPS a hodnotami, které jste nakonfigurovali ve službě IIS pro výchozí weby a weby Azure DevOps Serveru.

Změna konfigurace Azure DevOps Serveru tak, aby používala nebo vyžadovala HTTPS

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

  2. V souhrnu aplikační vrstvy zvolte Změnit adresy URL.

    Otevře se okno Změnit adresy URL .

  3. Do adresy URL oznámení zadejte adresu URL HTTPS, kterou jste nakonfigurovali pro web Azure DevOps Serveru 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 místo localhost používáte plně kvalifikovaný název domény serveru.

    Zadejte adresu HTTPS, server a port.

  4. Zvolte Test. Pokud test neprojde, nevybírejte ok . Vraťte se 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 povolovaly 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 HTTPS, zvolte Použít v adrese URL serveru a zadejte adresu URL HTTPS, kterou jste nakonfigurovali pro web Azure DevOps Serveru.

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

  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. Jinak přeskočte zbytek tohoto postupu.

  8. V nástroji Vytváření sestav zvolte Upravit.

    Pokud se otevře dialogové okno Převést do režimu offline , zvolte OK.

    Otevře se okno Vytváření sestav .

  9. Zvolte kartu Sestavy. Do adres 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 nepovinný, ale důrazně se doporučuje.

Otestová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 k týmům a projektům z webového portálu, včetně stránek pro správu.

  3. Pokud nemůžete získat 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 provedli všechny změny konfigurace správně.

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

Abyste mohli používat PROTOKOL HTTPS s SSL, můžete vyžadovat všechna připojení k aplikační vrstvě Azure DevOps Serveru. 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 konfigurovat, zvolte Spustit, zvolte Nástroje pro správu a pak zvolte Internetová informační služba (IIS) Manager.

  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 položku Název_počítače, rozbalte weby a 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 klientských certifikátech zvolte v závislosti na požadavcích na zabezpečení vašeho nasazení možnost Ignorovat, Přijmout nebo Vyžadovat.

    5. V akcích zvolte Použít.

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

Instalace certifikátu na buildové servery

Pokud jste službu Team Foundation Build Service nainstalovali na jeden nebo více serverů, 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 naleznete v tématu Získání certifikátu a žádosti, instalace a konfigurace webů s certifikátem dříve v tomto tématu. Kontroler i agent vyžadují certifikát s privátním klíčem, pomocí kterého se mají identifikovat v připojeních HTTPS.

Poznámka:

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

Aktualizace konfigurací sestavení

Pokud chcete nakonfigurovat Team Foundation Build 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í v 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 zvolte Vlastnosti.

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

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

  5. V místním koncovém bodu služby sestavení (příchozí) zvolte Změnit.

    Otevře se dialogové okno Koncový bod služby sestavení.

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

  7. V protokolu 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 se shodují podrobnosti konfigurace.

  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 naleznete v tématu Správa důvěryhodných kořenových certifikátů.

Důležité

Tento postup nepoužívejte pro počítače, na kterých běží Azure DevOps Server i jeden nebo více klientů 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\ Uživatelské jméno \AppData\Local\Microsoft\Team Foundation\4.0\Cache

  4. Odstraňte obsah adresáře Mezipaměti. Ujistěte se, že odstraníte všechny podsložky.

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

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

    Poznámka:

    Možná budete chtít distribuovat pokyny pro vymazání mezipaměti všem uživatelům Azure DevOps, aby mohli vymazat mezipaměti pro sebe.

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 Serveru a sady Visual Studio nerozpozná úložiště certifikátů Windows. Místo toho pro úložiště certifikátů používá OpenSSL. Pokud chcete použít úložiště Git pro projekty nakonfigurované pomocí PROTOKOLU SSL, budete muset Git nakonfigurovat s certifikátem v kořenovém adresáři certifikačního řetězce pro vaše nasazení TFS 2013. Jedná se o úlohu konfigurace klienta, která se vztahuje pouze na projekty úložiště Git.

Další informace o fungování síťových operací Gitu v sadě Visual Studio 2013 najdete v tomto blogovém příspěvku.

Tip

U jiných úloh správy přihlašovacích údajů Gitu, jako je ověřování Systému Windows, zvažte stažení a instalaci Windows Credential Store 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 na počítači nainstalovaný a nakonfigurovaný požadovaný certifikát, jak je uvedeno výše.

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

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