Delen via


HTTPS instellen met Secure Sockets Layer (SSL) voor Azure DevOps on-premises

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

U kunt de beveiliging van uw implementatie van Azure DevOps Server versterken door deze te configureren voor gebruik van Hypertext Transfer Protocol Secure (HTTPS) met SSL (Secure Sockets Layer). U kunt ervoor kiezen om dit protocol te vereisen, waarmee de beveiliging van uw implementatie wordt gemaximaliseerd, of u kunt ervoor kiezen om HTTPS met SSL te ondersteunen, naast het standaardprotocol HTTP. Als u Releasebeheer voor Visual Studio 2013 gebruikt, kunt u dat ook configureren voor het gebruik van HTTPS met SSL, hoewel u deze niet kunt configureren voor ondersteuning van zowel HTTP als HTTPS met SSL.

Voordat u een configuratie kiest, bekijkt u de voor- en nadelen die hier worden beschreven. Nadat u de configuratie hebt geïdentificeerd die het beste voldoet aan de beveiligingsbehoeften van uw organisatie, volgt u de stappen in dit onderwerp om uw implementatie te configureren.

In dit onderwerp

Voordelen van het ondersteunen van HTTPS met SSL naast HTTP

Als u uw implementatie van Azure DevOps Server configureert ter ondersteuning van beide protocollen, maken gebruikers van wie de computers zijn geconfigureerd voor HTTPS met SSL verbinding met dat protocol, waardoor uw implementatie veiliger wordt. Bovendien kunnen gebruikers van wie de computers voor HTTP zijn geconfigureerd, nog steeds verbinding maken met uw implementatie. Hoewel u deze configuratie niet moet implementeren via openbare netwerken, kunt u de volgende voordelen krijgen door HTTP-verbindingen in een gecontroleerde netwerkomgeving te blijven ondersteunen:

  • U kunt de beveiliging van uw implementatie in de loop van de tijd verhogen door clientcomputers voor HTTPS met SSL te configureren als uw planning toestaat. Als u een gefaseerde benadering gebruikt, hoeft u niet alle computers tegelijk te upgraden en kunnen gebruikers van wie de computers nog niet zijn bijgewerkt, nog steeds verbinding maken met de implementatie.

  • U kunt Azure DevOps Server eenvoudiger configureren en onderhouden.

  • Oproepen van de ene webservice naar de andere zijn sneller via HTTP dan via HTTPS met SSL. Daarom kunt u HTTP-verbindingen blijven ondersteunen vanaf clientcomputers waarvoor de prestatievereisten opwegen tegen de beveiligingsrisico's.

Voordelen van het vereisen van HTTPS met SSL voor alle verbindingen

Als u HTTPS met SSL voor alle verbindingen nodig hebt, profiteert u van de volgende voordelen:

  • Alle webverbindingen tussen de toepassingslaag, de gegevenslaag en de clientlaag voor Azure DevOps zijn veiliger omdat ze certificaten nodig hebben.

  • U kunt de toegang eenvoudiger beheren door certificaten zo te configureren dat ze verlopen wanneer een projectfase naar verwachting wordt beëindigd.

Nadelen van het ondersteunen of vereisen van HTTPS met SSL

Voordat u Azure DevOps Server configureert om HTTPS met SSL te ondersteunen of te vereisen, moet u rekening houden met de volgende nadelen:

  • U kunt doorlopende beheertaken bemoeilijken. U moet uw implementatie bijvoorbeeld opnieuw configureren om het ondersteunen van HTTPS met SSL te stoppen voordat u servicepacks of andere updates kunt toepassen.

  • U moet niet alleen een certificeringsinstantie (CA) en certificaatvertrouwensrelaties configureren, maar ook beheren. U kunt Certificate Services gebruiken in Windows Server 2003 en Windows Server 2008, maar u wilt mogelijk niet investeren in de tijd en resources die een beveiligde openbare-sleutelinfrastructuur (PKI) implementeren.

  • U moet veel tijd besteden aan het instellen en testen van een van deze configuraties en het oplossen van problemen met uw implementatie wordt moeilijker.

  • Als u beide protocollen blijft ondersteunen, worden externe verbindingen mogelijk niet versleuteld als de toepassingslaag voor Azure DevOps niet juist is beveiligd.

  • Als u HTTPS met SSL nodig hebt, zijn de prestaties van uw implementatie langzamer.

