Už įsilaužimų testą mokama pagal dienas. Kiekviena diena, kurią testuotojai praleidžia laukdami paskyros, spėliodami, kaip turėtų veikti funkcija, ar užblokuoti jūsų pačių užkardos, – tai diena, per kurią pažeidžiamumų neieškoma. Didžiosios tokio laukimo dalies galima išvengti dar prieš pradedant darbą.
Ką nuspręsti
Koks klausimas? „Ar naują mokėjimo procesą saugu išleisti“ ir „ką mums gali padaryti bet kas iš interneto“ – klausimai, kuriems reikia skirtingų testų. Užrašykite klausimą vienu sakiniu: iš jo išplaukia apimtis.
Kas patenka į apimtį, o kas ne? Išvardykite taikomąsias programas, adresus, aplinkas. Išvardykite ir išimtis: mokėjimų paslaugų teikėją, patronuojančiosios įmonės sistemas, seną paslaugą, kuri griūva vos į ją pažiūrėjus.
Kokia aplinka? Geriausia rinktis testavimo aplinką, atitinkančią gamybinę: testuotojai gali dirbti nuodugniai, o niekuo tikru nerizikuojama. Jei yra tik gamybinė aplinka, suderinkite testavimo valandas ir technikas, kurių naudoti negalima.
Kiek žino testuotojai? Testuojant su paskyromis ir dokumentacija per dieną randama daugiau nei testuojant aklai. Testavimas aklai atsako į vieną siaurą klausimą: ką be jokios informacijos pasiekia pašalinis asmuo. Nuspręskite, už ką mokate.
Ką parengti
Paskyros. Po vieną kiekvienam vaidmeniui, o jei produktas turi nuomininkus (angl. tenant), – dviejuose atskiruose nuomininkuose: prieigos kontrolės tarp klientų neįmanoma patikrinti su vienu klientu. Sukurkite paskyras prieš pradžią, po kartą prisijunkite prie kiekvienos ir patikrinkite, ar jose yra tikroviškų duomenų.
Dokumentacija. API specifikacijos, architektūros schema, vaidmenų ir pagrindinių darbo procesų aprašymas. Geriau netobuli dokumentai nei jokių.
Prieiga. Jei testavimo aplinka pasiekiama tik per VPN arba iš leidžiamųjų adresų sąrašo, pasirūpinkite prieiga iš anksto ir patikrinkite, ar ji veikia. Nuspręskite, ar žiniatinklio programų užkarda (WAF) liks įjungta. Jei testuojama programa, praleiskite testuotojus pro užkardą; jei testuojama pati užkarda, palikite ją įjungtą ir apie tai pasakykite.
Duomenys. Užpildykite testavimo aplinką duomenimis, kurie į tikruosius panašūs struktūra, bet ne turiniu. Tikri asmens duomenys testavimo aplinkoje – radinys dar prieš prasidedant testui.
Atsarginės kopijos. Įsitikinkite, kad testuojamą aplinką galima atkurti. Testuotojai dirba atsargiai; atsarginės kopijos skirtos atvejui, kai atsargumo nepakako.
Ką informuoti
Administravimo ir stebėsenos komandas, nebent testu siekiama patikrinti jas pačias. Nurodykite joms testuotojų šaltinio adresus ir datas. Kitaip pirmoji diena baigsis tuo, kad testuotojai bus užblokuoti, o incidentas – užregistruotas.
Prieglobos arba debesijos paslaugų teikėją, jei to reikalauja jo taisyklės. Didieji debesijos paslaugų teikėjai nereikalauja pranešti apie jūsų pačių išteklių testavimą, jei laikomasi jų paskelbtų taisyklių; mažesnės prieglobos bendrovės dažnai reikalauja.
Tiekėjus, kurių sistemos paliečiamos. Reikia rašytinio jų sutikimo.
Vieną kontaktinį asmenį, pasiekiamą testavimo valandomis ir įgaliotą priimti sprendimus: pratęsti paskyros galiojimą, iš naujo paleisti paslaugą, sustabdyti testą.
Ką pasirašyti
- konfidencialumo sutartį (NDA) – prieš perduodant ką nors iš to, kas išvardyta aukščiau;
- sutartį;
- rašytinį leidimą ir testavimo taisykles.
Kam reikalingas kiekvienas iš šių dokumentų, aprašyta straipsnyje „Kada įsilaužimų testas yra teisėtas“.
Testavimo metu
- Nediekite pakeitimų į testuojamą aplinką neįspėję testuotojų. Per naktį dingęs radinys kainuoja dieną painiavos.
- Netaisykite radinių, kol testas nebaigtas, išskyrus kritinio pavojingumo. Jei vieną ištaisėte, praneškite.
- Į klausimus atsakykite greitai. Testuotojas, kuris klausia, kaip turėtų veikti funkcija, paprastai jau ką nors rado.
- Apie skubius radinius tikėkitės išgirsti iš karto. Apie kritinio pavojingumo pažeidžiamumą pranešama vos jį patvirtinus, o ne galutinėje ataskaitoje.
Po testo
- Santrauką skaitykite su vadovybe, radinius – su inžinieriais. Šios dalys parašytos skirtingiems skaitytojams.
- Dalyvaukite rezultatų aptarime. Tai pigiausia viso projekto valanda.
- Pataisymus planuokite pagal prioritetą ir praneškite testuotojams, kai juos įdiegsite.
- Pasinaudokite pakartotiniu testavimu. Nepatikrintas pataisymas – prielaida.
- Laikykite ataskaitą konfidencialia. Kol pataisymai neįdiegti, tai instrukcija, kaip jus atakuoti. Klientams ir auditoriams skirtas patvirtinimo raštas.
Kontrolinis sąrašas
| Prieš pradžią | Atlikta |
|---|---|
| Klausimas ir apimtis užrašyti, išimtys nurodytos | |
| Aplinka pasirinkta, testavimo langai suderinti | |
| Paskyros sukurtos kiekvienam vaidmeniui, dviejuose nuomininkuose, jei produktas juos turi | |
| Dokumentacija perduota | |
| Tinklo prieiga suteikta ir patikrinta | |
| Bandomieji duomenys paruošti, tikrų asmens duomenų nėra | |
| Atsarginės kopijos patikrintos | |
| Administravimo ir stebėsenos komandos, paslaugų teikėjai informuoti | |
| Kontaktinis asmuo paskirtas | |
| NDA, sutartis, rašytinis leidimas ir testavimo taisyklės pasirašyti |
Kiekvienos paslaugos puslapyje nurodyta, ko būtent tam testui reikia iš jūsų.