Ett penetrationstest betalas per dag. Varje dag som testarna ägnar åt att vänta på ett konto, gissa hur en funktion ska fungera eller bli blockerade av din egen brandvägg är en dag som inte går till att hitta sårbarheter. Det mesta av den väntan går att undanröja före starten.
Bestäm
Vad är frågan? ”Är det nya betalflödet säkert nog att släppa” och ”vad kan någon på internet göra mot oss” leder till olika tester. Skriv ned frågan i en enda mening: omfattningen följer av den.
Vad ingår i omfattningen och vad ingår inte? Lista applikationerna, adresserna och miljöerna. Lista även undantagen: betaltjänstleverantören, moderbolagets system, den gamla tjänsten som kraschar så fort någon tittar på den.
Vilken miljö? En stagingmiljö som motsvarar produktionsmiljön är att föredra: testarna kan vara grundliga och inget verkligt står på spel. Om det bara finns en produktionsmiljö, kom överens om tiderna och om vilka tekniker som inte är tillåtna.
Hur mycket vet testarna? Testning med konton och dokumentation hittar mer per dag än testning i blindo. Testning i blindo svarar på en enda snäv fråga: vad en utomstående kan uppnå utan någon information. Bestäm vilket av dem du betalar för.
Förbered
Konton. Ett för varje roll, och i två separata kundmiljöer (tenants) om produkten har sådana: åtkomstkontrollen mellan kunder kan inte testas med en enda kund. Skapa kontona före starten, logga in med vart och ett en gång och se till att de har realistiska data.
Dokumentation. API-specifikationer, ett arkitekturdiagram, en beskrivning av rollerna och av de viktigaste arbetsflödena. Ofullständiga dokument är bättre än inga.
Åtkomst. Om testmiljön ligger bakom ett VPN eller en lista över tillåtna adresser, ordna åtkomsten i förväg och testa den. Bestäm om webbapplikationsbrandväggen ska vara påslagen. Om det är applikationen som testas, släpp igenom testarna. Om det är brandväggen som testas, låt den vara påslagen och säg det.
Data. Fyll testmiljön med data som liknar de verkliga till strukturen men inte till innehållet. Verkliga personuppgifter i en testmiljö är ett fynd redan innan testet har börjat.
Säkerhetskopior. Bekräfta att miljön som testas kan återställas. Testare är försiktiga. Säkerhetskopior är till för det fall då försiktigheten inte räckte.
Informera
Driftteamet och övervakningsteamet, om inte testet ska pröva just dem. Ge dem testarnas källadresser och datumen. Annars slutar den första dagen med att testarna är blockerade och en incident är öppnad.
Hosting- eller molnleverantören, där deras policy kräver det. De stora molnleverantörerna kräver inget förhandsbesked för testning av dina egna resurser inom ramen för sina publicerade regler. Mindre hostingföretag gör det ofta.
Leverantörer vars system berörs. Deras samtycke krävs skriftligen.
En kontaktperson, som går att nå under testtiderna och har befogenhet att fatta beslut: att förlänga ett konto, att starta om en tjänst, att stoppa testet.
Skriv under
- sekretessavtalet (NDA), innan något av ovanstående lämnas över;
- avtalet;
- det skriftliga tillståndet och uppdragsreglerna.
Vad vart och ett av dem är till för beskrivs i ”Vad som gör ett penetrationstest lagligt”.
Under testet
- Driftsätt ingenting i miljön som testas utan att säga det till testarna. Ett fynd som försvinner över natten kostar en dag av förvirring.
- Åtgärda inte fynd mitt under testet, utom kritiska. Om du åtgärdar ett, säg det.
- Svara snabbt på frågor. En testare som frågar hur en funktion ska fungera har oftast hittat något.
- Räkna med att brådskande fynd rapporteras direkt. En kritisk sårbarhet rapporteras när den har bekräftats, inte i slutrapporten.
Efter testet
- Läs sammanfattningen med ledningen och fynden med teknikerna. De är skrivna för olika läsare.
- Delta i genomgången. Det är uppdragets billigaste timme.
- Planera åtgärderna efter prioritet och berätta för testarna när de är driftsatta.
- Använd omtestet. En åtgärd som inte har verifierats är ett antagande.
- Håll rapporten konfidentiell. Tills åtgärderna är på plats är den en manual för att angripa dig. För kunder och revisorer finns intyget.
Checklistan
| Före starten | Klart |
|---|---|
| Frågan och omfattningen nedskrivna, med undantagen | |
| Miljön vald, testfönstren överenskomna | |
| Konton skapade för varje roll, i två kundmiljöer om produkten har sådana | |
| Dokumentationen överlämnad | |
| Nätverksåtkomsten ordnad och testad | |
| Testdata på plats, inga verkliga personuppgifter | |
| Säkerhetskopiorna verifierade | |
| Driften, övervakningen och leverantörerna informerade | |
| Kontaktpersonen utsedd | |
| NDA, avtal, skriftligt tillstånd och uppdragsregler underskrivna |
Sidan för varje tjänst anger vad just det testet behöver från dig.