Uw implementatie configureren om HTTPS via SSL te ondersteunen of vereisen.

In de procedures in dit onderwerp wordt één proces beschreven voor het aanvragen, uitgeven en toewijzen van certificaten die vereist zijn voor SSL-verbindingen in Azure DevOps Server. Als u andere software gebruikt dan wat in dit onderwerp wordt beschreven, moet u mogelijk verschillende stappen uitvoeren. Als u externe verbindingen met uw Azure DevOps Server-implementatie wilt ondersteunen, moet u ook Basisverificatie, Digest-verificatie of beide in IIS (Internet Information Services) inschakelen.

Door de procedures in dit onderwerp te volgen, voert u de volgende taken uit:

  1. Certificaten verkrijgen voor uw implementatie van Azure DevOps Server en de websites die worden gebruikt.

  2. Installeer en wijs de certificaten toe.

  3. Azure DevOps Server configureren.

  4. Configureer Team Foundation Build.

  5. Releasebeheer configureren voor Visual Studio 2013

  6. Clientcomputers configureren.

Vereiste voorwaarden

Als u de procedures in dit onderwerp wilt uitvoeren, moet u eerst voldoen aan de volgende vereisten:

  • De logische onderdelen in de gegevens- en toepassingslagen van Azure DevOps moeten worden geïnstalleerd, hoewel in het geval van Azure DevOps Server zelf niet noodzakelijkerwijs hoeft te zijn geconfigureerd. Deze lagen omvatten IIS, SQL Server en eventuele aanvullende onderdelen die u mogelijk hebt geïntegreerd, zoals Team Foundation Build en SQL Server Reporting Services.

    De procedures in dit onderwerp verwijzen naar de server of servers waarop de logische onderdelen in de toepassings- en gegevenslagen voor Azure DevOps worden uitgevoerd. De toepassings- en gegevenslagen worden mogelijk uitgevoerd op dezelfde server of meerdere servers, zoals beschreven in de installatiehandleiding van Azure DevOps Server.

  • U moet een certificeringsinstantie (CA) hebben waaruit u certificaten kunt verlenen of u zich hebt geabonneerd op een certificeringsinstantie van derden met een vertrouwde keten. In dit onderwerp wordt ervan uitgegaan dat u Certificate Services als uw CA gebruikt, maar u kunt elke CA gebruiken die u hebt geconfigureerd voor uw implementatie of certificaten van een vertrouwde certificeringsinstantie van derden. Als u geen certificeringsinstantie hebt, kunt u Certificate Services installeren en er een configureren. Zie een van de volgende sets documentatie op de Website van Microsoft voor meer informatie:

  • U moet een beheerder zijn om alle onderdelen van uw implementatie voor HTTPS en SSL te configureren. Als u in een gedistribueerde implementatie werkt waarbij verschillende personen beheerdersmachtigingen hebben voor afzonderlijke onderdelen, moet u met deze personen samenwerken om de configuratie te voltooien.

  • U moet specifiek deel uitmaken van de groep Team Foundation-beheerders en u moet deel uitmaken van de groep Administrators op de toepassingslaag, gegevenslaag en Azure DevOps-proxyserver of -servers voor Team Foundation.

  • Als u een buildserver wilt configureren, moet u deel uitmaken van de groep Administrators op die server.

  • Als u Releasebeheer wilt configureren, moet u deel uitmaken van de groep Administrators op de server waarop releasebeheerserver wordt gehost en lid is van de rol Releasebeheer in Releasebeheer .

  • Als uw implementatie gebruikmaakt van rapportage, moet u lid zijn van een beheerbeveiligingsgroep of gelijkwaardige machtigingen afzonderlijk hebben ingesteld voor het configureren van Reporting Services.

    Zie De machtigingsreferentie voor Azure DevOps Server voor meer informatie over machtigingen.

Aannamen

