Ik spreek geregeld met security professionals die worstelen met het implementeren van informatiebeveiliging binnen organisaties die (gedeeltelijk) volgens agile werken. Het pijnpunt dat ik dan vaak hoor is: de autorisaties binnen ontwikkelteams.
Binnen agile geldt het principe dat ontwikkelteams zo goed mogelijk gefaciliteerd moeten worden om hun werk uit te kunnen voeren. Dit betekent in de praktijk dat teams in staat moeten zijn om te kunnen samenwerken, ook met leden die uit andere afdelingen of zelfs bedrijfsonderdelen komen. Dat betekent dat men elkaars code (en andere data) moet kunnen benaderen en wijzigen.
Hierin ligt dan ook het pijnpunt vanuit de informatiebeveiliger: het staat haaks op principes als: "least privilege", "need to know" and "separation of duties". Uitgangspunten van deze principes zijn: vertrouw niemand en zorg ervoor dat je potentiële risicobronnen zoveel mogelijk kunt isoleren.
Agile is echter gebaseerd op het vertrouwen in het kunnen en intenties van de teams. Om voor teams effectief te zijn, moeten er zo min mogelijk obstakels (impediments) opgeworpen worden.
Impasse doorbreken
Hier is duidelijk sprake van een impasse en hoe kan deze doorbroken worden? Het antwoord ligt in een de grondbeginselen waar agile frameworks en methodieken op zijn gebaseerd: het empirische proces.
Een empirisch proces is een proces waarbij je naar de gewenste uitkomst toe groeit en kenmerkt zich door transparantie, inspectie en aanpassing (transparancy, inspection & adaptation).
- Transparancy: laat duidelijk zijn waar je naar toe wilt, waar je mee bezig bent en maak verwachtingen helder.
- Inspection: controleer regelmatig en bepaal of je dichter of verder van het gewenste doel bent gekomen.
- Adaption: pas aan, stel bij, etc.
Win-win-situatie
Hoe vertaalt dit zich naar het pijnpunt van autorisaties? Dit zou betekenen dat teams de rechten krijgen die ze nodig hebben. Met als voorwaarde dat het gebruik van deze rechten worden gemonitord (inspection) en er ingegrepen wordt als er een onacceptabele situatie dreigt te ontstaan (adaption). Wat als onacceptabel wordt beschouwd is vastgelegd en gecommuniceerd in het beveiligingsbeleid (transparancy)
Van belang is dat ontwikkelaars ieder een eigen account krijgen en niet met gedeelde accounts werken. Als iedereen hetzelfde account gebruikt, kun je nooit achterhalen wie, wat, wanneer heeft gedaan. Dit is niet alleen noodzakelijk vanuit beveiligingsperspectief, maar ook kwaliteitsaspecten als goede versie en configuratiebeheer.
Op deze manier ontstaat er een win-win-situatie: ontwikkelaars kunnen optimaal hun werk doen en de beveiliging is geborgd.
Ook interessant
Bekijk hier ons uitgebreide opleidingenaanbod op het gebied van Agile en lees hier meer Agile gerelateerde blogs.