Når mange kunder deler samme portal, er det mest alvorlige spørgsmål ofte, om én kunde kan få adgang til en andens oplysninger. En penetrationstest kan undersøge det, men kun hvis bestillingen gør adskillelsen til et udtrykkeligt spørgsmål og giver testeren mulighed for at optræde som mere end én kunde.
Svaret hviler på tre forudsætninger: en klar beskrivelse af, hvad hver kunde og hver rolle må se, testkonti hos mindst to forskellige kunder og en oversigt over alle de veje, oplysningerne kan hentes ad. Uden dem kan testen let ende med at bekræfte, at én kunde kan se sine egne data, hvilket ikke var spørgsmålet.
Adskillelse er et løfte til kunderne
Kunderne i kundeportalen eller webshoppen forventer, at deres ordrer, fakturaer og dokumenter kun er synlige for dem selv. Det er et løfte, som virksomheden giver, ofte uden at skrive det ned. Hvis løftet brydes, kan det ramme både kundeforholdet og virksomhedens forpligtelser efter reglerne om persondata.
Fejl i adgangskontrol er et kendt område. OWASP Top 10 har en kategori for brudt adgangskontrol, og listen bruges bredt som fælles sprog om webrisici. For køberen er den praktiske pointe, at adskillelse ikke kommer af sig selv, fordi brugerne logger ind. → OWASP Top 10 for købere
Den generelle bestilling af en webapplikation er beskrevet i → Penetrationstest af webapplikationer. Her er fokus på adskillelsen som det centrale spørgsmål.
Beskriv, hvem der må se hvad
Testeren kan kun vurdere, om adskillelsen holder, hvis det er kendt, hvordan den skal være. Skriv det ned i almindelige ord, før testen begynder.
- Kunde · hvad en kunde må se og gøre med egne oplysninger.
- Kundens brugere · om flere personer hos samme kunde deler oplysninger, og hvordan.
- Kundens administrator · om en kunde selv kan oprette brugere og give dem rettigheder.
- Medarbejdere · hvilke af virksomhedens egne medarbejdere der må se på tværs af kunder.
- Partnere · om forhandlere eller leverandører har adgang til udvalgte kunders oplysninger.
Beskrivelsen behøver ikke være teknisk. Den skal kunne læses af projektlederen, systemejeren og testeren og give samme billede. Hvis beskrivelsen ikke findes, er det et tegn på, at adskillelsen måske heller ikke er gennemtænkt i løsningen.
Nævn også de oplysninger, der er fælles for alle kunder, eksempelvis produktkatalog og vilkår. Så er det tydeligt, at de ikke er en del af adskillelsen, og testeren bruger ikke tid på dem. Det modsatte gælder for oplysninger, der kun er delvist fælles, som særlige priser eller aftaler for udvalgte kunder. De hører med, fordi de netop ikke må kunne ses af alle.
Mindst to kunder i testen
Det vigtigste praktiske valg er, at testeren får konti hos mindst to forskellige kunder. Med kun én kundekonto kan testeren se, hvad kunden må, men ikke undersøge, om kunden kan nå ud over sin egen kundes oplysninger. Spørgsmålet om adskillelse kræver noget at være adskilt fra.
Hvis kunderne har flere roller, kan det være relevant at give testeren flere roller hos hver kunde: en almindelig bruger og en administrator. Så kan testen undersøge både adskillelsen mellem kunderne og adskillelsen mellem rollerne hos samme kunde. Hvilke konti der skal udleveres, er behandlet i → Testkonti og testdata. Hvad det i det hele taget ændrer at teste med login, findes i → Test med og uden login.
Kunder med flere niveauer
Nogle løsninger har kunder i flere lag. En erhvervskunde kan have afdelinger, der hver skal se deres egne ordrer, mens hovedkontoret skal se det hele. En forhandler kan have sine egne kunder i portalen. Jo flere lag, jo flere grænser er der at holde.
Beskriv lagene, og angiv, hvilke grænser der er vigtigst. Det er sjældent muligt at undersøge alle kombinationer inden for en afgrænset opgave, og så skal prioriteringen være synlig. Hvis virksomheden er et softwarehus, hvor mange kunder deler samme løsning, er adskillelsen ofte kernen i det, kunderne vil se dokumentation for. → Softwarehuse og SaaS
Alle veje til oplysningerne
Kunder ser deres oplysninger på skærmen, men oplysningerne kan også hentes ad andre veje. Hver vej er en mulig utæthed, og hver vej bør nævnes, hvis den skal med.
- Skærmbilleder · de sider, kunden bruger til daglig.
- API’er · forbindelser, som portalen selv bruger, eller som kunder og partnere kan tilgå.
- Eksport og rapporter · filer, kunden kan hente, eksempelvis ordreoversigter.
- Dokumenter og vedhæftninger · fakturaer, kontrakter og billeder, som er gemt i løsningen.
- Beskeder og notifikationer · mails og beskeder, der sendes med oplysninger.
API’erne er ofte den mindst synlige vej, fordi kunden ikke ser dem direkte. De har deres eget opslag. → API-test forklaret for købere
Testdata og miljø
Adskillelse testes bedst med oplysninger, der ligner de rigtige, men ikke er det. I et testmiljø kan virksomheden oprette fiktive kunder med fiktive ordrer. I produktion skal testen bruge særlige testkunder, så rigtige kunders oplysninger ikke berøres. Valget har betydning for, hvad resultatet kan sige om driften. → Penetrationstest i produktion eller testmiljø
Aftal, hvad testeren skal gøre, hvis testen alligevel viser rigtige kunders oplysninger. Det bør stoppe den pågældende del, meldes med det samme og dokumenteres uden at gemme flere oplysninger end nødvendigt. Det er også en del af grundlaget, hvis virksomheden senere skal vurdere, om der er sket et brud på persondatasikkerheden.
Det skal I lade være med
- At teste med én kundekonto. Adskillelse kræver mindst to kunder.
- At lade adskillelsen være underforstået. Skriv ned, hvem der må se hvad.
- At glemme API’er, eksport og dokumenter. Oplysningerne kan hentes ad flere veje end skærmen.
- At bruge rigtige kunders oplysninger som testdata. Opret testkunder, eller test i et miljø med fiktive data.
- At mangle en plan for utilsigtet adgang til rigtige data. Stop, melding og dokumentation skal være aftalt.
Hvad kan og ikke kan konkluderes
En test kan vise, om testeren med de udleverede konti kunne nå oplysninger hos andre testkunder ad de veje, der indgik. Den kan ikke vise, at adskillelsen holder for alle kundetyper, roller og veje, hvis de ikke var med.
Et resultat uden fund er værdifuldt for de grænser, der blev undersøgt. Det bør formuleres netop sådan over for kunderne. En sætning om, at kunders oplysninger er adskilt, skal kunne føres tilbage til de konti, roller og veje, rapporten beskriver.
Tjekliste til bestillingen
- ☐ Er det beskrevet, hvem der må se hvad, i almindelige ord?
- ☐ Har testeren konti hos mindst to kunder?
- ☐ Er roller hos samme kunde med, hvis de findes?
- ☐ Er lag af kunder og partnere beskrevet og prioriteret?
- ☐ Er API’er, eksport, dokumenter og beskeder nævnt?
- ☐ Bruges testkunder eller fiktive data i stedet for rigtige?
- ☐ Er stop og melding ved utilsigtet adgang aftalt?
Kilder
- OWASP Top 10: brudt adgangskontrol som kategori for webrisici.
- OWASP Web Security Testing Guide: test af autorisation i webapplikationer.
Senest gennemgået: oktober 2026.
Næste skridt
Del af: Artikler om penetrationstest
Læs også: Ny kundeportal: hvornår skal testen ligge? · Scope i en penetrationstest
→ Kontakt · Tlf. 70 13 63 23 · Penetrationstest hos Nielco IT