Bij de procedures in dit onderwerp wordt ervan uitgegaan dat aan de volgende voorwaarden wordt voldaan:

  • De server of servers in de gegevenslaag en de toepassingslaag zijn geïnstalleerd en geïmplementeerd in een beveiligde omgeving en geconfigureerd volgens de aanbevolen beveiligingsprocedures.

  • U bent bekend met het configureren en beheren van PKI's en het aanvragen, uitgeven en toewijzen van certificaten.

  • U hebt een werkende kennis van de netwerktopologie van de ontwikkelomgeving en u bent bekend met het configureren van netwerkinstellingen, IIS en SQL Server.

Een certificaat verkrijgen

Voordat u Azure DevOps Server configureert voor het gebruik van HTTPS met SSL, moet u een servercertificaat verkrijgen en installeren voor de servers in uw implementatie. Als u een servercertificaat wilt verkrijgen, moet u uw eigen certificeringsinstantie installeren en configureren of moet u een certificeringsinstantie gebruiken van een externe organisatie die u vertrouwt (certificaten van derden).

Zie de volgende onderwerpen op de Website van Microsoft voor meer informatie over het installeren van een certificeringsinstantie:

Websites aanvragen, installeren en configureren met een certificaat

Nadat u zich hebt aangemeld bij een certificeringsinstantie, moet u een certificaat aanvragen met IIS Manager of moet u het certificaat handmatig installeren op elk van de volgende servers in uw implementatie:

  • Elke toepassingslaagserver.
  • Elke server waarop Azure DevOps Proxy Server wordt uitgevoerd, indien aanwezig, zijn geconfigureerd voor uw implementatie.
  • Elke server waarop Team Foundation Build Service wordt uitgevoerd als een buildcontroller of een buildagent, indien aanwezig, is geconfigureerd voor uw implementatie.
  • De server waarop Reporting Services wordt uitgevoerd, als er een is geconfigureerd voor uw implementatie.

Bovendien moeten de clientcomputers in uw implementatie worden ingeschreven in de certificaatketen en het benodigde certificaat aanvragen. Als u Releasebeheer gebruikt, omvat dit alle computers waarop de Release Management-client wordt uitgevoerd, evenals clients die de implementatieagent uitvoeren in uw releaseomgevingen. Als een of meer van uw projecten Git gebruiken voor versiebeheer, moeten gebruikers in deze projecten ook Git op hun computers configureren om het clientcertificaat te herkennen en te gebruiken. Zie de documentatie van die certificeringsinstantie voor informatie over het aanvragen van een clientcertificaat bij een specifieke certificeringsinstantie.

¹ Clients en servers worden hier afzonderlijk genoemd, maar dat is slechts een conventie van dit document. Op elke computer waarop de implementatieagent wordt uitgevoerd, moet het certificaat zijn geïnstalleerd.

  1. Open Internet Information Services (IIS)-beheer.

  2. Vouw uw server uit, navigeer naar Servercertificaten en maak en voltooi uw certificaataanvraag.

    IIS-beheer openen en een certificaat aanvragen

    Maak een aanvraag en voltooi deze

    Zie Servercertificaten configureren in IIS voor meer informatie.

  3. Importeer het certificaat.

  4. Nu moet u elke website configureren waarvoor dit certificaat is vereist met de juiste instellingen (met uitzondering van de releasebeheerwebsite, die u later gaat configureren). U moet dit met name doen voor elk van de volgende websites:

    • Standaardwebsite
    • Azure DevOps Server
    • Azure DevOps Server-proxy (als uw implementatie deze gebruikt)

    Open IiS-beheer (Internet Information Services) op elke server die als host fungeert voor een website die u wilt configureren.

  5. Vouw ComputerName uit, vouw Sites uit, open het submenu voor de website die u wilt configureren (bijvoorbeeld Azure DevOps Server) en kies bindingen in het deelvenster Acties.

    U moet bindingen configureren voor alle sites

  6. Kies Toevoegen in sitebindingen.

    Het dialoogvenster Sitebinding toevoegen wordt weergegeven.

  7. Kies https in de lijst Type.

    Typ in Poort een ander poortnummer.

    Belangrijk

    Het standaardpoortnummer voor SSL-verbindingen is 443, maar u moet een uniek poortnummer toewijzen voor elk van de volgende sites: Standaardwebsite, Azure DevOps Server en Azure DevOps Server-proxy (als uw implementatie dit gebruikt). Noteer het SSL-poortnummer voor elke website die u configureert. U moet deze getallen opgeven in de beheerconsole voor Azure DevOps.

    Kies in SSL-certificaat het certificaat dat u hebt geïmporteerd en kies vervolgens OK en sluit de pagina Bindingen.

    Zorg ervoor dat u een uniek poortnummer kiest

  8. Open de weergave Functies op de startpagina voor de website die u configureert.

  9. Kies Verificatie onder IIS.

  10. Kies een verificatiemethode die u wilt configureren, open het submenu en schakel vervolgens aanvullende configuratie voor de methode in, schakel deze uit of voer deze uit, zoals het beste voldoet aan uw beveiligingsbehoeften. Als u bijvoorbeeld anonieme verificatie wilt uitschakelen, kiest u de methode Anonieme verificatie en kiest u Uitschakelen in het menu Acties.

    Kies de methode en vervolgens de actie die u wilt uitvoeren

  11. Zodra u klaar bent met de configuratie, start u webservices opnieuw.

