Zero Trust-beveiliging insluiten in uw werkstroom voor ontwikkelaars
Als ontwikkelaar moet u zich vertrouwen en veilig voelen om snel te kunnen gaan. De noodzaak van beveiliging wordt gestart zodra u uw code kloont. In dit artikel leert u hoe u zich ontwikkelt met behulp van Zero Trust-principes , zodat u snel en veilig kunt innoveren. De Zero Trust-beveiligingsstrategie en -benadering voor het ontwerpen en implementeren van toepassingen omvat deze principes:
- Controleer dit expliciet. Altijd verifiëren en autoriseren op basis van alle beschikbare gegevenspunten.
- Gebruik toegang tot minimale bevoegdheden. Beperk gebruikerstoegang met Just-In-Time en Just-Enough-Access (JIT/JEA), op risico gebaseerd adaptief beleid en gegevensbeveiliging.
- Stel dat er sprake is van een schending. Minimaliseer straal en segmenttoegang. Controleer end-to-end-versleuteling en gebruik analyse om zichtbaarheid te krijgen, detectie van bedreigingen te stimuleren en verdediging te verbeteren.
Door beveiliging in uw werkstroom in te sluiten, kunt u het volgende doen:
- Beveiligingsproblemen sneller aanwijzen.
- Veiliger hulpprogramma's voor ontwikkelaars bieden.
- Maak verbindingen om de samenwerking tussen beveiligings- en ontwikkelteams te verbeteren.
Uw werkstroom innoveren en beveiligen tijdens het maken van code
De geïntegreerde oplossing van Microsoft, geïllustreerd in het volgende diagram, overbrugt over DevOps- en SecOps-teams om u te helpen bij het versnellen en beveiligen van code-naar-cloudontwikkeling.
Onze oplossing voor het beveiligen van DevOps is afhankelijk van twee hoofdonderdelen: ontwikkelaars voorzien van hulpprogramma's om innovatie te stimuleren en de werkstroom voor ontwikkelaars te beveiligen wanneer ontwikkelaars code maken. Bekijk de code versnellen en beveiligen naar de cloudontwikkelingssessie vanuit Microsoft Build 2022 voor meer informatie over hoe deze onderdelen uw ontwikkelomgeving kunnen beveiligen.
Implementeer de volgende best practices die samenwerken in Azure en GitHub om uw ontwikkeloplossing te beveiligen.
- Omdat de beveiliging begint wanneer ontwikkelaars code klonen, schakelt u DevSecOps in met Azure en GitHub om over DevOps- en SecOps-teams te beschikken en uw ontwikkelomgevingen te beveiligen.
- Bied flexibele en krachtige ontwikkelhulpprogramma's voor elke ontwikkelaar, taal en stack met Visual Studio en Visual Studio Code.
- Vereenvoudig de onboarding en samenwerking van nieuwe ontwikkelaars met een volledig hulpprogramma voor de levenscyclus van ontwikkeling in de cloud met behulp van GitHub Codespaces en Microsoft Dev Box.
- Neem ingebouwde intellectuele eigendomsbescherming op voor code die u niet meer over meerdere locaties verspreidt. Help uw teams samen te werken, code te ontwikkelen, automatiseren en implementeren waar ze ook willen met GitHub Actions en Azure Pipelines.
- Ontvang beveiligingsrichtlijnen en continue beveiligingsfeedback binnen de werkstroom voor ontwikkelaars met codescans, geheimscans en afhankelijkheidsbeoordeling met behulp van GitHub Advanced Security.
- Zorg voor zero trust-beveiliging in uw organisatie met behulp van identiteitsbeheerservices in Microsoft Entra ID.
Zero Trust-beveiliging in uw ontwikkelingslevenscyclus aanpassen
Van premit tot doorvoeren via implementeren en vervolgens beheren en bewaken, u hebt beveiligingsoplossingen nodig in al uw fasen van de ontwikkelingslevenscyclus.
Precommitfase
- Bedreigingsmodellen
- IDE-beveiligingsinvoegtoepassing
- Precommit hooks
- Veilige coderingsstandaarden
- Peer review
85 procent van de codefouten worden weergegeven tijdens de fase van de ontwikkelingsvoortoewijzing, voornamelijk vanwege menselijke fouten. Richt u op beveiliging voordat u uw code doorvoert door uw code te schrijven in Visual Studio Code, Visual Studio of GitHub Codespaces om beveiligingsproblemen en beveiligde code te identificeren. Gebruik peerbeoordelingen om veilige coderingsprocedures aan te moedigen.
Doorvoerfase (CI)
- Analyse van statische code
- Tests van beveiligingseenheden
- Beheer van afhankelijkheden
- Referenties scannen
Gebruik tijdens de doorvoeringsfase uitgebreide beveiligingsmethoden om uw code (inclusief statische codeanalyse) te controleren en uw code te scannen terwijl u deze in uw broncodebeheer controleert. Gebruik het scannen van referenties (ook wel geheim scannen of token scannen genoemd) om referenties beschikbaar te stellen die u per ongeluk in de codebasis kunt introduceren. Betrap onveilige afhankelijkheden voordat u ze aan uw omgeving introduceert met afhankelijkheidsbeoordeling.
Fase Implementeren (CD)
- Scannen op infrastructuur als code (IaC)
- Dynamisch scannen op beveiliging
- Cloudconfiguratiecontroles
- Beveiligingsacceptatietests
Bekijk tijdens de implementatiefase de algehele status van uw codebasis en voer beveiligingsscans op hoog niveau uit om risico's te identificeren. Voer cloudconfiguratiecontroles uit, infrastructuurcodecontroles en beveiligingsacceptatietests om te zorgen voor afstemming met de beveiligingsdoelen van de organisatie.
Bewerkings- en monitorfase
- Doorlopende bewaking
- Informatie over bedreigingen
- Schuldloze postmortems
Gebruik tijdens de werkings- en bewakingsfase doorlopende bewaking en bedreigingsinformatie om algemene beveiligingsproblemen met afhankelijkheden te beperken die u in de loop van de tijd kunt overnemen. Voer postmortems uit om geleerde lessen weg te nemen en door te gaan met het doorlopen van uw DevOps-cyclus.
Afhankelijkheid, code en geheim scannen implementeren
Gebruik systeemeigen en geautomatiseerde mogelijkheden om doorlopende feedback te bieden met doorlopende beveiligingsfuncties gedurende uw ontwikkelingslevenscyclus om het beveiligen van code eenvoudiger te maken voor ontwikkelaars. Biedt algemene beveiliging voor ontwikkelaars en community's met het scannen van gitHub Advanced Security-afhankelijkheden, codescans en geheimscans.
Scannen op afhankelijkheden
- Geïntegreerde beoordeling van afhankelijkheden
- Waarschuwingen en beveiligingsupdates
Krijg risiconiveaus van afhankelijkheden en geautomatiseerde oplossingen voor kwetsbare afhankelijkheden in uw codebasis met continue afhankelijkheidsscans. Als continu proces duwt het uw ontwikkelaars in de juiste richting op een vriendelijke en niet-onopvallende manier.
Code scannen
- Uitbreidbaar framework voor codescans
- Geïntegreerd in de werkstroom voor ontwikkelaars
- Ondersteund door toonaangevende CodeQL-engine
Implementeer codescans terwijl u code genereert zonder andere stappen om op afzonderlijke locaties uit te voeren. Vergemakkelijken oplossingen vroeg in uw ontwikkelingslevenscyclus door scanresultaten te bekijken in uw vertrouwde GitHub-gebruikerservaring.
Geheim scannen
- Scannen op gelekte geheimen in openbare en privé-opslagplaatsen
- Samenwerking met meer dan 40 providers
- Pushbeveiliging
- Overstappen van herstel naar preventie
- Controleren op geheimen met hoge betrouwbaarheid
- Beveiliging inschakelen met één selectie
Scan uw code op vastgelegde referenties en tokens met geheim scannen. Pushbeveiliging scant op geheimen en tokens voordat u naar uw codebasis pusht. Controleer op geheimen met hoge betrouwbaarheid als ontwikkelaars pushcode, waardoor de push wordt geblokkeerd wanneer GitHub een geheim identificeert.
Identiteiten van workloads beheren en beveiligen
- Levenscyclusbeheer
- Toegangsbeheer
- Adaptieve toegang beveiligen
Krijg inzicht in de activiteit van uw workloadidentiteiten en schakel periodiek opschonen in. Bepaal wie eigenaar is van workloadidentiteiten en hoe u deze informatie up-to-date houdt in de organisatiewijzigingen. Houd bij wanneer u de laatst gebruikte workloadidentiteiten hebt gebruikt, wanneer u voor het laatst tokens hebt uitgegeven en wanneer tokens verlopen.
Om het potentieel van gelekte geheimen en referenties te beperken, voert u regelmatig toegangsbeoordelingen uit. Vereisen dat gebruikers hun workloadidentiteiten controleren en onnodige toegangsbevoegdheden verwijderen. Laat gebruikers overprivilegeerde en onderbenutte toegangsbevoegdheden rapporteren. Bespreek hoe u workloadidentiteiten beveiligt tegen inbreuk. Schakel voorwaardelijke toegang in om ervoor te zorgen dat de toegang afkomstig is van verwachte resources.
Identiteiten beveiligen met GitHub OIDC en Microsoft Entra Workload-ID Federation
Als u uw organisatie verder wilt beveiligen, gebruikt u GitHub OpenID Connect (OIDC) met Microsoft Entra Workload Identity Federation en minimaliseert u de noodzaak om geheimen op te slaan en te openen. Beheer veilig azure-serverprincipaalgeheimen en andere langdurige cloudreferentieresources om de downtime van de service te minimaliseren vanwege verlopen referenties. Integreer met ontwikkelplatforms, zoals GitHub Actions, om uw apps veilig te bouwen.
Onze aanbevolen werkstroom voor workloadidentiteitsfederatie, geïllustreerd in het volgende diagram, bestaat uit zes stappen.
- Stel een vertrouwensrelatie in microsoft Entra-id in en vraag een token aan.
- Configureer de GitHub-werkstroom zodat acties het token kunnen ophalen.
- GitHub-werkstroom verzendt een aanvraag naar Azure ID.
- Microsoft Entra ID valideert de vertrouwensrelatie in de toepassing en haalt de sleutels op om het token te valideren.
- Microsoft Entra ID heeft toegang tot het token en geeft het token uit.
- De implementatieactie maakt gebruik van het Microsoft Entra-toegangstoken om te implementeren naar resources in Azure.
Bekijk april Edwards, Senior Cloud Advocate en DevOps Practice Lead, demo van de werkstroom workloadidentiteitsfederatie. De demonstratie begint bij het 19:14-teken in de Microsoft Build 2022-sessie, versnel en beveilig uw code voor cloudontwikkeling.
Volgende stappen
- Meld u aan voor Azure Developer CLI, een opensource-hulpprogramma dat de tijd versnelt die nodig is om aan de slag te gaan met Azure.
- Configureer Azure om de OIDC van GitHub te vertrouwen als een federatieve identiteit. Met OpenID Connect (OIDC) hebben uw GitHub Actions-werkstromen toegang tot resources in Azure zonder dat u de Azure-referenties hoeft op te slaan als GitHub-geheimen met een lange levensduur.
- Implementeer Zero Trust-principes zoals beschreven in memorandum 22-09 (ter ondersteuning van de Amerikaanse executive order 14028, Verbetering van de Cyber Security van de natie) met behulp van Microsoft Entra ID als gecentraliseerd identiteitsbeheersysteem.
- Versnel en beveilig uw code met Azure DevOps met hulpprogramma's die ontwikkelaars de snelste en veiligste code bieden voor cloudervaring.
- Beveilig de ontwikkelomgeving om Zero Trust-principes in uw ontwikkelomgevingen te implementeren met aanbevolen procedures voor minimale bevoegdheden, vertakkingsbeveiliging en vertrouwende hulpprogramma's, extensies en integraties.
- Veilige DevOps-omgevingen voor Zero Trust beschrijven aanbevolen procedures voor het beveiligen van uw DevOps-omgevingen om te voorkomen dat hackers in gevaar komen voor ontwikkelaarsvakken, het infecteren van releasepijplijnen met schadelijke scripts en het verkrijgen van toegang tot productiegegevens via testomgevingen.
- Tokens aanpassen beschrijft de informatie die u kunt ontvangen in Microsoft Entra-tokens. In dit artikel wordt uitgelegd hoe u tokens aanpast om de flexibiliteit en controle te verbeteren en tegelijkertijd de beveiliging van nul vertrouwensrelaties met minimale bevoegdheden te verhogen.
- Als u groepsclaims en app-rollen in tokens configureert, ziet u hoe u uw apps configureert met app-roldefinities en beveiligingsgroepen toewijst aan app-rollen. Deze methoden helpen om de flexibiliteit en controle te verbeteren en tegelijkertijd de beveiliging van de toepassing nul vertrouwen te verhogen met minimale bevoegdheden.