En penetrasjonstest betales per dag. Hver dag testerne bruker på å vente på en konto, gjette hvordan en funksjon skal virke eller bli blokkert av din egen brannmur, er en dag som ikke går til å finne sårbarheter. Det meste av ventetiden kan fjernes før starten.
Avgjør
Hva er spørsmålet? «Er den nye betalingsflyten trygg å lansere» og «hva kan noen på internett gjøre mot oss» fører til ulike tester. Skriv ned spørsmålet i én setning; omfanget følger av det.
Hva er innenfor omfanget, og hva er ikke det? List opp applikasjonene, adressene, miljøene. List også opp unntakene: betalingsleverandøren, morselskapets systemer, den gamle tjenesten som går ned bare noen ser på den.
Hvilket miljø? Et stagingmiljø som speiler produksjon, er å foretrekke: Testerne kan være grundige, og ingenting virkelig står på spill. Hvis det bare finnes et produksjonsmiljø, avtal tidspunktene og teknikkene som ikke er tillatt.
Hvor mye vet testerne? Testing med kontoer og dokumentasjon finner mer per dag enn blindtesting. Blindtesting svarer på ett snevert spørsmål: hva en utenforstående oppnår uten informasjon. Avgjør hva av dette du betaler for.
Forbered
Kontoer. Én for hver rolle, og i to separate leietakere (tenants) hvis produktet har leietakere: Tilgangskontroll mellom kunder kan ikke testes med én kunde. Opprett dem før starten, logg inn med hver av dem én gang, og kontroller at de har realistiske data.
Dokumentasjon. API-spesifikasjoner, et arkitekturdiagram, en beskrivelse av rollene og av de viktigste arbeidsflytene. Mangelfulle dokumenter er bedre enn ingen.
Tilgang. Hvis testmiljøet ligger bak en VPN eller en tilgangsliste, ordne tilgangen på forhånd, og test den. Avgjør om brannmuren for webapplikasjoner (WAF) skal være på. Hvis det er applikasjonen som testes, slipp testerne gjennom brannmuren; hvis det er brannmuren som testes, la den stå på, og si fra om det.
Data. Fyll testmiljøet med data som ligner de virkelige i struktur og ikke i innhold. Ekte personopplysninger i et testmiljø er et funn før testen har begynt.
Sikkerhetskopier. Bekreft at miljøet som testes, kan gjenopprettes. Testere er forsiktige; sikkerhetskopier er for de tilfellene der forsiktighet ikke var nok.
Varsle
Driftsteamet og overvåkingsteamet, med mindre testen skal undersøke nettopp dem. Gi dem kildeadressene til testerne og datoene. Ellers ender den første dagen med at testerne er blokkert og en hendelse er registrert.
Hostingleverandøren eller skyleverandøren, der retningslinjene deres krever det. De store skyleverandørene krever ikke varsel for testing av dine egne ressurser innenfor de publiserte reglene sine; mindre hostingselskaper gjør det ofte.
Leverandører hvis systemer berøres. Samtykket deres må foreligge skriftlig.
Én kontaktperson, som kan nås i testtiden og har myndighet til å ta avgjørelser: forlenge en konto, starte en tjeneste på nytt, stanse testen.
Signer
- konfidensialitetsavtalen (NDA), før noe av det ovenstående overleveres;
- avtalen;
- den skriftlige tillatelsen og reglene for gjennomføring.
Hva hvert av dokumentene er til for, er beskrevet i artikkelen «Hva som gjør en penetrasjonstest lovlig».
Under testen
- Ikke rull ut endringer i miljøet som testes, uten å si fra til testerne. Et funn som forsvinner over natten, koster en dag med forvirring.
- Ikke utbedre funn underveis, bortsett fra funn med kritisk alvorlighetsgrad. Hvis du utbedrer et funn, si fra.
- Svar raskt på spørsmål. En tester som spør hvordan en funksjon skal virke, har som regel funnet noe.
- Regn med å få hastende funn straks. En kritisk sårbarhet rapporteres når den er bekreftet, ikke i sluttrapporten.
Etter testen
- Les sammendraget sammen med ledelsen og funnene sammen med ingeniørene. De er skrevet for ulike lesere.
- Delta på gjennomgangsmøtet. Det er den billigste timen i oppdraget.
- Planlegg utbedringene etter prioritet, og si fra til testerne når de er satt i drift.
- Bruk retesten. En utbedring som ikke er verifisert, er en antakelse.
- Hold rapporten konfidensiell. Til utbedringene er på plass, er den en bruksanvisning for å angripe deg. For kunder og revisorer finnes bekreftelsesbrevet.
Sjekklisten
| Før starten | Utført |
|---|---|
| Spørsmål og omfang skrevet ned, med unntak | |
| Miljø valgt, testvinduer avtalt | |
| Kontoer opprettet for hver rolle, i to leietakere hvis produktet har leietakere | |
| Dokumentasjon overlevert | |
| Nettverkstilgang ordnet og testet | |
| Testdata på plass, ingen ekte personopplysninger | |
| Sikkerhetskopier verifisert | |
| Drift, overvåking og leverandører varslet | |
| Kontaktperson utpekt | |
| NDA, avtale, skriftlig tillatelse og regler for gjennomføring signert |
Siden for hver tjeneste viser hva akkurat den testen trenger fra deg.