Uw firewall configureren

U moet uw firewall configureren om verkeer toe te staan via de SSL-poorten die u zojuist hebt opgegeven in IIS. Zie de documentatie voor uw firewall voor meer informatie.

Belangrijk

Zorg ervoor dat u verkeer test op de poorten die u hebt opgegeven vanaf een andere computer. Als u geen toegang hebt tot de standaardwebsite of webportal, controleert u de poortinstellingen die u hebt opgegeven voor deze websites in IIS en controleert u of de firewall juist is geconfigureerd om verkeer op deze poorten toe te staan.

SQL Server Reporting Services configureren

Als uw implementatie gebruikmaakt van rapportage, moet u SQL Server Reporting Services configureren voor ondersteuning van HTTPS met SSL en de poort gebruiken die u hebt opgegeven in IIS voor Azure DevOps Server. Anders werkt de rapportserver niet correct voor uw implementatie. Zie Een rapportserver configureren voor SSL-verbindingen (Secure Sockets Layer) voor meer informatie.

Aanbeveling

Als uw implementatie geen rapportage gebruikt, kunt u deze procedure overslaan.

HTTPS configureren voor Azure DevOps Server

Volg deze stappen om uw Azure DevOps Server-implementatie te configureren met de HTTPS-poorten en -waarden die u hebt geconfigureerd in IIS voor de standaard- en Azure DevOps Server-websites.

Azure DevOps Server opnieuw configureren voor het gebruik van of vereisen van HTTPS

  1. Open de beheerconsole voor Azure DevOps en blader naar het knooppunt van de toepassingslaag.

  2. Kies In Samenvatting van toepassingslaagde optie URL's wijzigen.

    Het venster URL's wijzigen wordt geopend.

  3. Typ in de meldings-URL de HTTPS-URL die u hebt geconfigureerd voor de Azure DevOps Server-website in IIS.

    U hebt bijvoorbeeld de website geconfigureerd voor het gebruik van poort 444. In dit geval typt u https:// ServerName:444/tfs. Zorg ervoor dat u de volledig gekwalificeerde domeinnaam van de server gebruikt in plaats van localhost.

    HTTPS, server en poort opgeven in het adres

  4. Kies Testen. Kies niet OK als de test niet doorkomt. Ga terug en zorg ervoor dat u de juiste URL en poortgegevens hebt ingevoerd, dat alle firewalls zijn geconfigureerd om verkeer op deze poorten toe te staan en dat de site beschikbaar is en wordt uitgevoerd in IIS-beheer.

  5. Als u HTTPS wilt vereisen, kiest u Gebruiken in server-URL en typt u vervolgens de HTTPS-URL die u hebt geconfigureerd voor de Azure DevOps Server-website.

    Zorg ervoor dat u de volledig gekwalificeerde domeinnaam van de server gebruikt in plaats van localhost.

  6. Kies Testen en kies VERVOLGENS OK als de test is geslaagd.

  7. Als uw implementatie Gebruikmaakt van Reporting Services, kiest u Rapportage in de beheerconsole. Sla anders de rest van deze procedure over.

  8. Kies Bewerken in Rapportage.

    Als het dialoogvenster Offline halen wordt geopend, kiest u OK.

    Het venster Rapportage wordt geopend.

  9. Kies het tabblad Rapporten . Typ in URL's voor Report Server de HTTPS-URL's voor webservice en Report Manager en kies VERVOLGENS OK.

