Trace Id is missing
Overslaan naar hoofdinhoud
Microsoft Beveiliging

Wat is DevSecOps?

Meer informatie over het integreren van beveiligingsprocedures in elke fase van de levenscyclus van softwareontwikkeling in jouw omgeving met meerdere clouds.

DevSecOps gedefinieerd

DevSecOps, dat staat voor ontwikkeling, beveiliging en bewerkingen, is een raamwerk dat beveiliging integreert in alle fasen van de levenscyclus van softwareontwikkeling. Organisaties gebruiken deze aanpak om het risico te verkleinen dat code wordt vrijgegeven met beveiligingsproblemen. Door samenwerking, automatisering en duidelijke processen delen teams de verantwoordelijkheid voor de beveiliging, in plaats van het op het einde laten aankomen wanneer problemen veel moeilijker en duurder kunnen zijn om aan te pakken. DevSecOps is een essentieel onderdeel van een multicloudbeveiligingsstrategie.

DevSecOps versus DevOps

Bij traditionele softwareontwikkeling worden projecten opgesplitst in verschillende fasen voor planning, ontwerp, ontwikkeling, integratie en testen, die achtereenvolgens over meerdere maanden of zelfs jaren plaatsvinden. Hoewel deze aanpak zeer methodisch is, vinden veel organisaties deze te traag, waardoor het moeilijk wordt om aan de verwachtingen van klanten op het gebied van voortdurende productverbeteringen te voldoen. Bovendien wordt de beveiliging meestal helemaal aan het einde ingeschakeld, waardoor bedrijven risico lopen op een beveiligingsschending.

Om concurrerend te blijven, hebben veel bedrijven een DevOps-model aangenomen dat prioriteit geeft aan de levering van kleinere pakketten code van hoge kwaliteit in plaats van projecten met veel functies die langer duren. In dit raamwerk werken softwareontwikkelings- en operationele teams samen om testen en integratie gedurende het hele proces te integreren. Dankzij automatisering, gestandaardiseerde processen en samenwerking kunnen teams snel handelen zonder dat dit ten koste gaat van de kwaliteit.

DevSecOps is een uitbreiding van DevOps die beveiliging inbouwt in alle aspecten van het proces. Het doel is om beveiligingsproblemen vanaf het begin van het project op te lossen. In dit framework neemt het hele team niet alleen de verantwoordelijkheid voor kwaliteitsborging en code-integratie, maar ook voor de beveiliging. In de praktijk betekent dit dat teams de implicaties voor de beveiliging bespreken tijdens de planning en beginnen met het testen op beveiligingsproblemen in ontwikkelomgevingen, in plaats van te wachten tot het einde. Een andere naam voor deze benadering is 'shift left security'.

Waarom is DevSecOps belangrijk?

Er zijn veel methoden die aanvallers gebruiken om toegang te krijgen tot de gegevens en activa van een organisatie, maar een veel voorkomende tactiek is het misbruiken van softwarekwetsbaarheden. Dit soort schendingen is kostbaar, tijdrovend en, afhankelijk van de ernst, schadelijk voor de reputatie van een bedrijf. Het DevSecOps-framework vermindert het risico van het implementeren van software met onjuiste configuraties en andere Aanvullende informatie over beveiligingsproblemenbeveiligingsproblemen waarvan kwaadwillenden kunnen profiteren.

Belangrijke onderdelen van DevSecOps

