Gå til innholdet

Kontroller kundeskille i en SaaS-applikasjon

En konkret kontrollplan for datatilgang, eksporter og bakgrunnsjobber mellom atskilte kundeområder.

Nora Henning2 min lesetid
Oppdelt brett med rosa og grønne kortbunker i separate rom.

Definer kundeområdet først

En tenant er et avgrenset kundeområde i applikasjonen din. Det trenger verken være én person eller alltid en hel bedrift. Avklar hvilke data som hører sammen, hvem som kan være medlem, og hvilke oppgaver hver rolle kan utføre. En brukerkonto kan ha flere medlemskap; innlogging alene velger ikke et tillatt dataomfang.

Microsoft skiller den logiske tenanten fra den tekniske utrullingen. Egen database og delte tabeller stiller ulike krav til drift og tilgangsvern. Ingen variant erstatter kontroll av alle tiltenkte tilgangsveier.

En kontrollplan med to oppdiktede kundeområder

Planlegg tilfellene med syntetiske data i et separat testmiljø. Dette er forventede resultater, ikke en gjennomført sikkerhetstest. Områdene heter TA og TB. Oppdrag SV-12 tilhører TA, oppdrag SV-41 tilhører TB. Testkontoene har de tiltenkte oppdragsrettighetene bare i sitt eget område.

Kontrollert tilgang

Handling

Forventet resultat

Berettiget konto i TA

Lese SV-12

Bare egne oppdragsdata som rollen har lov til å se, vises.

Samme konto i TA

Lese eller endre SV-41 direkte eller hente vedlegget

Ingen data fra TB utleveres eller endres.

Konto i TA

Søke og eksportere

Resultater og fil inneholder ingen data fra TB.

Først konto fra TB, deretter konto fra TA

Bruke samme tilgangsvei til serverens cache

TA får ingen resultater som tidligere er lagret for TB.

Konto i TA

Sette eksport i kø, fjerne tilgang før behandling

Bakgrunnsjobben kontrollerer igjen og avvises etter denne testregelen.

Kontroller data og faktiske endringer på serveren. En skjult knapp beviser ikke skille. Bruk også en kjent objektidentifikator fra et annet område: En identifikator som er vanskelig å gjette, må ikke være eneste tilgangshinder.

Før grensen gjennom hele flyten

OWASP krever serververifisert tenantkontekst og passende autorisering. Områdeidentifikatorer sendt av klienten er et valg, ikke en rettighet. Kontroller gjeldende medlemskap, tillatt handling og målobjektets tilhørighet. Mangler nødvendig kontekst, skal applikasjonen ikke falle tilbake på en ubegrenset spørring.

Ta med vedlegg, tenantavhengige cachenøkler, eksporter og utsatt behandling. Bakgrunnsjobber krever pålitelig videreføring av kontekst og autorisering og passende kontroller ved behandling. Avklar hvordan rettigheter fjernet i mellomtiden håndteres.

Offentlig, globalt innhold trenger ingen kunstig tenanttilknytning. Plattformoppgaver på tvers av områder trenger derimot en eksplisitt autorisert identitet og sporbar tilgang. Registrer forventet resultat, faktisk funn og retting separat for hvert tilfelle. Gjenta berørte kontroller når tilgangsveier eller roller endres.

Kilder

Skrevet av

  • Nora HenningRedaktør for IT-sikkerhetNora Henning har ansvaret for det redaksjonelle innholdet om IT-sikkerhet hos ASES. Hun skriver om applikasjonssikkerhet og forklarer hvordan tilgangsrettigheter og beskyttelse av bedriftens data henger sammen.

Følg ASES

Les videre

Alle artikler

Programvareutvikling med ASES

Skreddersydd programvare, web- og mobilapper