Wat is DevOps-beveiliging?
- IAM-woordenlijst
- Wat is DevOps-beveiliging?
DevOps-beveiliging, ook wel DevSecOps genoemd, is een samentrekking van de woorden Development, Operations en Security. Zowel DevOps-beveiliging als DevSecOps verwijzen naar een filosofie van het integreren van beveiliging in de levenscyclus van softwareontwikkeling (SDLC, Software Development Lifecycle), zo vroeg mogelijk, bij voorkeur voordat er ook maar een regel code is geschreven.
Wat is het verschil tussen DevOps en DevSecOps?
DevSecOps is een uitbreiding of verbetering van de DevOps-filosofie. Om deze reden is het belangrijk om te begrijpen wat DevOps en DevSecOps gemeen hebben voordat we de verschillen bespreken.
Zowel DevOps als DevSecOps verwijzen naar een filosofie of benadering van softwareontwikkeling, niet naar een bepaalde tool of set met tools. Net zoals het installeren van een probleemtrackingsysteem niet betekent dat u 'aan DevOps doet', betekent het installeren van een statische of dynamische app-beveiligingstool niet dat u aan 'DevSecOps doet'.
DevOps en DevSecOps leggen beide de nadruk op samenwerking, automatisering en actieve monitoring van software-applicaties. De mogelijkheid om app-gegevens in realtime vast te leggen is het kernpunt van beide filosofieën. Om aan DevOps en DevSecOps te 'doen', hebt u doorlopende vastlegging en analyse van deze gegevens nodig om manieren te bedenken om de productiviteit te verhogen en verbeteringen te stimuleren.
Beide filosofieën zijn afhankelijk van samenwerking, in het bijzonder bij het elimineren van organisatiesilo's. DevOps wil silo's afbreken tussen software-ontwikkeling en IT-activiteiten, waarbij het idee is dat wanneer ontwikkelaars en IT-personeel samenwerken, software sneller wordt uitgebracht en met minder fouten. DevSecOps gaat nog een stapje verder en wil beveiligingsmedewerkers een plek aan tafel geven. Het idee achter DevSecOps is dat wanneer ontwikkelaars, IT-personeel en beveiligingspersoneel samenwerken, de software sneller wordt uitgebracht, van betere kwaliteit is en veiliger is.
DevSecOps goed 'doen' betekent dat apps goed worden beveiligd tegen risico's voordat ze worden geproduceerd. Deze praktijk wordt vaak 'verschuiven naar links' genoemd omdat deze verwijst naar de integratie van beveiliging aan het begin van de projecttijdlijn – nog voordat er ook maar een regel code is geschreven – in plaats van er later naar te kijken. In een DevSecOps-omgeving coderen ontwikkelaars met beveiliging in hun achterhoofd - iets wat DevOps op zichzelf niet doet.
Door praktijken zoals code-analyse, bedreigingsonderzoek en een kwetsbaarheidsbeoordeling te introduceren in de SDLC, met doorlopende tests en evaluaties, zorgt DevSecOps ervoor dat de codebasis veilig is voor onderschepping. Naast het verbeteren van de app-beveiliging, verbetert DevSecOps de productiviteit. Beveiligingsproblemen vroeg opsporen en verhelpen is veel minder tijdrovend en prijzig dan de code later opnieuw aanpassen in de levenscyclus van de software.
Beveiligingsuitdagingen DevOps
Hoewel DevSecOps heel veel voordelen biedt, kunnen organisaties het lastig vinden om die goed te implementeren. Laten we een paar van de veelvoorkomende uitdagingen van DevOps-beveiliging bekijken.
Een te zware focus op tools en een te lichte focus op processen. Zoals eerder in het artikel genoemd, zijn zowel DevOps als DevSecOps filosofieën, geen verplichtingen om bepaalde software te gebruiken.
Culturele weerstand van ontwikkelaars: "Maar we hebben het altijd zo gedaan". Ontwikkelaars zijn mogelijk niet gewend aan veilige programmeerpraktijken. Traditioneel gezien programmeerden ontwikkelaars voor werkzaamheid en werden veiligheidshiaten later ontdekt en verholpen. Ontwikkelaars vrezen mogelijk dat als ze zich 'zorgen moeten maken' over de beveiliging, dat de productie dan vertraagt.
Culturele weerstand van beveiligingsteams. Ontwikkelaars zijn niet de enigen die zich mogelijk vasthouden aan 'de manier waarop het altijd gebeurde'. DevOps-teams richten zich op snelheid, het aanpassen en produceren van programmeercode binnen uren of dagen - een gestaag tempo waarbij beveiligingsteams mogelijk buitengesloten worden. Het verschil is dat DevOps-teams zo veel mogelijk processen automatiseren, terwijl beveiligingsteams vaak veel werk handmatig doen.
Inadequaat geheimenbeheer. DevOps-omgevingen zijn zeer complex en onderling sterk verbonden. Het is niet ongebruikelijk dat DevOps-winkels honderden beveiligingsgroepen en duizenden serverinstanties hebben, die allemaal gebruikmaken van geheimen zoals geprivilegieerd account-aanmeldingsgegevens, SSH-sleutels, API-tokens, databasewachtwoorden en meer, allemaal verspreid binnen de data-omgeving van de organisatie in een omstandigheid die 'secrets sprawl' wordt genoemd. Een eenvoudige misconfiguratie kan ertoe leiden dat een van deze geheimen wordt blootgesteld - en dat de organisatie te maken krijgt met een catastrofale cyberaanval.
Inadequaat Privileged Access Management. Om de productie te versnellen, geven veel DevOps-teams hun leden virtueel onbeperkte toegang tot geprivilegieerde accounts zoals root en admin. Erger nog, meerdere individuen delen mogelijk dezelfde set met aanmeldingsgegevens – wat een grote no-no is op beveiligingsgebied, plus een groot probleem tijdens nalevingsaudits, waarbij van organisaties wordt verwacht dat ze een schoon auditspoor produceren. Daarnaast hebben mogelijk ook orkestratie, configuratiebeheer en andere DevOps-tools hele hoge toegangsniveaus, veel hoger dan de tool nodig heeft om te werken.
Best practices DevOps-beveiliging
Hieronder vindt u een paar van de best practices voor het implementeren van DevOps-beveiliging in uw organisatie.
- Onthoud dat DevSecOps, zoals DevOps, een mindset is, geen set met tools. In plaats van 'DevSecOps-tools' aanschaffen en ontdekken waar u ze wilt gebruiken, moet u zich richten op uw einddoelen, processen ontwikkelen om die te bereiken en vervolgens de tools kopen die deze processen en doelen ondersteunen.
- Gebruik de juiste veranderingsmethoden om culturele weerstand van uw ontwikkelaars en beveiligingspersoneel teniet te doen. Laat beide teams zien dat DevSecOps hen tijd bespaart en productiever maakt, niet minder. Stel duidelijke programmeernormen op voor uw ontwikkelaars en automatiseer beveiligingsprocessen en tools zo veel mogelijk.
- Strijd tegen secrets sprawl met een tool zoals Keeper Secrets Manager.
- Maak gebruik van uitgebreide privilegerechten en toegangsniveaus met controles, zoals Role-Based Access Control (RBAC), toegang met minimale privileges en just-in-time toevoeging.
- Voorkom misbruik van geprivilegieerde toegang met sessie-opnames en auditing.