Een geslaagd DevSecOps-proces bevat de volgende onderdelen:

  • Continue integratie

    Met continue integratie voeren ontwikkelaars hun code meerdere keren per dag door naar een centrale opslagplaats. Vervolgens wordt de code automatisch geïntegreerd en getest. Met deze aanpak kunnen teams vroeg in het proces integratieproblemen en bugs ondervangen in plaats van te wachten tot het einde, wanneer er verschillende problemen kunnen zijn die moeten worden opgelost.

  • Continue levering

    Continue levering bouwt voort op continue integratie om het proces van het verplaatsen van code van de build-omgeving naar een testomgeving te automatiseren. Eenmaal in de fasering wordt de software, naast het testen van eenheden, automatisch getest om er zeker van te zijn dat de gebruikersinterface werkt, de code met succes is geïntegreerd, dat API's betrouwbaar zijn en dat de software de verwachte verkeersvolumes aankan. Het doel van deze aanpak is om consistent code te leveren die gereed is voor productie en die klanten waarde biedt.

  • Continue beveiliging

    Beveiliging inbouwen in de volledige levenscyclus van softwareontwikkeling is een belangrijk onderdeel van DevSecOps. Dit omvat het modelleren van bedreigingen in een vroeg stadium van het proces en geautomatiseerde beveiligingstests gedurende de gehele levenscyclus, te beginnen met de eigen omgevingen van de ontwikkelaars. Door de software vroegtijdig en regelmatig grondig te testen op beveiligingsproblemen, kunnen organisaties efficiënt software leveren met minimale problemen.

  • Communicatie en samenwerking

    DevSecOps is sterk afhankelijk van personen en teams die nauw samenwerken. Continue integratie vereist dat mensen samenwerken om conflicten in code op te lossen en teams moeten effectief communiceren om zich rond dezelfde doelen te verenigen.

DevSecOps implementeren

Het toevoegen van beveiliging aan jouw DevOps-proces vereist een zorgvuldige planning. Begin langzaam met processen die de minste wrijving voor het team opleveren en de grootste beveiligingswinst opleveren. Hier zijn enkele manieren om beveiliging toe te voegen aan een typische DevOps-sprint.

  • Planning en ontwikkeling

    Het vroegtijdig introduceren van beveiliging in ontwikkelingssprints helpt niet alleen kwetsbaarheden later te verminderen, maar bespaart ook tijd omdat het gemakkelijker is om problemen aan te pakken voordat de code is gebouwd en geïntegreerd. Gebruik tijdens de planning en ontwikkeling bedreigingsmodellering om potentiële bedreigingen voor de toepassing te identificeren en te beperken. Hiermee kun je vanaf het begin beveiliging in de toepassing inbouwen. Om beveiligingsproblemen aan het licht te brengen voordat de code in de gedeelde opslagplaats wordt opgeslagen, implementeer je geautomatiseerde controles, zoals geïntegreerde beveiligingsplug-ins voor de ontwikkelomgeving, die ontwikkelaars onmiddellijk feedback geven als er een potentieel beveiligingsrisico zit in de code die ze hebben geschreven. Laat tijdens het controleren van de code iemand met beveiligingsexpertise aanbevelingen doen voor het aanbrengen van verbeteringen.

  • Codedoorvoer

    Een van de sleutels voor een geslaagd DevSecOps-proces is continue integratie. Ontwikkelaars voeren hun code meestal meerdere keren per dag door naar een centrale opslagplaats om ervoor te zorgen dat integratieproblemen vroegtijdig worden onderschept. Het is belangrijk om geautomatiseerde veiligheidscontroles aan deze fase toe te voegen. Dit kan bestaan uit het scannen van bibliotheken en afhankelijkheden van derden, het testen van eenheden en het testen van de statische toepassingsbeveiliging. Het is ook belangrijk om op rollen gebaseerde toegangscontroles in te zetten om jouw infrastructuur voor continue integratie en continue levering te beschermen tegen aanvallers die kwaadaardige code willen uitvoeren of inloggegevens willen stelen.

  • Bouwen en testen

    Door geautomatiseerde beveiligingsscripts in de testomgeving uit te voeren, kun je potentiële problemen ontdekken die nog niet eerder zijn gedetecteerd. Enkele van de beveiligingstests die je tijdens deze fase kunt uitvoeren, zijn onder meer het dynamisch testen van de toepassingsbeveiliging, het scannen van de infrastructuur, het scannen van containers, het valideren van de cloudconfiguratie en het testen van de beveiligingsacceptatie.

  • Productie

    Zodra de toepassing in productie is geïmplementeerd, voeren sommige organisaties penetratietests uit om zwakke plekken in de live-omgeving te vinden. Bij penetratietests nemen mensen de mentaliteit van een aanvaller over en zoeken ze naar manieren om de toepassing te schenden.

  • Bewerking

    Zelfs het beste DevSecOps-proces kan niet alles onderscheppen, dus het is van cruciaal belang om applicaties voortdurend te controleren op kwetsbaarheden en bedreigingen. Analysegegevens kunnen je helpen te evalueren of jouw beveiligingspostuur wordt verbeterd en gebieden voor optimalisatie te markeren.

