Share via


Beveiligingsoverwegingen voor DevOps-platforms

Beveiliging moet altijd een prioriteit zijn in cloudontwikkelingsplatforms, zoals Azure DevOps en GitHub. Microsoft werkt de beveiliging van de onderliggende cloudinfrastructuur bij en onderhoudt deze, maar het is aan u om aanbevolen beveiligingsprocedures te controleren en te configureren voor uw eigen Azure DevOps-organisaties en GitHub-exemplaren.

Houd rekening met de volgende kritieke beveiligingsgebieden, ongeacht of u omgevingen implementeert via infrastructuur als code in CI/CD-pijplijnen (continue integratie en continue implementatie) of code implementeert in uw toepassingen die worden gehost in Azure.

Toegang tot DevOps-hulpprogramma's beperken

Volg het principe van minimale bevoegdheden met behulp van op rollen gebaseerd toegangsbeheer (RBAC) via Microsoft Entra-id. Geef gebruikers en services de minimale hoeveelheid toegang tot uw DevOps-platforms die ze nodig hebben om hun bedrijfsfuncties uit te voeren. Raadpleeg voor meer informatie de volgende artikelen:

Nadat u Microsoft Entra ID als identiteitsbeheervlak hebt ingesteld, volgt u de aanbevolen procedures voor het beheren van Azure DevOps-roltoewijzingen met Microsoft Entra-groepslidmaatschappen. U kunt Azure DevOps-rollen toewijzen aan Microsoft Entra-groepen en het Microsoft Entra-lidmaatschap van een gebruiker aanpassen om hun Azure DevOps-toegang te wijzigen of te verwijderen.

  • Gebruik Microsoft Entra ID-rechtenbeheer om toegangspakketten te maken waarmee Microsoft Entra-gebruikers tijdgebonden toegang kunnen krijgen tot de vereiste resources om hun taken te voltooien.

  • U kunt Microsoft Entra Privileged Identity Management ook gebruiken voor Just-In-Time-toegang om personen te promoveren naar Azure DevOps-Beheer istrator-rollen gedurende een bepaalde periode.

Beheer de beveiliging in Azure DevOps met behulp van beveiligingsgroepen, beleidsregels en instellingen in de Azure DevOps-organisatie, het project of het objectniveau. Overweeg zo mogelijk de overname van machtigingen in Azure DevOps uit te schakelen.

Toegang tot opslagplaats en vertakking beperken

Beperk de toegang tot de opslagplaats, machtigingen en het maken van vertakkingen om uw code en omgevingen te beveiligen tegen ongewenste of schadelijke wijzigingen. Beperk de toegang tot opslagplaatsen met behulp van beveiligingsgroepen in Azure DevOps. Beperk wie code in uw vertakkingen kan lezen en bijwerken door vertakkingsmachtigingen in te stellen.

Toegang en machtigingen voor pijplijnen beperken

Schadelijke code kan zakelijke gegevens en geheimen stelen en beschadigde productieomgevingen. Implementeer kaders om schadelijke code-implementatie in de pijplijn te voorkomen. Door de toegang te beperken en kaders te implementeren, kunt u ook voorkomen dat andere projecten, pijplijnen en opslagplaatsen lateraal worden blootgesteld aan eventuele gecompromitteerde pijplijnen.

Overweeg om een incrementele benadering te volgen voor het beveiligen van uw YAML-pijplijnen. Zie Plannen hoe u uw YAML-pijplijnen beveiligt voor meer informatie.

Selecteer de DevOps-agent op basis van beveiligingsbehoeften

U kunt door Microsoft gehoste of zelf-hostende agents gebruiken om Azure DevOps- en GitHub-pijplijnen mogelijk te maken. Er zijn compromissen voor elk type agent.

Met door Microsoft gehoste agents hoeft u zich geen zorgen te maken over upgrades of onderhoud. Met zelf-hostende agents hebt u meer flexibiliteit om beveiligingsbeveiligingsrails te implementeren. U bepaalt de agenthardware, het besturingssysteem en de geïnstalleerde hulpprogramma's.

Zie Azure Pipelines-agents om de verschillen tussen de typen agents te bekijken en mogelijke beveiligingsoverwegingen te identificeren.

Beveiligde en scoped serviceverbindingen gebruiken

Gebruik waar mogelijk een serviceverbinding om infrastructuur- of toepassingscode in een Azure-omgeving te implementeren. De serviceverbinding moet beperkte implementatietoegang hebben tot specifieke Azure-resources of -resourcegroepen om mogelijke kwetsbaarheid voor aanvallen te verminderen. Overweeg ook om afzonderlijke serviceverbindingen te maken voor ontwikkel-, test-, QA- en productieomgevingen.

Een geheim archief gebruiken

Codegeheimen nooit in code of hulpdocumentatie in uw opslagplaatsen. Kwaadwillende bestanden scannen opslagplaatsen, zoeken naar blootgestelde vertrouwelijke gegevens om te misbruiken. Stel een geheimarchief in, zoals Azure Key Vault, en verwijs naar het archief in Azure Pipelines om veilig sleutels, geheimen of certificaten op te halen. Zie De pijplijn en CI/CD-werkstroom beveiligen voor meer informatie. U kunt ook Key Vault-geheimen gebruiken in GitHub Actions-werkstromen.

Harde DevOps-werkstations gebruiken om code te bouwen en te implementeren

Platform- en ontwikkelteams hebben vaak verhoogde bevoegdheden op het Azure-platform of op andere services, zoals Azure DevOps en GitHub. Deze toegang verhoogt de potentiële kwetsbaarheid voor aanvallen aanzienlijk. Implementeer kaders om eindpunten en werkstations te beveiligen die u gebruikt om code te ontwikkelen en te implementeren.

Gebruik beveiligde beheerwerkstations (SAW's) om wijzigingen in risico- en productieomgevingen te implementeren. Zie Eindpunten beveiligen met Zero Trust voor meer informatie.

Beveiligingsscans en -tests uitvoeren

Of u nu toepassingscode of infrastructuur als code implementeert, best practices en besturingselementen voor DevSecOps implementeren in uw pijplijnen. Integreer beveiliging vroeg in uw CI/CD-traject om kostbare beveiligingsschendingen later te voorkomen. Maak een strategie om statische codeanalyse, eenheidstests, geheimscans en pakket-/afhankelijkheidsscans in uw pijplijnen te implementeren.

Bedrijfsbeveiligingshulpprogramma's zoals Microsoft Defender voor Cloud kunnen worden geïntegreerd met DevOps-hulpprogramma's. Defender voor Cloud kan bijvoorbeeld kwetsbare containerinstallatiekopieën in uw CI/CD-werkstromen identificeren. Voor GitHub Actions en opslagplaatsen gebruikt u GitHub Advanced Security voor code- en geheimscans en afhankelijkheidsbeoordeling.

Controleer regelmatig controlegebeurtenissen om onverwachte gebruikspatronen door beheerders en andere gebruikers te controleren en erop te reageren. U kunt auditlogboeken voor uw Azure DevOps-organisatie openen, filteren en exporteren. Voor langetermijnopslag en gedetailleerde logboekquery's maakt u een controlestroom naar een Azure Monitor Log Analytics-werkruimte of naar een SIEM-systeem (Security Information and Event Management), zoals Microsoft Sentinel.