Hoe u zich voorbereidt op uw eerste penetratietest
Het meeste rendement van een penetratietest wordt behaald of verloren voordat er ook maar één toetsenbord wordt aangeraakt. Een team dat geconfronteerd wordt met een vage scope, geen testaccounts en een nerveuze lead engineer verdoet de eerste twee dagen aan logistiek in plaats van te zoeken naar de zaken waarvoor u ze betaalt. Als dit uw eerste test is, levert een paar uur voorbereiding een aanzienlijk beter resultaat op. Hier is de checklist die we elke nieuwe klant gunnen.
Weet waarom u test
Alles wat volgt vloeit hieruit voort. Test u omdat een klantcontract of een auditor dit eist, omdat uw verzekeraar erom vraagt, of omdat u oprecht wilt weten hoe kwetsbaar u bent? Bij een compliance-gedreven test wordt de scope vaak bepaald door de norm. Een risicogedreven test moet gericht zijn op wat het meeste schade aanricht als het misgaat. Schrijf uw reden in één zin op. Dat voorkomt later een hoop discussies over wat wel en niet binnen de scope valt.
Definieer de scope, op schrift
De scope is de allerbelangrijkste input. Het is de exacte lijst van wat de testers mogen aanraken: welke domeinen, welke applicaties, welke IP-ranges, welke API's en welke technieken uitgesloten zijn. De open Penetration Testing Execution Standard (PTES) behandelt deze stap vooraf niet voor niets als een op zichzelf staande fase, want een vage scope leidt tot een vage test.
Wees specifiek en eerlijk over de grenzen. Als een systeem wordt beheerd door een externe leverancier, kunt u meestal geen toestemming geven voor tests zonder hun toestemming, en geen enkele serieuze tester zal het systeem puur op uw woord aanvallen. Bepaal wat wel en niet wordt meegenomen, en leg dit vast en laat het ondertekenen. Dat document, vaak de rules of engagement genoemd, beschermt u net zo goed als de testers.
Kies de omgeving: productie of staging
U zult de vraag krijgen of er op productie of op een staging-kopie getest moet worden. Beide hebben voor- en nadelen.
- Productie is het echte werk, dus bevindingen zijn reëel, maar er is een kleine kans dat het testen vertraging of bijwerkingen veroorzaakt. Goede testers gaan zorgvuldig te werk, maar u moet hier alsnog rekening mee houden en dit inplannen.
- Staging is veiliger om zwaar te belasten, maar alleen nuttig als het een getrouwe kopie van productie is. Een staging-omgeving die drie versies achterloopt, met fictieve data en een andere configuratie, levert bevindingen op die mogelijk niet gelden voor het systeem dat uw klanten daadwerkelijk gebruiken.
Als u voor staging kiest, zorg er dan voor dat het een getrouwe kopie is. Een misleidende omgeving is erger dan een omgeving met een klein risico.
Regel toegang en testaccounts
Als u wilt dat de test omvat wat een ingelogde gebruiker of klant kan doen, wat vrijwel altijd aan te raden is, hebben de testers werkende inloggegevens nodig. Ongeauthenticeerd testen ziet alleen de voordeur. De meeste echte schade ontstaat achter de login.
Zorg voor de start van de test voor het volgende:
- Gebruikersaccounts voor elke relevante rol: standaardgebruiker, admin en alle tussenliggende niveaus.
- Meerdere accounts per rol, zodat testers kunnen controleren of de ene gebruiker bij de gegevens van een andere gebruiker kan.
- Eventuele API-sleutels, tokens of documentatie die nodig zijn om de applicatie te gebruiken zoals een echte klant dat doet.
- Een overzicht van zaken die blokkades, facturering of e-mails kunnen uitlokken, zodat niemand voor verrassingen komt te staan.
Regel de planning en communicatie
Spreek een testperiode af en bepaal wie op de hoogte wordt gesteld. Wijs één technisch contactpersoon aan die snel vragen kan beantwoorden en de bevoegdheid heeft om de test met één bericht stil te leggen als er iets misgaat.
Bepaal vooraf wat u doet met uw eigen beveiliging. Als een web application firewall of monitoringsysteem het testverkeer blokkeert of er meldingen over genereert, moet u met de testers afspreken of hun bronadres op de allowlist komt. Een firewall die de test simpelweg blokkeert, kan immers juist de kwetsbaarheden daarachter aan het zicht onttrekken. Waarschuw uw operations- en supportteams, zodat een piek in vreemd verkeer niet om 3 uur 's nachts tot een noodoproep leidt.
Zorg dat uw documentatie klaar ligt
Testers kunnen sneller aan de slag wanneer u hun context geeft. De OWASP Web Security Testing Guide, een veelgebruikte open methodologie, beschouwt informatieverzameling als het fundament van een goede test. U kunt die fase verkorten door een architectuuroverzicht, API-documentatie, een lijst met gebruikersrollen en opmerkingen over afwijkende of kwetsbare onderdelen aan te leveren. U doet daarmee niet hun werk, u zorgt er zo voor dat hun tijd opgaat aan het vinden van problemen, niet aan het herontdekken van de opbouw van uw applicatie.
Weersta de neiging om op te schonen
Bij een eerste test is de verleiding groot om snel alles te patchen en op te schonen, zodat het rapport er goed uitziet. Doe dat niet. Het doel is om uw werkelijke situatie te leren kennen, niet om een schijnwerkelijkheid op te tuigen. Het verhelpen van bekende problemen is over het algemeen prima en aan te raden, maar verberg of uitschakel geen zaken puur om de test te ontlopen. U zou alleen maar betalen om uzelf voor de gek te houden.
Weet wat u aan het einde ontvangt
Spreek het opleverproduct af voor dag één: een schriftelijk rapport met geclassificeerde bevindingen en duidelijke stappen om deze te reproduceren, en bij voorkeur een bespreking om het door te nemen. Vraag of een retest van uw oplossingen is inbegrepen of extra kost, want een bevinding is pas gesloten wanneer iemand heeft bevestigd dat de oplossing echt werkt.
Een goedkopere eerste stap, als u er nog niet klaar voor bent
Als een volledige penetratietest nog als een grote eerste stap voelt, is het verstandig om kleiner te beginnen en eerst uw externe blootstelling in kaart te brengen. Daarvoor is onze check van $100 bedoeld: een gerichte blik op uw externe aanvalsoppervlak, binnen een scope waarvan u schriftelijk heeft bevestigd en geautoriseerd dat u deze bezit, beoordeeld door een senior operator en geleverd met een toelichting van 30 minuten.
Wees helder over wat het wel en niet is. De check is een eerste blik, geen volledige opdracht, en het zal een auditor die om een penetratietest vraagt niet tevredenstellen. Wat het wel doet, is u tonen wat een aanvaller van buitenaf ziet en u helpen de echte test goed af te bakenen, zodat u goed voorbereid bent wanneer u er een boekt.
Gerelateerde artikelen
Begin met een eerste blik.
Voorafgaand aan een volledige opdracht laat onze check van $100 u zien wat een aanvaller van buitenaf ziet, zodat u goed voorbereid bent. Het vervangt geen volledige pentest, en dat zeggen we er eerlijk bij.
Boek een check van $100