Penetrační testy — kdy a proč je nechat udělat
Penetrační test ukáže, co by s vaším e-shopem udělal skutečný útočník. Vysvětlíme, kdy ho dělat, jaký typ zvolit, jak napsat zadání a co s nálezy.
Penetrační test je řízený útok na vaše vlastní systémy. Najmete si lidi, kteří se chovají jako útočník, ale výsledky předají vám, ne na černý trh. Na konci dostanete seznam slabin seřazený podle závažnosti a doporučení, jak je opravit.
U e-shopu to zní jako věc pro banky a velké korporace. Ve skutečnosti e-shop pracuje s osobními údaji, přihlašováním zákazníků, platbami a desítkami integrací. To je přesně to prostředí, kde se chyby hledají nejlépe zvenku. V článku vysvětlíme, kdy test dává smysl, jaký zvolit a jak z něj dostat maximum.
Co penetrační test je a co není
Často se plete s jinými bezpečnostními činnostmi. Rozdíly jsou podstatné, protože každá z nich stojí jinak a odpoví na jinou otázku.
| Činnost | Kdo ji dělá | Co najde | Kdy se hodí |
|---|---|---|---|
| Sken zranitelností | automatický nástroj | známé zranitelnosti, zastaralé verze, chybné nastavení | průběžně, třeba každý měsíc |
| Penetrační test | specialista s nástroji | zneužitelné chyby včetně chyb v logice aplikace a jejich řetězení | jednou ročně a po velkých změnách |
| Bezpečnostní audit | konzultant | nedostatky v procesech, přístupech a dokumentaci | jednou za čas, při změně dodavatele |
| Bug bounty | veřejnost za odměnu | cokoli, co výzkumníci najdou | u zralých týmů, které mají za sebou pentesty |
NÚKIB v materiálu Penetrační testování – úvod do problematiky (verze 1.2 z března 2024) upozorňuje, že sken zranitelností bývá součástí penetračního testu. Tester ale nálezy ze skenu ověřuje a určuje, jestli jde o skutečnou zranitelnost. Právě ruční ověření a hledání chyb, které nástroj nevidí, je důvod, proč pentest platíte.
Kdy test dává smysl
Nemusíte testovat každý měsíc. Jsou ale situace, kdy je penetrační test rozumná investice:
- Před spuštěním nového e-shopu nebo po migraci na jinou platformu.
- Po velké změně pokladny, přihlašování nebo zákaznického účtu.
- Když provozujete vlastní nebo headless řešení. Tam za bezpečnost celé aplikace odpovídáte vy.
- Když e-shop napojujete na ERP, sklad nebo marketplace přes vlastní REST API nebo webhooky.
- Když to po vás chce partner, banka nebo platební brána.
- Když spadáte pod nový zákon o kybernetické bezpečnosti.
Poslední dva body mají i právní rozměr. Standard PCI DSS ve verzi 4.0.1 v požadavku 11.4 vyžaduje interní i externí penetrační testy aspoň jednou za 12 měsíců a po každé významné změně infrastruktury nebo aplikace. Jestli se to týká i vás, záleží na tom, jak přijímáte platby. E-shopy, které platbu celou přenechají platební bráně, obvykle dokládají soulad zjednodušeným sebehodnoticím dotazníkem SAQ A. Podrobnosti rozebíráme v článku Bezpečnost plateb a PCI DSS pro e-shopy.
GDPR v článku 32 ukládá správcům mít proces pro pravidelné testování, posuzování a hodnocení účinnosti bezpečnostních opatření. Konkrétní metodu nepředepisuje, penetrační test je ale jeden z nejčastějších způsobů, jak tuto povinnost doložit.
Zákon č. 264/2025 Sb., o kybernetické bezpečnosti, platí od 1. listopadu 2025 a zavádí do českého práva evropskou směrnici NIS2. Týká se hlavně středních a velkých podniků v regulovaných službách, malé firmy a mikropodniky obvykle ne. Jestli jste regulovaný subjekt, si ověřte v průvodci na portálu NÚKIB.
Typy testů: black box, grey box, white box
Podle toho, kolik informací tester dostane, se rozlišují tři přístupy.
- Black box. Tester neví nic, jen adresu e-shopu. Simuluje útočníka zvenku. Je realistický, ale velkou část času spotřebuje na průzkum.
- Grey box. Tester dostane testovací účty, například zákazníka a administrátora s omezenou rolí, a popis architektury. Pro e-shopy ho doporučujeme nejčastěji. Za stejný čas otestuje víc a chyby v oprávněních najde spolehlivěji.
- White box. Tester má přístup ke zdrojovému kódu a konfiguraci. Hodí se u vlastního vývoje, kde chcete jít do hloubky.
OWASP, nezisková organizace pro bezpečnost webových aplikací, udržuje dva užitečné dokumenty. Web Security Testing Guide popisuje, co a jak testovat. Application Security Verification Standard (ASVS) ve verzi 5.0 z května 2025 definuje tři úrovně požadavků. Úroveň 2 je určená pro aplikace s přihlašováním, osobními údaji a platbami, tedy typicky pro e-shopy. Do zadání můžete napsat, že chcete test vedený podle těchto dokumentů.
Jak napsat zadání
Nejčastější chyba je zadání „otestujte nám web“. Pak nevíte, co jste dostali, a nabídky nejdou porovnat. Dobré zadání obsahuje:
- Rozsah. Konkrétní domény, subdomény, API a aplikace. Co se testovat nesmí, třeba systémy dodavatelů.
- Prostředí. Produkce, nebo testovací kopie. Testovací kopie je bezpečnější, musí ale odpovídat produkci.
- Role a účty. Jaké testovací účty tester dostane.
- Časové okno. Kdy se smí testovat a kdo je v té době na telefonu.
- Pravidla. Zakázané techniky, typicky zátěžové testy a útoky na dostupnost bez výslovné domluvy.
- Výstup. Manažerské shrnutí, technický popis každého nálezu s postupem reprodukce a doporučení.
- Retest. Ověření oprav po jejich nasazení.
Testovat smíte jen systémy, které vlastníte nebo k nimž máte souhlas vlastníka. U pronajímané platformy, hostingu nebo cloudu si proto předem přečtěte jejich pravidla pro bezpečnostní testování.
Jak vybrat dodavatele
Penetrační testy dělají specializované firmy i jednotlivci. Při výběru se ptejte na konkrétní věci:
- Ukázka zprávy z testu, samozřejmě anonymizovaná. Na ní poznáte, jestli dostanete jen výstup ze skeneru, nebo skutečnou analýzu.
- Zkušenost s webovými aplikacemi a API, ne jen se sítěmi.
- Kdo konkrétně bude testovat a jakou má praxi.
- Jak řeší důvěrnost vašich dat a co se s nimi stane po testu.
- Zda je v ceně retest a konzultace nálezů.
Nejlevnější nabídka bývá často automatický sken prodávaný jako pentest. Poznáte to podle toho, že v nabídce chybí ruční testování a popis metodiky.
Co dělat s výsledky
Zpráva z pentestu má smysl jen tehdy, když se nálezy opraví. Doporučujeme jednoduchý postup:
- Projděte zprávu s testerem a ujasněte si, co přesně každý nález znamená pro váš e-shop.
- Kritické a vysoké nálezy opravte hned, ideálně v řádu dnů.
- Střední nálezy naplánujte do nejbližších sprintů.
- U nízkých nálezů rozhodněte, zda je opravíte, nebo vědomě přijmete riziko. Rozhodnutí zapište.
- Po opravách si objednejte retest.
- Z nálezů vyvoďte obecná pravidla. Jedna chyba v oprávněních obvykle znamená, že je potřeba projít všechna místa se stejným vzorem.
Jak na to prakticky
Pokud jste penetrační test ještě nedělali, nezačínejte jím. Začněte základním hardeningem a automatickým skenem. Pentest pak nenajde jen zastaralé pluginy, ale skutečně zajímavé chyby. Za peníze dostanete víc.
Připravujete migraci, novou pokladnu nebo vlastní integraci? Pomůžeme vám se zadáním a s výběrem rozsahu v rámci auditu nebo konzultace. Nálezy z testu pak umíme opravit v rámci programování na míru, včetně podkladů pro retest.
Potřebujete s tím pomoct?