Toegang tot uw implementatie testen

U moet testen of uw wijzigingen naar verwachting functioneren. Deze stap is optioneel, maar wordt sterk aanbevolen.

Om de toegang tot uw implementatie te testen

  1. Open een webbrowser op een computer waarop de toepassingslaag niet wordt gehost en ga naar de startpagina van een team.

  2. Controleer of u toegang hebt tot uw teams en projecten via de webportal, inclusief de beheerpagina's.

  3. Als u geen toegang hebt tot uw implementatie via de webportal, controleert u de stappen die u zojuist hebt voltooid en controleert u of u alle configuratiewijzigingen correct hebt aangebracht.

Uw implementatie configureren om HTTPS met SSL te vereisen (optioneel)

U kunt alle verbindingen met de Azure DevOps Server-toepassingslaag vereisen voor het gebruik van HTTPS met SSL. Deze extra beveiliging is optioneel, maar wordt aanbevolen.

Vereisen dat SSL-verbindingen gebruikt worden

  1. Kies Start op de server waarop de website wordt gehost die u wilt configureren, kies Beheerprogramma's en kies Vervolgens Internet Information Services (IIS) Manager.

  2. Volg de juiste stappen voor uw versie van IIS:

    Voor implementaties die gebruikmaken van IIS 7.0:

    1. Vouw ComputerName uit, vouw Websites uit en kies vervolgens de website die u wilt configureren.

    2. Kies SSL-instellingen op de startpagina voor die website.

    3. Schakel in het deelvenster SSL-instellingen het selectievakje SSL vereisen in.

      (Optioneel) Schakel het selectievakje 128-bits SSL vereisen in.

    4. Kies in clientcertificatennegeren, accepteren of vereisen, afhankelijk van de beveiligingsvereisten van uw implementatie.

    5. Kies Toepassen in Acties.

    6. Herhaal deze stappen voor elke website waarvoor u SSL wilt vereisen.

Het certificaat installeren op buildservers

Als u Team Foundation Build Service hebt geïnstalleerd op een of meer servers, moet u het certificaat installeren in de Trusted Root Certification Authorities opslagplaats van elke server. Zie Het verkrijgen van een certificaat en het aanvragen, installeren en configureren van websites met een certificaat eerder in dit onderwerp voor meer informatie. Zowel de controller als de agent vereisen een certificaat met een persoonlijke sleutel waarmee ze zich kunnen identificeren in HTTPS-verbindingen.

Opmerking

Als u builds via SSL wilt uitvoeren, moet het certificaat worden geïnstalleerd in het vertrouwde basisarchief op zowel de buildcontroller als de buildagent.

Buildconfiguraties bijwerken

Als u Team Foundation Build voor SSL-verbindingen wilt configureren, moet u de buildservice configureren voor het gebruik van de HTTPS-URL die u hebt geconfigureerd voor de toepassingslaag en de verzameling die door de buildconfiguratie wordt ondersteund. U moet deze URL configureren voor elke buildconfiguratie in uw implementatie.