DevSecOps-hulpprogramma's en -technologieën

Bij het kiezen van beveiligingshulpprogramma's is het belangrijk om hulpprogramma's te selecteren die goed werken met jouw huidige DevOps-technologie.. Dit maakt het eenvoudiger om beveiliging in jouw hele proces te integreren. Hier volgen enkele van de typen hulpprogramma's die je mogelijk nodig hebt:

  • Scannen van infrastructuur als code

    Om hun efficiëntie te verbeteren, gebruiken DevSecOps-teams doorgaans open source-hulpprogramma's zoals Terraform om infrastructuur zoals netwerken, virtuele machines en load balancers te beheren en in te richten via code, in plaats van dit handmatig te doen. Terraform zorgt ervoor dat de infrastructuur consistent wordt ingesteld en bijgewerkt op honderden of duizenden servers. Om het risico te beperken dat onjuiste configuraties worden geïmplementeerd in de productieomgeving, controleert infrastructuur als hulpprogramma's voor codescans automatisch de infrastructuur op codeniveau op niet-naleving van beveiligingsbeleid en -standaarden.

  • Statische toepassingsbeveiligingstests

    Voordat hun code wordt gecompileerd, beginnen DevSecOps-ontwikkelaars hun aangepaste code te testen op beveiligingsproblemen. Dit helpt hen bij het oplossen van problemen zonder dat dit van invloed is op de build. Hulpprogramma's voor het testen van statische toepassingen maken dit proces eenvoudiger met automatische controles en realtime feedback. Veel hulpprogramma's bepalen precies welke code riskant is en bieden voorgestelde oplossingen.

  • Analyse van softwaresamenstelling

    Eén manier waarop teams toepassingen en functies efficiënter kunnen bouwen, is door plug-ins en frameworks van derden te gebruiken. Deze vooraf gebouwde hulpprogramma's besparen tijd, maar kunnen ook risico's met zich meebrengen, zoals problemen met de licentieverlening, slecht geschreven code of beveiligingsproblemen. Hulpprogramma's voor analyse van softwaresamenstelling identificeren open source-onderdelen in toepassingen en evalueren deze op basis van eigen of gratis databases om licentieschendingen en beveiligings- en kwaliteitsproblemen te detecteren.

  • Interactieve toepassingsbeveiligingstests

    Tijdens het testen van de kwaliteitscontrole of wanneer een toepassing wordt gebruikt, scannen interactieve hulpprogramma's voor toepassingsbeveiliging de code om beveiligingsproblemen te vinden en rapporten te leveren die aangeven waar in de code het probleem zich bevindt.

  • Dynamische toepassingsbeveiligingstests

    Dynamische toepassingsbeveiligingstests emuleren de methoden die een ongeldige actor kan gebruiken om een toepassing aan te vallen. Deze test vindt plaats terwijl de toepassing wordt uitgevoerd en is gebaseerd op van tevoren gedefinieerde gebruiksscenario's.

  • Containerscans

    Containers worden veel gebruikt in DevSecOps omdat ze ontwikkelaars helpen bij het eenvoudig implementeren van op zichzelf staande code-eenheden. Binnen een container bevindt zich een containerinstallatiekopie die de code bevat waarmee processen voor de container worden uitgevoerd. Deze installatiekopieën worden echter vaak gebouwd met behulp van bestaande installatiekopieën of opgehaald uit openbare opslagplaatsen. Hulpprogramma's voor het scannen van containers scannen containers en vergelijken ze met openbare of bedrijfseigen kwetsbaarheidsdatabases om potentiële beveiligingsproblemen bloot te leggen.

