DevOps-strategie en -proces beveiligen

In dit artikel wordt beschreven hoe u de DevOps-strategie en het proces voor uw organisatie kunt beveiligen in de context van ontwikkelingsbeveiliging.

Gebruik een DevSecOps-strategie die DevOps combineert met elementen van klassieke beveiligings- en operationele benaderingen. In het klassieke watervalontwikkelingsmodel zijn beveiliging en andere governancemechanismen ingebouwd in grote releases voor de langere termijn. In het DevOps-model worden kleinere, iteratieve wijzigingen in snelle releases gepusht. Snelle iteratie stelt organisaties in staat om te voldoen aan voortdurend veranderende marketplace-verwachtingen.

Benader DevSecOps-strategieën als een ideale status waar uw organisatie voortdurend naar moet werken, niet als een snelle transformatie buiten de huidige ontwikkelprocedures.

Governance- en productiereleases

Het volgende diagram illustreert de acceptatie van DevOps-strategieën voor continue verbetering door een organisatie.

Diagram met de ontwikkeling van governanceprocessen.

Wanneer uw organisatie zich voorbereidt op het gebruik van DevOps-strategieën, moet u ervoor zorgen dat u eerst beveiligings- en andere governanceprocessen aanpast aan uw aanpak. Deze benadering vermindert het beveiligingsrisico, maar vermindert niet de waarde van snelle releasecycli.

Voordat u een toepassing in volledige productie plaatst, moet u ervoor zorgen dat het minimum viable product (MVP) voor productierelease in de Dev-, Sec- en Ops-domeinen voldoet aan de vereisten van elke discipline. MVP's variëren afhankelijk van de doelstellingen, cultuur en branche van een organisatie, maar ze moeten altijd een balans vinden tussen de behoeften voor snelle release, beveiliging/veiligheid en productieprestaties en betrouwbaarheid.

Het prioriteren van vereisten en het voldoen aan alle behoeften vereist een teaminspanning. Uw organisatie profiteert niet van een product dat te laat wordt uitgebracht, niet voldoet aan de behoeften van de markt, niet goed schaalt of goed presteert, of gevoelige informatie en klantvertrouwen in gevaar brengt.

Gebruik de volgende richtlijnen om ervoor te zorgen dat toepassingen en workloads geen eenvoudige (lage kosten, lage wrijving) middelen bieden voor aanvallers om hun functionaliteit te misbruiken:

  • Beveiligd ontwerp: Volg een goed beveiligingsontwerp. Dit kan het gebruik van een bedreigingsmodelleringstechniek omvatten.
  • Beveiligde code: Valideer de beveiliging van werkelijke implementaties. (inclusief afhankelijke onderdelen). Hiervoor kunnen hulpprogramma's zoals statische en dynamische analyse worden gebruikt om fouten te vinden en te corrigeren.
  • Beveiligde omgeving: Controleer of onderliggende infrastructuurconfiguraties best practices volgen voor patching, configuratie en meer.

DevOps-productie beveiligen

Na de eerste productierelease van een workload gaat de devOps-productiefase in, waar wijzigingen en oplossingen voor fouten snel worden toegepast.

Integreer beveiliging systeemeigen in dit proces om ervoor te zorgen dat beveiligingslessen worden geïntegreerd in de cyclus voor ontwikkelaarsbewerkingen. Bekijk de beveiligingsaspecten van het ontwerp tijdens ontwerpbeoordelingen en meld beveiligingsfouten met behulp van dezelfde hulpprogramma's en terminologie voor prioriteitstelling die u voor andere fouten gebruikt.

Los beveiligingsfouten snel op en volg een bottom-upbenadering om het volume en de effecten ervan te verminderen. Implementeer beveiligingsprocedures en -hulpprogramma's tijdens de ontwikkelingslevenscyclus om het aantal en de mogelijke ernst van beveiligingsfouten te verminderen.

Continue incrementele verbetering

In het vorige diagram ziet u hoe samenwerken en leren als team uw begrip van het proces voor continue incrementele verbetering kan verfijnen.

De lessen die u door deze teaminspanningen leert, vormen het volgende:

  • Hoe u een MVP bepaalt in de dev-, sec- en ops-domeinen
  • Hoe u incrementele vooruitgang kunt boeken met minder wrijving
  • Hoe uw team beter kan samenwerken en balans kan vinden

Beveiliging als teamsport

DevOps-beveiliging is een teamwerk waarbij beveiliging moet worden geïntegreerd gedurende de hele levenscyclus van de toepassingsontwikkeling. DevOps-beveiliging biedt een hoge zichtbaarheid van beveiligingsrisico's, kortere ontwikkelingscycli en geautomatiseerde cloudbeveiligingsimplementaties.

Eindgebruikers sneller waarde leveren

