DevSecOps begrijpen
Cloudimplementatie blijft versnellen naarmate organisaties bedrijfsproductiviteit willen ondersteunen, extern werk mogelijk maken en bewerkingen efficiënt willen schalen. Deze snelle acceptatie zonder adequate beveiligingsinfrastructuur kan echter per ongeluk gegevens in gevaar komen en organisaties blootstellen aan aanzienlijke risico's.
De beveiligingsachterstand in cloudtoepassingen
Beveiligingsproblemen blijven behouden, zelfs naarmate de cloudacceptatie toeneemt. Organisaties die overstappen op cloudplatforms implementeren niet altijd de juiste beveiligingsmaatregelen:
Versleutelingsgaten: Veel cloudtoepassingen kunnen gegevens niet goed beveiligen:
- Data-at-rest: Niet-versleutelde databases, opslagaccounts en bestandssystemen laten gegevens kwetsbaar wanneer opslagmedia worden geopend, gestolen of onjuist worden verwijderd.
- Gegevens die onderweg zijn: Toepassingen die gegevens verzenden via niet-versleutelde verbindingen maken informatie beschikbaar voor onderschepping. Zelfs intern netwerkverkeer moet worden versleuteld.
- Veelvoorkomende hiaten: Aanzienlijke percentages van SaaS-toepassingen versleutelen gegevens niet adequaat. Opslagtoepassingen hebben vaak geen versleuteling, zowel in ruste als tijdens overdracht. Samenwerkingstoepassingen verzenden vaak gevoelige informatie zonder de juiste beveiliging.
Tekortkomingen in sessiebeveiliging: Zwak sessiebeheer creëert beveiligingsproblemen:
- Ontbrekende HTTP-beveiligingsheaders: Toepassingen die geen beveiligingsheaders implementeren, zoals HSTS (HTTP Strict Transport Security), CSP (Content Security Policy) en beveiligde cookiekenmerken, laten sessies kwetsbaar voor hijacking.
- Tokenblootstelling: Sessietokens die onveilig worden verzonden, kunnen worden onderschept en hergebruikt door aanvallers om legitieme gebruikers te imiteren.
- Beperkte acceptatie: Zeer weinig SaaS-toepassingen implementeren uitgebreide HTTP-headersessiebeveiliging, waardoor gebruikers kwetsbaar zijn voor aanvallen op basis van sessies.
Wat is Veilige DevOps (DevSecOps)
De spanning tussen snelheid en veiligheid: DevOps benadrukt het sneller werken via automatisering, continue integratie en snelle implementatie. Beveiliging benadrukt traditioneel grondigheid, zorgvuldige beoordeling en uitgebreide tests. Deze doelen kunnen tegenstrijdig lijken.
Problemen met traditionele beveiligingsbenadering: Wanneer beveiligingsproblemen alleen aan het einde van de ontwikkelingscyclus worden aangepakt, treden er verschillende problemen op:
- Ongepland werk wordt vlak voor de implementatie weergegeven wanneer teams onder druk staan om vrij te geven.
- Beveiligingsproblemen die te laat zijn ontdekt, vereisen dure herwerk van voltooide functies.
- Beveiliging wordt een knelpunt dat de releases vertraagt of blokkeert.
- Teams zien beveiliging als een obstakel in plaats van een enabler.
- Kritieke beveiligingsproblemen kunnen worden gedeprioritiseerd vanwege druk op de release.
De Secure DevOps-oplossing: Secure DevOps integreert beveiliging met DevOps-procedures in een samenhangende set activiteiten die zijn ontworpen om te voldoen aan de doelstellingen van zowel DevOps-snelheid als de effectiviteit van beveiliging. Beveiliging maakt deel uit van het ontwikkelingsproces vanaf het begin in plaats van een poort aan het einde.
Voordelen van integratie: Met een Secure DevOps-pijplijn kunnen ontwikkelteams snel werken zonder hun project te verbreken door ongewenste beveiligingsproblemen te introduceren. Beveiliging en snelheid worden complementair in plaats van tegengestelde doelen.
Notitie
Secure DevOps wordt ook wel DevSecOps genoemd. U kunt beide termen tegenkomen, maar elk verwijst naar hetzelfde concept. Het terminologieverschil is puur stilistisch. De praktijken en principes blijven identiek.
Hoe beveiliging verandert in Secure DevOps
Traditionele beveiligingsmethodologieën: In het verleden werd de beveiliging uitgevoerd op tragere cycli en voornamelijk gericht op:
- Toegangsbeheer: Beheren wie toegang heeft tot systemen en gegevens via verificatie- en autorisatiemechanismen.
- Omgevingsbeveiliging: Systemen configureren om overbodige services te verwijderen, beveiligingspatches toe te passen en beveiligde configuraties af te dwingen.
- Perimeterbeveiliging: Firewalls, inbraakdetectiesystemen en netwerksegmentatie gebruiken om de netwerkgrens te beveiligen.
Uitgebreid beveiligingsbereik: Secure DevOps omvat deze traditionele beveiligingsmethodologieën, maar breidt beveiligingsproblemen uit gedurende de gehele levenscyclus van softwareontwikkeling. Met Secure DevOps gaat beveiliging over het beveiligen van de pijplijn zelf en alles wat er doorheen stroomt.
Focus op pijplijnbeveiliging: Secure DevOps omvat het bepalen waar beveiliging moet worden toegevoegd aan de elementen die zijn aangesloten op uw build- en release-pijplijnen:
- Broncodeopslagplaatsen.
- Servers en agents bouwen.
- Artefactopslag en registers.
- Implementatiehulpprogramma's en -processen.
- Infrastructuur als codesjablonen.
- Configuratiebeheersystemen.
- Oplossingen voor geheimenbeheer.
Uitgebreide benadering: Secure DevOps laat zien hoe en waar u beveiliging kunt toevoegen aan uw automatiseringsprocedures, productieomgevingen en andere pijplijnelementen, terwijl de snelheidsvoordelen van DevOps behouden blijven. Beveiligingscontroles zijn geautomatiseerd en geïntegreerd in plaats van handmatig en gescheiden.
Belangrijke vragen over Secure DevOps-adressen
Met Secure DevOps kunnen organisaties kritieke beveiligingsvragen beantwoorden:
Beveiliging van onderdelen van derden:
- Gebruikt mijn pijplijn onderdelen van derden en zijn ze beveiligd?
- Zijn deze onderdelen afkomstig van vertrouwde bronnen?
- Worden onderdeelhandtekeningen geverifieerd?
- Zijn licenties compatibel met ons gebruik?
Beheer van beveiligingsproblemen:
- Zijn er bekende beveiligingsproblemen binnen een van de software van derden die we gebruiken?
- Hoe houden we openbaarmakingen van beveiligingsproblemen bij voor onze afhankelijkheden?
- Wat is ons proces voor het bijwerken van kwetsbare onderdelen?
- Hebben we een inventaris van alle afhankelijkheden, inclusief transitieve afhankelijkheden?
Detectiesnelheid (tijd om te detecteren):
- Hoe snel kan ik beveiligingsproblemen detecteren?
- Worden beveiligingsscans geautomatiseerd in de pijplijn?
- Hebben we runtimebewaking voor beveiligingsproblemen?
- Hoe snel bereiken beveiligingswaarschuwingen de juiste personen?
Herstelsnelheid (tijd om te herstellen):
- Hoe snel kan ik geïdentificeerde beveiligingsproblemen oplossen?
- Kunnen we fixes implementeren via dezelfde geautomatiseerde pijplijn?
- Wat is ons proces voor beveiligingspatches voor noodgevallen?
- Hoe controleren we of herstel effectief is?
Beveiliging als code
Geautomatiseerde beveiligingsprocedures: Beveiligingsprocedures voor het detecteren van mogelijke beveiligingsafwijkingen moeten zo robuust en snel zijn als andere onderdelen van uw DevOps-pijplijn. Dit omvat:
Automatisering van infrastructuurbeveiliging:
- Geautomatiseerde beveiligingsscans van infrastructuur als codesjablonen.
- Afdwingen van beleid als code voor cloudresourceconfiguraties.
- Nalevingscontrole vóór de implementatie van de infrastructuur.
- Continue bewaking van de beveiligingspostuur van de infrastructuur.
Automatisering van toepassingsbeveiliging:
- Statische applicatie-beveiligingstests (SAST) tijdens builds.
- Dynamische applicatiebeveiligingstests (DAST) in stagingomgevingen.
- Analyse van softwaresamenstelling voor kwetsbaarheden in afhankelijkheden.
- Het scannen van container-images vóór implementatie.
- Zelfbescherming van runtime-toepassingen (RASP) in productie.
Continueuze beveiliging: Beveiliging in Secure DevOps is geen enkelvoudig controlepunt. Het is continue validatie tijdens de ontwikkeling, implementatie en bewerking. Elke fase van de pijplijn bevat de juiste beveiligingscontroles die automatisch worden uitgevoerd zonder de levering te vertragen.