Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Wanneer u informatie en gegevens verwerkt, met name in een cloudoplossing zoals Azure DevOps Services, moet beveiliging de hoogste prioriteit hebben. Hoewel Microsoft de beveiliging van de onderliggende cloudinfrastructuur garandeert, is het uw verantwoordelijkheid om beveiliging in Azure DevOps te configureren. Dit artikel bevat een overzicht van de benodigde beveiligingsconfiguraties om uw Azure DevOps-omgeving te beschermen tegen bedreigingen en beveiligingsproblemen.
Uw netwerk en gegevens beveiligen
Het beveiligen van uw netwerk is van cruciaal belang wanneer u met Azure DevOps werkt om uw gegevens en resources te beschermen tegen onbevoegde toegang en mogelijke bedreigingen. Implementeer maatregelen voor netwerkbeveiliging en gegevensbescherming om ervoor te zorgen dat alleen vertrouwde bronnen toegang hebben tot uw Azure DevOps-omgeving. Voer de volgende acties uit om uw netwerk te beveiligen wanneer u met Azure DevOps werkt:
- Ip-acceptatielijst instellen: beperk de toegang tot specifieke IP-adressen om alleen verkeer van vertrouwde bronnen toe te staan, waardoor de kwetsbaarheid voor aanvallen wordt verminderd. Als uw organisatie is beveiligd met een firewall of proxyserver, voegt u IP's en URL's toe aan de acceptatielijst.
- Gegevensversleuteling gebruiken: Beveilig uw gegevens met behulp van versleutelings-, back-up- en herstelstrategieën. Versleutel gegevens altijd tijdens overdracht en in rust. Beveilig communicatiekanalen met behulp van protocollen zoals HTTPS. Meer informatie over Azure Encryption.
- Certificaten valideren: Zorg ervoor dat certificaten geldig zijn en worden uitgegeven door vertrouwde autoriteiten bij het tot stand brengen van verbindingen.
- WaF's (Web Application Firewalls) implementeren: Filteren, bewaken en blokkeren van schadelijk webverkeer met WAF's voor een extra beveiligingslaag tegen veelvoorkomende aanvallen.
- Overzicht van netwerkbeveiligingsgroepen (NSG's): Gebruik NSG's om inkomend en uitgaand verkeer naar Azure-resources te beheren, zodat alleen geautoriseerd verkeer is toegestaan.
- Azure Firewall gebruiken: Implementeer Azure Firewall om gecentraliseerd netwerkbeveiligingsbeleid te bieden voor meerdere Azure-abonnementen en virtuele netwerken.
- Netwerkverkeer bewaken met Azure Network Watcher: Gebruik Azure Network Watcher om netwerkproblemen te bewaken en diagnosticeren, zodat de beveiliging en prestaties van uw netwerk worden gegarandeerd.
- DDoS-beveiliging implementeren met Azure DDoS Protection: Schakel Azure DDoS Protection in om uw toepassingen te beschermen tegen DDoS-aanvallen (Distributed Denial of Service).
Zie Best practices voor toepassingsbeheer voor meer informatie.
Zero Trust implementeren
Gebruik Zero Trust-principes in uw DevOps-processen om ervoor te zorgen dat elke toegangsaanvraag grondig wordt geverifieerd, ongeacht de oorsprong ervan. Zero Trust werkt volgens het principe 'nooit vertrouwen, altijd verifiëren', wat betekent dat er geen entiteit, ongeacht of deze zich binnen of buiten het netwerk bevindt, standaard wordt vertrouwd. Door Zero Trust te implementeren, kunt u het risico op beveiligingsschendingen aanzienlijk verminderen en ervoor zorgen dat alleen geautoriseerde gebruikers en apparaten toegang hebben tot uw resources.
- Uw DevOps-platform versterken
- Uw ontwikkelomgeving beveiligen
- Zero Trust naadloos integreren in uw ontwikkelwerkstromen
Zero Trust helpt om te beschermen tegen laterale verplaatsing binnen het netwerk, zodat zelfs als er een gecompromitteerd deel van het netwerk is, de bedreiging is opgenomen en niet kan worden verspreid. Zie de Zero Trust Assessment-handleiding voor meer informatie.
Voldoen aan industriestandaarden
Zorg ervoor dat uw Azure DevOps-omgeving voldoet aan industriestandaarden en -voorschriften die uw omgeving beschermen en vertrouwen met uw gebruikers behouden.
- Naleving van industriestandaarden garanderen: Azure DevOps voldoet aan verschillende industriestandaarden en -voorschriften, zoals ISO/IEC 27001, SOC 1/2/3 en AVG. Zorg ervoor dat uw omgeving aan deze standaarden voldoet.
- Nalevingsbeleid afdwingen: Implementeer vertakkingsbeleid en nalevingsbeleid voor uw pijplijnen.
-
Aanmelden bij Component Governance voor CI/CD's, dat de volgende voordelen biedt:
- Detectie van beveiligingsproblemen: waarschuwt u voor bekende beveiligingsproblemen in opensource-onderdelen.
- Licentienaleving: zorgt ervoor dat onderdelen voldoen aan het licentiebeleid van uw organisatie.
- Afdwingen van beleid: zorgt ervoor dat alleen goedgekeurde versies worden gebruikt.
- Zichtbaarheid met tracering: biedt inzicht in onderdelen in opslagplaatsen voor eenvoudiger beheer.
Toegang beheren en beperken
Bekijk alle beveiligingsbeleidsregels die beschikbaar zijn voor beheerders om te beperken en te bepalen wie toegang heeft tot de organisatie. Beheer van de organisatie door onnodige projectcreatie te voorkomen.
- Schakel 'Openbare projecten toestaan' uit: schakel de optie uit om openbare projecten te maken. De zichtbaarheid van het project wijzigen van openbaar naar privé, indien nodig. Gebruikers die zich nooit hebben aangemeld, hebben alleen-lezentoegang tot openbare projecten, terwijl aangemelde gebruikers toegang kunnen krijgen tot privéprojecten en toegestane wijzigingen kunnen aanbrengen.
- Beperk onnodige verificatiemechanismen en beperk wie toegang heeft tot toegestane verificatie.
-
Toegang beperken met beleid voor voorwaardelijke toegang: beveilig uw organisatie door beleid voor voorwaardelijke toegang (CAP's) op Microsoft Entra te definiëren die reageren op aanmeldingsgebeurtenissen en andere acties aanvragen voordat een gebruiker toegang krijgt.
- Schakel het organisatiebeleid in om IP CAP-validatie in te schakelen voor niet-interactieve stromen.
- Voeg een extra beveiligingslaag toe door Meervoudige verificatie van Microsoft Entra in te schakelen na aanmelding.
Externe gasten beheren
Externe gasttoegang kan potentiële beveiligingsrisico's veroorzaken als deze niet goed worden beheerd. Minimaliseer deze risico's en zorg ervoor dat externe gasten het juiste toegangsniveau hebben zonder de beveiliging van uw omgeving in gevaar te brengen.
-
Externe gasttoegang blokkeren: Schakel het beleid 'Uitnodigingen mogen worden verzonden naar een domein' uit om externe gasttoegang te voorkomen als dit niet nodig is.
- Organisatiebeleid voor externe gasttoegang uitschakelen in Azure DevOps.
- Afzonderlijke e-mailberichten of UPN's gebruiken: Gebruik verschillende e-mailadressen of UPN's (User Principal Names) voor persoonlijke en zakelijke accounts om dubbelzinnigheid tussen persoonlijke en werkgerelateerde accounts te elimineren.
- Externe gastgebruikers groeperen: Plaats alle externe gastgebruikers in één Microsoft Entra-groep en beheer machtigingen voor deze groep op de juiste manier. Verwijder directe toewijzingen om ervoor te zorgen dat groepsregels van toepassing zijn op deze gebruikers.
- Regels regelmatig opnieuw evalueeren: Controleer regelmatig de regels op het tabblad Groepsregels van de pagina Gebruikers. Houd rekening met eventuele wijzigingen in het groepslidmaatschap in Microsoft Entra-id die van invloed kunnen zijn op uw organisatie. Het kan tot 24 uur duren voordat microsoft Entra ID dynamisch groepslidmaatschap bijwerkt en regels worden elke 24 uur automatisch opnieuw geëvalueerd en wanneer een groepsregel wordt gewijzigd.
Zie B2B-gasten in de Microsoft Entra-id voor meer informatie.
Overbodige gebruikers verwijderen
Het verwijderen van inactieve of niet-geautoriseerde gebruikers uit uw organisatie helpt een veilige omgeving te onderhouden en vermindert het risico op mogelijke beveiligingsschendingen.
- Inactieve Microsoft-accountgebruikers (MSA's) rechtstreeks verwijderen: Verwijder inactieve gebruikers rechtstreeks uit uw organisatie als ze MSA's gebruiken. U kunt geen query's maken voor werkitems die zijn toegewezen aan verwijderde MSA-accounts.
- Microsoft Entra-gebruikersaccounts uitschakelen of verwijderen: Als u verbinding hebt met Microsoft Entra-id, schakelt u het Microsoft Entra-gebruikersaccount uit of verwijdert u dit terwijl het Azure DevOps-gebruikersaccount actief blijft. U kunt doorgaan met het opvragen van de geschiedenis van werkitems met behulp van hun Azure DevOps-gebruikers-id.
- Gebruikers-PAT's intrekken voor beheerders: Zorg voor veilig beheer van deze kritieke verificatietokens door regelmatig bestaande gebruikers-PAT's te controleren en in te trekken.
- Speciale machtigingen intrekken die zijn verleend aan afzonderlijke gebruikers: Controleer en trek eventuele speciale machtigingen in die aan individuele gebruikers zijn verleend om te zorgen voor afstemming met het principe van minimale bevoegdheden.
- Werk opnieuw toewijzen aan verwijderde gebruikers: Voordat u gebruikers verwijdert, moet u hun werkitems opnieuw toewijzen aan huidige teamleden om de belasting effectief te distribueren.
Toegangsmachtigingen
Geef de minimaal benodigde machtigingen en toegangsniveaus op om ervoor te zorgen dat alleen geautoriseerde personen en services toegang hebben tot gevoelige informatie en kritieke acties kunnen uitvoeren. Deze procedure helpt bij het minimaliseren van het risico op onbevoegde toegang en mogelijke schendingen van gegevens.
Controleer en werk deze instellingen regelmatig bij om zich aan te passen aan wijzigingen in uw organisatie, zoals rolwijzigingen, nieuwe medewerkers of vertrek. Het implementeren van een periodieke controle van machtigingen en toegangsniveaus kan helpen bij het identificeren en corrigeren van eventuele verschillen, zodat uw beveiligingspostuur robuust en afgestemd blijft op aanbevolen procedures.
Meer informatie over machtigingen:
Om te zorgen voor een veilig en efficiënt beheer van machtigingen, moet u machtigingen binnen uw Azure DevOps-omgeving op de juiste manier instellen. Het bereik van machtigingen omvat het definiëren en toewijzen van het juiste toegangsniveau voor gebruikers en groepen op basis van hun rollen en verantwoordelijkheden. Deze procedure helpt bij het minimaliseren van het risico op onbevoegde toegang en mogelijke schendingen van gegevens door ervoor te zorgen dat alleen geautoriseerde personen toegang hebben tot gevoelige informatie en kritieke acties.
Om toestemmingen effectief te beheren, onderneemt u de volgende stappen:
- Overname uitschakelen: Voorkom overname van machtigingen en voorkom onbedoelde toegang. Overerving kan per ongeluk machtigingen verlenen aan gebruikers die ze niet mogen hebben, omdat toestemmingen standaard worden verleend. Beheer en stel expliciet machtigingen in om ervoor te zorgen dat alleen de beoogde gebruikers toegang hebben.
- Segmentomgevingen: Gebruik afzonderlijke Azure-accounts voor verschillende omgevingen, zoals Ontwikkeling, Testen en Productie, om de beveiliging te verbeteren en conflicten te voorkomen. Deze aanpak minimaliseert het risico op resourceconflicten en gegevensbesmetting tussen omgevingen en maakt een beter beheer en isolatie van resources mogelijk. Zie Azure Landing Zone voor meer informatie.
- Toegang beheren en naleving garanderen: Gebruik Azure Policy om de toegang tot ongebruikte Azure-regio's en -services te beperken, zodat de naleving van de organisatiestandaarden wordt gewaarborgd. Met deze actie kunt u best practices afdwingen en een beveiligde omgeving onderhouden door onbevoegde toegang en gebruik te voorkomen.
- Rolgebaseerde toegangscontrole van Azure (ABAC) implementeren: Gebruik ABAC met goed getagde resources om onbevoegde toegang te voorkomen. Deze actie zorgt ervoor dat toegangsmachtigingen worden verleend op basis van specifieke kenmerken, waardoor beveiliging wordt verbeterd door te voorkomen dat onbevoegde resources worden gemaakt en toegang krijgen.
-
Beveiligingsgroepen gebruiken: Gebruik beveiligingsgroepen om machtigingen voor meerdere gebruikers efficiënt te beheren. Deze methode vereenvoudigt het verlenen en intrekken van toegang in vergelijking met het afzonderlijk toewijzen van machtigingen en zorgt voor consistentie en eenvoudiger beheer binnen uw organisatie.
- Gebruik Microsoft Entra ID-, Active Directory- of Windows-beveiligingsgroepen wanneer u veel gebruikers beheert.
- Verminder het risico op het lekken van gevoelige informatie en het implementeren van onveilige code door de toegang tot projecten en opslagplaatsen te beperken tot ingebouwde of aangepaste beveiligingsgroepen.
- Maak gebruik van ingebouwde rollen en stel de standaardrol voor ontwikkelaars in op Bijdrager. Beheerders worden toegewezen aan de beveiligingsgroep Projectbeheerder voor verhoogde machtigingen, zodat ze beveiligingsmachtigingen kunnen configureren.
- Houd groepen zo klein mogelijk, waardoor de toegang wordt beperkt.
- Just-In-Time-toegang implementeren met een Microsoft Entra Privileged Identity Management-groep (PIM). Verlenen alleen verhoogde machtigingen wanneer dat nodig is, waardoor het risico voor permanente toegang wordt verminderd.
Stoppen met serviceaccounts
In het verleden werden serviceaccounts gebruikt met persoonlijke toegangstokens (PAT's) om hulpprogramma's te bouwen die geautomatiseerde processen en services uitvoeren. Als gevolg hiervan hebben ze vaak verhoogde machtigingen. Voordat u ervoor kiest om door te gaan met het bouwen met een serviceaccount, moet u verkennen of dit nog steeds de juiste verificatiemethode voor u is.
- Vervang uw PAW's door Microsoft Entra-tokens:Microsoft Entra-tokens zijn kortlevende tokens (één uur) die kunnen worden gebruikt in plaats van de meeste PAW's. PAT's zijn populair vanwege hun gebruiksgemak, maar ze zijn ook een populaire aanvalsvector vanwege het gemak waarin ze worden gelekt.
- Lees meer over alle verificatiemechanismen die beschikbaar zijn voordat u er een kiest.
-
Gebruik in plaats daarvan service-principals:Service-principals vertegenwoordigen de identiteit van een Microsoft Entra-toepassing en hebben hun eigen machtigingen waarmee wordt gedefinieerd wat de toepassing in een bepaalde tenant kan doen. Service-principals zijn de aanbevolen keuze voor het beheren van de machtigingen die nodig zijn voor de app. Vervang de PAT's van serviceaccounts door Microsoft Entra-tokens die zijn verkregen voor de service-principal.
- Voer nog een stap verder uit door verificatie uit te voeren met behulp van een beheerde identiteit als u bouwt aan Azure-resources. Beheerde identiteiten zorgen voor alle referentiebeheer voor u.
-
Serviceverbindingen gebruiken: Met serviceverbindingen kunt u serviceprincipals binnen een pijplijn gebruiken. Gebruik waar mogelijk serviceverbindingen om veilig verbinding te maken met services zonder geheime variabelen rechtstreeks door te geven aan builds. Beperk verbindingen met specifieke gebruiksvoorbeelden. Zie de sectie Scope-serviceverbindingen in dit artikel voor meer informatie.
- Verifieer met Azure-resources met behulp van workloadidentiteitsfederatie met een app-registratie of beheerde identiteit in plaats van een app-registratie met een geheim.
Terwijl een serviceaccount in gebruik blijft:
- Serviceaccounts voor één doel maken: Elke service moet zijn toegewezen account hebben om het risico te minimaliseren. Vermijd het gebruik van gewone gebruikersaccounts als serviceaccounts.
- Ongebruikte serviceaccounts identificeren en uitschakelen: Controleer en identificeer regelmatig accounts die niet meer worden gebruikt. Schakel ongebruikte accounts uit voordat u het verwijderen overweegt.
- Bevoegdheden beperken: Beperk de bevoegdheden van het serviceaccount tot het minimum dat nodig is. Vermijd interactieve aanmeldingsrechten voor serviceaccounts.
- Afzonderlijke identiteiten gebruiken voor rapportlezers: Als u domeinaccounts gebruikt voor serviceaccounts, gebruikt u een andere identiteit voor rapportlezers om machtigingen te isoleren en onnodige toegang te voorkomen.
- Lokale accounts gebruiken voor werkgroepinstallaties: Wanneer u onderdelen in een werkgroep installeert, gebruikt u lokale accounts voor gebruikersaccounts. Vermijd domeinaccounts in dit scenario.
- Activiteit van serviceaccount bewaken: Implementeer controle en maak controlestromen om de activiteit van het serviceaccount te bewaken.
Reikwijdte van serviceverbindingen
Om veilige en efficiënte toegang tot Azure-resources te garanderen, moet u serviceverbindingen op de juiste manier in te stellen. Met serviceverbindingen kan Azure DevOps verbinding maken met externe services en resources. Door deze verbindingen te beperken, kunt u de toegang beperken tot alleen de benodigde resources en het risico op onbevoegde toegang beperken.
- Toegang beperken: Beperk de toegang door het bereik van uw Azure Resource Manager-serviceverbindingen met specifieke resources en groepen te beperken. Verdeel geen brede inzenderrechten voor het hele Azure-abonnement.
- Azure Resource Manager gebruiken: Authenticatie met Azure-resources door workloadidentiteitsfederatie te gebruiken met ofwel een app-registratie of een beheerde identiteit in plaats van een app-registratie met een geheim. Voor meer informatie, zie Een Azure Resource Manager-serviceverbinding maken die gebruikmaakt van workloadidentiteitsfederatie.
- Scope van resourcegroepen: Zorg ervoor dat de resourcegroepen alleen de virtuele machines (VM's) of resources bevatten die nodig zijn voor het buildproces.
- Vermijd klassieke serviceverbindingen: Kies voor moderne Azure Resource Manager-serviceverbindingen in plaats van klassieke verbindingen, die geen bereikopties hebben.
- Doelspecifieke teamserviceaccounts gebruiken: Verifieer serviceverbindingen met behulp van doelspecifieke teamserviceaccounts om beveiliging en controle te behouden.
Zie Common Service Connection Types voor meer informatie.
Controle-gebeurtenissen controleren
Controle kan worden gebruikt om gebruikersacties, machtigingenwijzigingen en gebruikspatronen binnen uw organisatie bij te houden. Gebruik deze hulpprogramma's om potentiële beveiligingsincidenten onmiddellijk te identificeren en aan te pakken.
- Controle inschakelen: Gebeurtenissen met betrekking tot gebruikersacties, machtigingen, wijzigingen en beveiligingsincidenten bijhouden en weergeven.
- Controleer regelmatig auditlogboeken en streams: Controleer regelmatig auditlogboeken om gebruikersactiviteiten te controleren en verdacht gedrag te detecteren. Zoek naar onverwachte gebruikspatronen, met name door beheerders en andere gebruikers. Deze actie helpt potentiële beveiligingsschendingen te identificeren en corrigerende acties uit te voeren. Meer informatie over de controle-gebeurtenissen die we bijhouden.
- Beveiligingswaarschuwingen configureren: Configureer waarschuwingen om u op de hoogte te stellen van beveiligingsincidenten of beleidsschendingen. Deze actie zorgt voor tijdige reactie op mogelijke bedreigingen.
Uw services beveiligen
Implementeer beveiligingsmaatregelen voor elke service om de beveiliging en integriteit van uw services in Azure DevOps te garanderen. Deze metingen omvatten het instellen van machtigingen, het beheren van toegang en het gebruik van beveiligingsfuncties die specifiek zijn voor elke service.
- Beveiligde Azure-borden: Beveilig uw werktraceringsgegevens door de juiste machtigingen in te stellen en toegangsniveaus te beheren.
- Azure-opslagplaatsen beveiligen: Zorg voor de beveiliging van uw codeopslagplaatsen door Git-instellingen, vertakkingsmachtigingen en beleid te configureren.
-
Azure-pijplijnen beveiligen: Beveilig uw CI/CD-processen door machtigingen in te stellen, beveiligingssjablonen te gebruiken en agents en containers te beveiligen.
- Meer informatie over Azure Pipelines-beveiliging
- Gebruikers toevoegen aan Azure Pipelines
- Sjablonen gebruiken voor beveiliging
- Agents, projecten en containers beveiligen
- Beveiligde toegang tot Azure Repos vanuit pijplijnen
- Resources voor beveiligde pijplijnen
- Uw benadering bepalen voor het beveiligen van YAML-pijplijnen
- Geheimen beveiligen in Azure Pipelines
- Azure-testplannen beveiligen: Zorg ervoor dat uw team de juiste toegang heeft om testplannen efficiënt te beheren en uit te voeren.
- Azure Artifacts beveiligen: Beheer de toegang tot uw pakketten en bepaal wie ermee kan communiceren.
Beveiligingsscans automatiseren
Bewaak op beveiligingsproblemen met code en geheime beveiligingsproblemen met de volgende geautomatiseerde beveiligingshulpprogramma's die zijn gebouwd door onze partnerteams:
- Codescans en -analyse gebruiken: Gebruik hulpprogramma's zoals Microsoft Defender om uw code te scannen op beveiligingsproblemen, geheimen en onjuiste configuraties. Deze actie helpt bij het identificeren en oplossen van beveiligingsproblemen vroeg in het ontwikkelingsproces.
- Azure DevOps Credential Scanner (CredScan) gebruiken voor GitHub: Wanneer u een beheerde identiteit gebruikt, is dit geen optie, moet u ervoor zorgen dat referenties worden opgeslagen op beveiligde locaties, zoals Azure Key Vault, in plaats van ze in te sluiten in de code- en configuratiebestanden. Implementeer Azure DevOps Credential Scanner om referenties in de code te identificeren. Zie Aan de slag met CredScan voor meer informatie.
- Systeemeigen geheim scannen gebruiken voor GitHub: Wanneer u een beheerde identiteit gebruikt, is dit geen optie, moet u ervoor zorgen dat geheimen worden opgeslagen op beveiligde locaties, zoals Azure Key Vault, in plaats van ze in te sluiten in de code- en configuratiebestanden. Gebruik de systeemeigen functie voor het scannen van geheimen om geheimen in de code te identificeren. Zie Over geheim scannen voor meer informatie.
Zie het overzicht van geavanceerde beveiliging van GitHub voor meer informatie.