DevOps maakt snelle en continue levering van waarde aan eindgebruikers mogelijk door ontwikkeling en bewerkingen nauw te integreren. Naarmate u dit proces volwassener maakt, moet u ervoor zorgen dat de beveiliging blijft toenemen als mindset en praktijk. U kunt dit doen via SDL-processen (Security Development Lifecycle) en OSA-processen (Operational Security Assurance), zoals:

  • Training geven: Richt u op het verbeteren van de collectieve kennis van uw team over best practices voor beveiliging en de mentaliteit van aanvallers, inclusief hoe aanvallers gebruikmaken van configuratiefouten en zwakke plekken in de architectuur.
  • Vereisten definiëren: Stel een minimumbeveiligingsbasislijn in voor uw beveiligings- en nalevingscontroles. Bak de basislijn in het DevOps-proces en de pijplijn. Uw basislijn moet rekening houden met de huidige, reële bedreigingen, bekende uitdagingen in de branche en wettelijke vereisten die zich uitstrekken over de hele technologiestack.
  • Metrische gegevens en rapportage definiëren: Stimstimeer gewenst gedrag in uw technische team. Definieer specifieke metrische gegevens die actie kunnen stimuleren en nalevingsdoelstellingen kunnen ondersteunen.
  • Software Composition Analysis (SCA) en governance gebruiken: Analyseer en onderhoud een inventaris van onderdelen van derden en maak een plan om gemelde beveiligingsproblemen te evalueren. Houd rekening met mogelijke beveiligingsproblemen van onderdelen van derden in uw systeembeveiliging.
  • Bedreigingsmodellering uitvoeren: Gebruik een gestructureerde benadering om beveiligingsproblemen snel te identificeren en gebruik bedreigingsmodellering om risico's te bepalen en te beperken. Uw team kan effectief beveiligingsfuncties kiezen en passende risicobeperkingsstrategieën instellen terwijl de kosten worden geoptimaliseerd.
  • Automatisering en hulpprogramma's gebruiken: Selecteer zorgvuldig intelligente automatisering en hulpprogramma's om technici te helpen en procesconsistentie te garanderen. Kies toolsets die al zijn geïntegreerd in technische processen. Richt u op het oplossen van problemen en voorkom overbelasting van technici met processen die vreemd zijn aan het technische ecosysteem. Beveiligde DevOps-werkstroomhulpprogramma's zijn geïntegreerd in CI/CD-pijplijnen. Vermijd vereisten voor beveiligingsexpertise en vermijd hoge fout-positieve rapportagepercentages.
  • Referenties veilig houden: Scan tijdens het vooraf doorvoeren naar referenties en gevoelige inhoud in bronbestanden om het risico te verkleinen dat gevoelige informatie wordt doorgegeven aan het CI/CD-proces van uw team. Sla geen gevoelige sleutels op in code. Overweeg het gebruik van een BYOK-oplossing (Bring Your Own Key) die sleutels genereert met behulp van een HSM (Hardware Security Module).
  • Continu leren en bewaking gebruiken: Gebruik geavanceerde analyses om toepassingen, infrastructuur en netwerken te bewaken en beveiligings- en prestatieproblemen aan het licht te brengen. Koppel CI/CD-procedures met bewakingshulpprogramma's om meer inzicht te krijgen in de status van uw toepassing en risico's te identificeren en te beperken, waardoor de blootstelling aan aanvallen wordt verminderd. Bewaking ondersteunt een diepgaande verdedigingsstrategie en kan de gemiddelde tijd voor het identificeren van (MTTI) en de gemiddelde tijd voor het bevatten van metrische gegevens (MTTC) van uw organisatie verminderen.

Een uitgebreid DevOps-ecosysteem met ontwikkelingslevenscyclus en systeemeigen beveiliging omvat strategie, beveiliging, architectuur en implementatie/bewerkingen, samen met toolsets ter ondersteuning van dit ecosysteem (zoals Azure DevOps).

In het volgende diagram ziet u een voorbeeld van DevOps-werkstromen/-processen vanaf de eerste fase van de idea-incubatie (uitvinding van nieuwe producten of services) tot en met DevOperations (continue Agile-innovatie).

Diagram van een Dev Sec Ops-voorbeeldwerkstroom.

Het diagram laat zien hoe beveiligingsteams continue verbeteringen implementeren gedurende de levenscyclus van beide:

  • Een MVP verfijnen in de verschillende domeinen Dev (Bedrijfsvereisten), Sec (naleving/beveiliging/veiligheid) en Ops (kwaliteit/prestaties/ondersteuning)
  • Continu verbeteren van het beveiligingsproces en het programma zelf (productiviteit van ontwikkelaars, operationele efficiëntie, beveiligingspostuur, protocollen voor identiteitsstandaardisatie en meer)

Volgende stappen