Het bouwen en implementeren van cloud-native applicaties in omgevingen als AWS blijft een balanceer-act. Ontwikkelaars kunnen sneller dan ooit werken en dagelijks nieuwe functies kunnen verzinnen en aanbieden. Maar diezelfde snelheid kan een organisatie onder druk zetten als het te vlug gaat voor de aanwezige beveiligingsprocessen en per ongeluk secrets of andere gegevens worden vrijgegeven aan potentiële aanvallers.
De werkelijkheid is weerbarstig. Aan de ene kant ontwikkelt en implementeert 71 procent van de organisaties cloud-native apps, aldus de Enterprise Strategy Groups (ESG) ‘2023 Technology Spending Intentions Survey’. Aan de andere kant blijkt uit een ander ESG-rapport dat 70 procent van de organisaties meer dan vijftig secrets alleen al in hun Git-repositories hebben ingesloten, en dat 31 procent een cyber-incident heeft meegemaakt waarbij secrets uit een broncode-repository werden gestolen. Hard-coded secrets of secrets die niet goed geroteerd of herroepen worden, kunnen kwetsbaarheden worden die toegang kunnen verlenen tot kritieke systemen.
Als hard-coded secrets of openbaar worden of gecompromitteerd worden, kan dat enorme gevolgen hebben voor het bedrijf. Bij een recente inbraak bij CircleCI, een CI/CD-tool, werd bijvoorbeeld de identiteit van een werknemer met privileges om productietokens aan te maken gestolen. De aanvaller kon gegevens opvragen die omgevingsvariabelen, tokens en sleutels van klanten bevatten, waarmee toegang kon worden verkregen tot systemen van klanten. Hierdoor moesten alle klanten hun secrets op CircleCI roteren, een arbeidsintensief klusje als ze geen gecentraliseerde oplossing voor het beheer van secrets hebben. Naast het risico ook aangevallen te worden, besteedden de getroffen organisaties tijd en middelen aan het snel intrekken van toegang en het bijwerken van sleutels in hun omgevingen. Die tijd had beter besteed kunnen worden aan hun eigen bedrijfsdoelen.
Wie is beheerder?
Beheer van secrets is dus een cruciale taak, vooral wanneer in cloud-omgevingen zoals AWS wordt gewerkt. AWS heeft hiervoor een native tool, AWS Secrets Manager, die veel ontwikkelaars gebruiken om applicatie-secrets op te slaan. Het is niet terecht noch effectief om de last van het beveiligen van secrets alleen op de schouders van de ontwikkelaars te leggen. Zij zijn getraind in het bouwen en implementeren van toepassingen, en hun prestaties worden beoordeeld op hoe goed (en hoe snel) zij die projecten kunnen uitvoeren. Het beveiligen van secrets, het handhaven van least-privilege access en andere beveiligingsprincipes zijn traditioneel niet hun verantwoordelijkheid. Als we van hen verwachten dat ze zich op deze beveiligingstaken concentreren in plaats van op hun ontwikkelingstaken, dan kan dat leiden tot productievertragingen. Als verschillende projectteams allemaal afzonderlijk secrets voor hun project beheren in meerdere kluizen (of meerdere instances van AWS), kan het moeilijk zijn om zichtbaarheid te krijgen, consistent beleid toe te passen en toegang te controleren tussen projecten en accounts. Dat alles maakt het moeilijker om te reageren op incidenten zoals de CircleCI-breach.
Een betere aanpak is om security-teams het beheer van secrets in de hele onderneming te laten afhandelen, ook voor cloud-native applicaties. Dit mag echter niet ten koste gaan van de snelheid van ontwikkelaars. Beveiligingsprocessen waarvoor codewijzigingen of wijzigingen in workflows van ontwikkelaars nodig zijn, zullen onvermijdelijk vertragingen opleveren en frustratie opwekken bij cloud-native ontwikkelaars die snel moeten handelen om aan zakelijke richtlijnen te voldoen. In plaats daarvan hebben beveiligingsteams een manier nodig om secrets voor cloud-native toepassingen te beheren op een manier die samenvalt met de werkwijze van ontwikkelaars en voor hen beschikbaar is op de plek waar zij zich bevinden (AWS dus). En dus niet proberen een oplossing te forceren die hen vertraagt of meer werk oplevert.
Eisen
Zoals gezegd, dit blijft een balanceer-act. Security-teams willen het beheer van secrets centraliseren voor alle projecten en accounts. Cloud-architecten en -ontwikkelaars willen voldoen aan het beveiligingsbeleid zonder hun bestaande processen te veranderen door native tools zoals AWS Secrets Manager te blijven gebruiken.
Om secrets voor cloud-native omgevingen zoals AWS beter te beheren, hebben security-teams een oplossing nodig die gemakkelijk te gebruiken is en gebruik maakt van bestaande workflows, processen en tools. Dat maakt het voor ontwikkelaars gemakkelijker om de oplossing te integreren in hun dagelijkse werkzaamheden en het legt geen onnodige druk op de security-teams die proberen een grote hoeveelheid secrets te beheren.
Effectief secrets-management voor cloud-native omgevingen biedt zes belangrijke voordelen:
- Het biedt zichtbaarheid, controle en beheer van alle secrets over projecten en accounts via één overzicht, waardoor het uitbreiden van kluizen over meerdere AWS-instances en projecten wordt beperkt.
- Beheer, rotatie en synchronisatie van secrets wordt vereenvoudigd op een manier die transparant is voor ontwikkelaars, zodat kritieke functionaliteit niet wordt onderbroken.
- Beveiligingsteams kunnen gemakkelijk secrets vinden en beheren in bestaande instances van hun native tools voor het beheer van cloudsecrets, zoals AWS Secrets Manager.
- Ontwikkelaars behouden hun geliefde keuzevrijheid, aangezien zij hun native gebruikerservaringen kunnen behouden met AWS Secrets Manager.
- Automatische rotatie van secrets met cloud-native secrets verhoogt de operationele efficiëntie voor zowel security als ontwikkelaars (denk aan de hoeveel tijd en moeite die dit zou besparen bij een beveiligingsincident zoals bij CircleCI).
- De overgang van workloads naar AWS wordt versneld doordat hetzelfde beveiligingsbeleid kan worden afgedwongen in hybride en cloud-omgevingen.
Met een gecentraliseerde oplossing die werkt met native cloud secrets managers, kunnen security-teams en ontwikkelaars hun wensen bij elkaar brengen en veilige, goed gebouwde applicaties voor hun organisaties leveren. De juiste oplossing kan security-teams helpen het beheer van secrets te verbeteren voor op AWS gebaseerde toepassingen en risico’s te beperken.