DevSecOps Best Practices

DevSecOps gaat zowel over cultuurverandering als over processen en hulpprogramma's. Hier volgen enkele best practices om de invoering van dit framework zo soepel mogelijk te laten verlopen.

  • De cultuur veranderen

    Erken dat mensen moeite kunnen hebben met het veranderen van de manier waarop ze werken, en dat er conflicten kunnen ontstaan. Om hen te helpen zich aan te passen, moet je de doelstellingen en verwachtingen van de organisatie duidelijk communiceren, veel mogelijkheden bieden voor een open dialoog en erop anticiperen dat je flexibel moet zijn totdat teams de hulpprogramma's, het proces en de cadans hebben gevonden die voor hen het beste werken.

  • Vereisten en metrische gegevens definiëren

    Stel een basislijn voor minimale beveiliging in. Raadpleeg voor richtlijnen de branche- en regelgevingsvereisten of de Top 10 van Open Worldwide Application Security Project® (OWASP) kritieke risico's voor webtoepassingen en de SANS Top 25-softwarefouten. Nadat je de vereisten heeft gedefinieerd, bepaal je welke statistieken je wilt bijhouden om je te helpen je voortgang te volgen.

  • Klein beginnen

    Hulpprogramma's voor beveiligingsautomatisering bieden veel opties om code op problemen te controleren, maar als je ze allemaal inschakelt, vooral in het begin van jouw ingebruikname van DevSecOps, kan jouw team overweldigd worden. Wees voorzichtig met welke hulpprogramma's je implementeert en op hoeveel problemen je scant.

  • Bedreigingsmodellering uitvoeren

    Ontwikkel een proces voor het modelleren van bedreigingen, dat zo eenvoudig of zo gedetailleerd en technisch kan zijn als je wilt. Gebruik deze aanpak om een realistisch beveiligingsbeeld van jouw toepassing te documenteren, inclusief:

    • Hoe aanvallers het ontwerp van de toepassing kunnen misbruiken.
    • Beveiligingsproblemen oplossen.
    • Prioriteit van verschillende problemen.
  • Automatisering implementeren

    Automatisering is essentieel voor het inschakelen van kwaliteit en snelheid in het DevSecOps-proces. Door geautomatiseerde beveiligingsscans in te bouwen tijdens alle fasen van de continue integratie en continue leveringslevenscyclus, kun je de beveiliging van jouw toepassingen verbeteren zonder het proces aanzienlijk te vertragen.

  • Afhankelijkheden beheren

    De meeste ontwikkelaars gebruiken pakketten en bibliotheken van derden om efficiënt toepassingen te bouwen. Het probleem is dat sommige van deze oplossingen beveiligingsproblemen hebben en dat ontwikkelaars niet altijd hun best doen om ze up-to-date te houden. Om jouw risico te beperken, moet je ervoor zorgen dat de onderdelen die je gebruikt, worden gecontroleerd op beveiligingsrisico's en een gestandaardiseerd proces ontwikkelen om ze bij te werken.

  • Evalueren en verbeteren

    Evalueer regelmatig hoe het proces werkt en pas het zo nodig aan om ervoor te zorgen dat jouw organisatie de doelstellingen behaalt. Een postmortem zonder schuldvraag na de voltooiing van een sprint kan helpen mogelijkheden voor verbetering bloot te leggen. Analysegegevens en bedreigingsinformatie kunnen je ook helpen bepalen of er beveiligingsbehoeften zijn waaraan je huidige benadering niet voldoet.

DevSecOps voor cloudeigen toepassingen