Een buildconfiguratie wijzigen voor het gebruik van HTTPS

  1. Open de beheerconsole voor Team Foundation op de server waarop de buildconfiguratie wordt gehost die u wilt configureren.

  2. Vouw onder Team Foundation de naam van de server uit en kies buildconfiguratie.

    Het deelvenster Buildconfiguratie wordt weergegeven.

  3. Kies Onder de serviceconfiguratie de optie Stoppen en kies vervolgens Eigenschappen.

    Het dialoogvenster Eigenschappen van de buildservice wordt geopend.

  4. Zorg er in Communicatie voor dat de URL voor de projectverzameling het juiste HTTPS-adres en de volledige servernaam gebruikt.

  5. Kies Wijzigen in Lokaal buildservice-eindpunt (inkomend).

    Het dialoogvenster Service-eindpunt bouwen wordt geopend.

  6. Controleer in Eindpuntdetails of het poortnummer overeenkomt met uw configuratiegegevens.

  7. Kies HTTPS in Protocol.

  8. Kies in de lijst MET SSL-certificaten het certificaat dat u hebt geïnstalleerd en geconfigureerd voor gebruik met deze implementatie en kies vervolgens OK.

    Zorg ervoor dat de configuratiedetails overeenkomen

  9. Kies Start in het dialoogvenster Eigenschappen van buildservice.

Configureren van cliëntencomputers

Op elke clientcomputer van waaruit gebruikers toegang hebben tot Azure DevOps, moet u het certificaat lokaal installeren en de clientcache wissen voor elke gebruiker die Azure DevOps vanaf die computer heeft geopend. Anders kunnen gebruikers vanaf die computer geen verbinding maken met Azure DevOps. Zie Vertrouwde basiscertificaten beheren voor meer informatie.

Belangrijk

Volg deze procedure niet voor computers waarop zowel Azure DevOps Server als een of meer clients van Azure DevOps worden uitgevoerd.

Het certificaat installeren op een clientcomputer

  1. Meld u aan bij de computer met een account dat deel uitmaakt van de groep Administrators op die computer.

  2. Installeer het certificaat in de map Vertrouwde basiscertificeringsinstanties voor de lokale computer.

De cache op een clientcomputer wissen

  1. Meld u aan bij de computer met behulp van de referenties van de gebruiker waarvan u de cache wilt wissen.

  2. Sluit alle geopende exemplaren van Visual Studio.

  3. Open in een browservenster de volgende map:

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

  4. Verwijder de inhoud van de map Cache. Zorg ervoor dat u alle submappen verwijdert.

  5. Kies Start, kies Uitvoeren, typ devenv /resetuserdata en kies VERVOLGENS OK.

  6. Herhaal deze stappen voor het account van elke gebruiker die vanaf die computer toegang heeft gekregen tot Team Foundation.

    Opmerking

    U kunt instructies voor het wissen van de cache distribueren naar al uw Azure DevOps-gebruikers, zodat ze de caches voor zichzelf kunnen wissen.

Clientcomputers verbinden met de opnieuw geconfigureerde implementatie

Git configureren

Projecten die gebruikmaken van Git voor versiebeheer, kunnen standaard niet het SSL-certificaat valideren dat u hebt geconfigureerd voor Azure DevOps Server. Dit komt doordat Git, in tegenstelling tot Azure DevOps Server en Visual Studio, het Windows-certificaatarchief niet herkent. In plaats daarvan wordt OpenSSL gebruikt voor het certificaatarchief. Als u een Git-opslagplaats wilt gebruiken voor projecten die zijn geconfigureerd met SSL, moet u Git configureren met het certificaat in de hoofdmap van de certificeringsketen voor uw TFS 2013-implementatie. Dit is een clientconfiguratietaak die alleen van toepassing is op Git-opslagplaatsprojecten.

Zie dit blogbericht voor meer informatie over hoe Git-netwerkbewerkingen werken in Visual Studio 2013.

Aanbeveling

Voor andere Git-referentiebeheertaken, zoals Windows-verificatie, kunt u overwegen Windows Credential Store voor Git te downloaden en te installeren.

Het certificaatarchief voor Git configureren

  • Meld u aan bij de computer met een account dat deel uitmaakt van de groep Administrators op die computer.

  • Zorg ervoor dat het vereiste certificaat is geïnstalleerd en geconfigureerd op de computer, zoals hierboven is beschreven.

  • Pak in uw ondersteunde webbrowser het Basiscertificaat van Azure DevOps Server uit als een met base64 gecodeerd CER/PEM-bestand.

  • Maak een persoonlijke kopie van de Git-rootcertificaatwinkel en voeg deze toe aan uw persoonlijke gebruikerskopie van de winkel.