Gå til indholdet

Kontrollér kundeadskillelse i en SaaS-applikation

En konkret kontrolplan for dataadgang, eksporter og baggrundsopgaver mellem adskilte kundemiljøer.

Nora Henning2 min. læsetid
Opdelt bakke med rosa og grønne kortstakke i separate rum.

Definér først kundemiljøet

En tenant er et afgrænset kundemiljø i din applikation. Det behøver hverken være én person eller altid en hel virksomhed. Fastlæg hvilke data der hører sammen, hvem der kan være medlem, og hvilke opgaver hver rolle må udføre. En brugerkonto kan have flere medlemskaber; login alene vælger ikke et tilladt dataområde.

Microsoft skelner mellem den logiske tenant og den tekniske udrulning. En egen database og delte tabeller stiller forskellige krav til drift og adgangsbeskyttelse. Ingen variant erstatter kontrol af alle tilsigtede adgangsveje.

En kontrolplan med to opdigtede kundemiljøer

Planlæg disse tilfælde med syntetiske data i et separat testmiljø. Det er forventede resultater, ikke en udført sikkerhedstest. Miljøerne hedder TA og TB. Opgave SV-12 tilhører TA, opgave SV-41 tilhører TB. Testkontiene har kun de tilsigtede opgaverettigheder i deres eget miljø.

Kontrolleret adgang

Handling

Forventet resultat

Berettiget konto i TA

Læse SV-12

Kun egne opgavedata, som rollen må se, vises.

Samme konto i TA

Læse eller ændre SV-41 direkte eller hente dens bilag

Ingen data fra TB udleveres eller ændres.

Konto i TA

Søge og eksportere

Resultater og fil indeholder ingen data fra TB.

Først konto fra TB, dernæst konto fra TA

Bruge samme adgangsvej til serverens cache

TA modtager ingen resultater, der tidligere er gemt for TB.

Konto i TA

Sætte eksport i kø, fjerne adgang før behandling

Baggrundsopgaven kontrollerer igen og afvises efter denne testregel.

Kontrollér data og faktiske ændringer på serveren. En skjult knap beviser ikke adskillelse. Brug også en kendt objektidentifikator fra et andet miljø: En identifikator, der er svær at gætte må ikke være den eneste adgangsbarriere.

Før grænsen gennem hele forløbet

OWASP kræver serververificeret tenantkontekst og passende autorisation. Miljøidentifikatorer sendt af klienten er et valg, ikke en rettighed. Kontrollér aktuelt medlemskab, tilladt handling og målobjektets tilhørsforhold. Mangler den nødvendige kontekst, må applikationen ikke falde tilbage til en ubegrænset forespørgsel.

Medtag bilag, tenantafhængige cachenøgler, eksporter og forsinket behandling. Baggrundsopgaver kræver pålidelig overførsel af kontekst og autorisation samt passende kontrol under behandling. Fastlæg håndteringen af rettigheder, der er fjernet i mellemtiden.

Offentligt, globalt indhold behøver ikke en kunstig tenanttilknytning. Platformopgaver på tværs kræver derimod en udtrykkeligt berettiget identitet og sporbar adgang. Registrér forventet resultat, faktisk fund og rettelse særskilt for hvert tilfælde. Gentag berørte kontroller ved ændringer i adgangsveje eller roller.

Kilder

Skrevet af

  • Nora HenningRedaktør for it-sikkerhedNora Henning står for det redaktionelle indhold om it-sikkerhed hos ASES. Hun skriver om applikationssikkerhed og forklarer, hvordan adgangsrettigheder og beskyttelse af virksomhedsdata hænger sammen.

Følg ASES

Læs videre

Alle artikler

Softwareudvikling med ASES

Skræddersyet software, web- og mobilapps