Většina neúspěšných pentestů selže ještě dřív, než tester napíše první řádek. Selžou ve fázi zadání. Tento průvodce vám pomůže zadat test tak, abyste dostali to, co skutečně potřebujete — a neplatili za to dvakrát.
Proč na zadání záleží víc než na ceně
Penetrační test je jedna z mála služeb, kde zákazník často neumí posoudit kvalitu výstupu. Když si necháte opravit auto, poznáte, jestli jezdí. Když si necháte udělat pentest, dostanete dokument s nálezy — ale nevíte, jestli tester pokryl to, co měl, nebo jen proklikal automatický skener za odpoledne.
Rozdíl mezi dobrým a špatným testem se nepozná na faktuře. Pozná se až ve chvíli, kdy vás někdo napadne přes věc, kterou tester „netestoval, protože nebyla v rozsahu". A nebyla v rozsahu proto, že jste ji do zadání nedali.
Dobré zadání je tedy vaše jediná skutečná páka na kvalitu. Pojďme si projít, jak ho připravit.
Krok 1: Ujasněte si, proč test děláte
Zní to triviálně, ale je to nejčastější chyba. Existuje několik velmi odlišných důvodů, proč firmy pentest objednávají, a každý vede k jinému typu testu:
- Splnění regulace nebo auditu (ZoKB, NIS2, ISO 27001, DORA, požadavek zákazníka). Zde je důležité, aby výstup obsahoval to, co bude auditor nebo regulátor chtít vidět — ne nutně maximální technická hloubka, ale prokazatelnost a správný formát.
- Skutečné ověření bezpečnosti před spuštěním nového systému nebo po velké změně. Zde jde o hloubku a realističnost.
- Reakce na incident nebo podezření, že už něco není v pořádku.
- Tlak vedení nebo zákazníka, který chce „papír", že jste otestovaní.
Pokud děláte test kvůli auditu, ale objednáte si nejlevnější automatický sken, papír sice dostanete, ale skutečnou bezpečnost neověříte. A naopak — pokud potřebujete jen doložit compliance, nemá smysl platit za měsíční red team.
Napište si jednu větu: „Tento test děláme, protože ___, a úspěch poznáme podle ___." Tato věta by měla být první řádek vašeho zadání.
Krok 2: Pochopte základní typy testů
Tři pojmy se v praxi zaměňují, ačkoliv znamenají zcela jiný rozsah práce a jinou cenu:
Vulnerability scan (sken zranitelností) je převážně automatizovaný. Nástroj projede systém a vypíše známé zranitelnosti. Je rychlý, levný, ale neověřuje, jestli jsou nálezy skutečně zneužitelné, a nenajde logické chyby. Hodí se jako pravidelná hygiena, ne jako náhrada testu.
Penetrační test kombinuje nástroje s ruční prací testera, který se aktivně snaží zranitelnosti zneužít, řetězit a dostat se hlouběji. Najde i chyby v logice aplikace, které žádný skener neodhalí. Toto je to, co většina firem skutečně potřebuje.
Red team / threat-led testing je rozsáhlá simulace reálného útočníka napříč technologiemi, lidmi i fyzickou bezpečností, často běžící týdny až měsíce. Cílem není najít všechny zranitelnosti, ale ověřit, jestli vás dokáže někdo skutečně prolomit a jestli to vůbec zaznamenáte. Je nákladný a má smysl pro zralé organizace.
Pokud do poptávky napíšete „chceme pentest", ale myslíte sken — nebo naopak — dostanete nesrovnatelné nabídky a budete se divit, proč se ceny liší pětinásobně.
Krok 3: Zvolte úroveň znalosti (black / grey / white box)
Kolik informací testerovi dáte, zásadně ovlivní výsledek i cenu:
- Black box — tester neví nic, simuluje útočníka zvenčí. Realistické, ale tester stráví hodně času průzkumem a může minout věci, ke kterým se prostě nedostane.
- Grey box — tester dostane základní přístup, např. běžný uživatelský účet. Nejlepší poměr realističnosti a efektivity, proto nejčastější volba.
- White box — tester dostane vše: zdrojový kód, dokumentaci, přístupy. Najde nejvíc, protože netráví čas hádáním. Ideální pro důkladnou kontrolu kritického systému.
Obecné pravidlo: čím kritičtější systém, tím víc informací testerovi dejte. Snaha „otestovat to naslepo, ať je to fér" zní hezky, ale obvykle jen plýtá rozpočtem.
Krok 4: Přesně vymezte rozsah (scope)
Tohle je jádro celého zadání. Tester musí přesně vědět, co smí a co nesmí. Připravte si:
- Konkrétní cíle — domény, URL aplikací, IP rozsahy, API endpointy, mobilní aplikace. Ne „naše systémy", ale jmenovitý seznam.
- Co je výslovně mimo rozsah — systémy třetích stran, produkční databáze, něco, co nesmí spadnout.
- Prostředí — testuje se produkce, nebo testovací kopie? Testovací prostředí je bezpečnější, ale musí věrně odpovídat produkci, jinak jsou výsledky bezcenné.
- Časové okno — kdy se smí testovat, aby případný výpadek nebolel.
- Povolené techniky — smí tester zkoušet sociální inženýrství? DoS? Fyzický průnik? Vše, co nezmíníte, by neměl dělat.
Čím konkrétnější rozsah, tím srovnatelnější nabídky dostanete a tím menší prostor pro pozdější spory „to jsme netestovali".
Krok 5: Připravte součinnost předem
Velká část neúspěšných projektů ztroskotá na tom, že zadavatel není připravený. Tester přijde, čeká na přístupy a fakturuje prostoje. Než test začne, mějte připravené:
- Testovací účty s různými úrovněmi oprávnění
- Přístup do testovacího prostředí a whitelisting IP testera
- Dokumentaci API a architektury
- Kontaktní osobu, která je dostupná po celou dobu testu
- Interní souhlas — IT, právní oddělení, případně poskytovatel cloudu nebo hostingu
Tip: poskytovatelé cloudu (AWS, Azure) často vyžadují předchozí nahlášení penetračního testu. Vyřešte to s předstihem.
Krok 6: Vyžádejte si konkrétní podobu výstupu
Report je to jediné, co vám po testu zůstane. Předem si řekněte, co má obsahovat:
- Manažerské shrnutí srozumitelné vedení — bez žargonu.
- Technickou část s každou zranitelností, jejím CVSS skóre, důkazem zneužitelnosti a konkrétním doporučením k nápravě.
- Prioritizaci nálezů podle reálného rizika, ne jen podle automatického skóre.
- Retest — ověření, že opravené nálezy jsou skutečně opravené. Často se účtuje zvlášť, takže se na to ptejte dopředu.
Požádejte dodavatele o ukázkový (anonymizovaný) report ještě před objednávkou. Kvalitu reportu poznáte na první pohled a je to nejlepší filtr dodavatelů.
Krok 7: Mějte realistická očekávání o ceně
Cena se odvíjí od rozsahu a hloubky, ne od paušálu. Ceny v ČR začínají u jednodušších testů v řádu desítek tisíc korun a u rozsáhlých nebo red team projektů jdou výrazně výš. Když dostanete tři nabídky a jedna je třetinová, není to dobrá zpráva — skoro jistě nabízí jiný (mělčí) rozsah práce. Porovnávejte vždy, co konkrétně je v ceně: počet člověkodnů, hloubku, ruční vs. automatickou práci a jestli je zahrnut retest.
Shrnutí: checklist před odesláním poptávky
Než poptávku odešlete, projděte si:
- Vím, proč test děláme a podle čeho poznáme úspěch
- Vím, jestli chci sken, pentest, nebo red team
- Zvolil jsem úroveň znalosti (black / grey / white box)
- Mám jmenovitý seznam cílů a jasně vymezené, co je mimo rozsah
- Vyřešil jsem prostředí, časové okno a povolené techniky
- Připravil jsem součinnost (účty, přístupy, dokumentaci, kontakt)
- Definoval jsem požadovanou podobu reportu a retestu
- Mám interní a externí souhlasy
Dobře připravené zadání je rozdíl mezi testem, který vám reálně zvýší bezpečnost, a testem, za který jen zaplatíte a založíte ho do šuplíku.
Připravit kompletní zadání pentestu ručně zabere hodiny a snadno se na něco zapomene. TrustScope vás celým procesem provede krok za krokem a na konci vygeneruje strukturované zadání připravené k odeslání dodavatelům — včetně seznamu součinnosti, kterou musíte zajistit.