Cloudeigen toepassingenCloudtoepassingen zijn ontworpen voor de cloud en zijn doorgaans leverancierneutraal, zodat ze van de ene cloud naar de andere kunnen worden overgezet. Ze zijn ontworpen om zeer schaalbaar en tolerant te zijn en ontwikkelteams bouwen deze doorgaans met behulp van microservices, containers en automatisering, waardoor ze bij uitstek geschikt zijn voor een DevSecOps-proces. Het bouwen van continue beveiliging, continue integratie en continue levering in het ontwikkelproces voor cloudeigen toepassingen maakt schaalbaarheid mogelijk zonder dat dit ten koste gaat van de beveiliging. Gebruik geautomatiseerde beveiligingsoplossingen, zoals Microsoft Defender voor DevOps, om je te helpen jouw code en de volledige DevOps-pijplijn te beveiligen. Zodra je je toepassing in de cloud hebt geïmplementeerd, kun je deze blijven controleren op risico's. CWPP (platform voor Cloudworkload-beveiliging)Cloud Workload Protection Platforms (CWPP) helpen deze toepassingen en de onderliggende gegevens te beschermen door bedreigingen voor workloads in multi-cloudomgevingen te detecteren en te beperken. Oplossingen voor CSPM (beheer van cloudbeveiligingspostuur)beheer van cloudbeveiligingspostuur (CSPM) detecteren en verhelpen verkeerde configuraties en beveiligingsproblemen in jouw omgeving.

Meer informatie over Microsoft Beveiliging

Microsoft Defender voor Cloud

Bescherm multi-cloudomgevingen en hybride omgevingen van ontwikkeling tot runtime dankzij een uitgebreid systeemeigen platform voor applicatiebeveiliging in de cloud.

Microsoft Defender for Cloud Apps

Moderniseer de beveiliging van je apps, bescherm je gegevens en verhoog je app-beveiligingspostuur met deze SaaS-beveiliging (software als een dienst).

Microsoft Defender voor Cloud Security Posture Management

Concentreer je op je meest kritieke risico's in jouw multicloud-omgevingen met contextueel beheer van cloudbeveiligingspostuur.

Microsoft Defender voor DevOps

Krijg geïntegreerd DevOps-beveiligingsbeheer in multicloud-omgevingen en omgevingen met meerdere pijplijnen.

Veelgestelde vragen

  • DevSecOps is een proces dat beveiliging integreert in de volledige levenscyclus van softwareontwikkeling. Organisaties gebruiken deze aanpak om het risico te verkleinen dat code wordt vrijgegeven met beveiligingsproblemen. Door samenwerking, automatisering en duidelijke processen delen teams de verantwoordelijkheid voor de beveiliging, in plaats van het op het einde laten aankomen wanneer problemen veel moeilijker en duurder kunnen zijn om aan te pakken.

  • DevSecOps staat voor ontwikkeling, beveiliging en bewerkingen. Het verwijst naar het proces van het integreren van beveiliging in alle fasen van softwareontwikkeling.

  • Shift left is een concept in DevSecOps dat verwijst naar het opnemen van beveiligingsprocedures vanaf het begin van het ontwikkelingsproces.

  • Het DevSecOps-framework omvat continue integratie, continue levering en continue beveiliging. Het is een methode waarmee beveiligings-, operationele en beveiligingsteams samenwerken en de verantwoordelijkheid delen voor het snel leveren van kwaliteitssoftware, terwijl de beveiligingsproblemen worden verminderd.

  • Er bestaat niet één DevSecOps-proces, maar een gebruikelijke manier waarop mensen deze projecten uitvoeren, is door het werk te verdelen in sprints die elk de volgende onderdelen bevatten: planning en ontwikkeling, bouwen en testen en productie. Tijdens de sprint gebruiken teams automatisering om voortdurend problemen met kwaliteitscontrole aan te pakken, continu te integreren en continu te testen op beveiligingsrisico's.

Microsoft volgen