Preskočiť na obsah
Bezpečnosť

Spúšťate webovú aplikáciu? Týchto 105 vecí skontrolujte skôr ako útočníci

Skôr než pustíte webovú aplikáciu do produkcie, musíte mať pevne vyriešené štyri veci: kto smie k akým dátam, kde sú uložené tajné kľúče, aké čisté sú vaše závislosti a ako zistíte, že na vás niekto útočí. Všetko ostatné, od hlavičiek cez zálohy až po zákony, stojí na týchto štyroch pilieroch.

Obálka článku 105 vecí pred spustením webovej aplikácie: 31 % únikov začína zneužitím chyby, medián opravy 43 dní, priemerná cena úniku dát 4,99 mil. USD

Času je menej ako kedykoľvek predtým. Zneužitie zraniteľností je podľa najnovšej správy Verizonu prvý raz najčastejšou cestou útočníka dnu: 31 % prípadov, kým phishing tvorí 16 % a ukradnuté heslá 13 % (Verizon DBIR 2026). Novú doménu pritom skenery nájdu pár sekúnd po vydaní certifikátu (UCSB, IEEE EuroS&P 2023). A priemerný únik dát stojí 4,99 milióna dolárov, teda zhruba 4,4 milióna eur (IBM 2026, podľa SecureWorld).

Ako sa útočníci dostávajú dnu
  • Zneužitie zraniteľnosti31 %
  • Phishing16 %
  • Ukradnuté heslá13 %

Podiel únikov podľa prvého kroku útočníka. Verizon DBIR 2026.

Väčšina únikov sa pritom začína banálnou chybou: zabudnutým debug režimom, kľúčom v repozitári alebo knižnicou, ktorú nikto neaktualizoval. Checklist so 105 bodmi pokrýva kód, závislosti, server aj povinnosti vedenia a ku každej oblasti vedie podrobný článok s postupom, ako chybu odhaliť sami. Údaje platia k 27. septembru 2026.

01Sedem zmien roku 2026, pre ktoré starý checklist nestačí

TrendČo sa staloČo to znamená pre vás
Kód píše AIAI dnes generuje zhruba polovicu commitovaného kódu a v bezpečnostných testoch obstojí v priemere len 56 % jej výstupovKód od AI prechádza rovnakou revíziou a skenerom ako kód od juniora
Útoky cez závislostiAxios v marci, TanStack v máji 2026, predtým červ Shai-Hulud s viac ako 500 napadnutými balíkmiZamknuté verzie, odklad aktualizácií, oddelené kľúče v CI/CD
Koniec dlhodobých tokenovnpm 9. decembra 2025 zrušil klasické tokeny a prihlásenie platí dve hodinyPublikovanie z CI cez OIDC (trusted publishing)
AI agenti v aplikáciáchOWASP v decembri 2025 vydal prvý Top 10 rizík pre agentové aplikácieAgent smie len to, čo prihlásený používateľ
Kratšie certifikátyOd 15. marca 2026 platí certifikát najviac 200 dní, od marca 2029 len 47 dníObnova certifikátov musí bežať automaticky
Úniky kľúčov k AI službámUniknutých kľúčov k AI službám pribudlo za rok 2025 o 81 %Kľúče k modelom patria do správcu tajomstiev, nikdy do frontendu
Nové povinnosti hlásiťOd 1. januára 2025 platí novela zákona o kybernetickej bezpečnosti, od 11. septembra 2026 hlásia výrobcovia zneužívané zraniteľnosti do 24 hodínPlán pre prípad incidentu s lehotami a menami

Zdroje tabuľky: Veracode, júl 2026, CISA, TanStack, CISA, GitHub Changelog, OWASP GenAI, CyberInsider, The Hacker News, podľa GitGuardian, ESET, Európska komisia.

Termíny 2025 až 2029: novela zákona o kybernetickej bezpečnosti, koniec klasických tokenov npm, hlásenie podľa Cyber Resilience Act a skracovanie platnosti certifikátov na 200, 100 a 47 dní
Čo sa mení v rokoch 2025 až 2029.

Všetky zmeny spája rýchlosť. Kód vzniká rýchlejšie, útoky prichádzajú rýchlejšie a zákony chcú rýchlejšie hlásenia. Čo sa dá strážiť automaticky, nemá závisieť od toho, či si na to niekto spomenie.

02Štyri oblasti, ktoré musíte mať pod kontrolou

Štyri oblasti bezpečnosti webovej aplikácie: kód aplikácie, tajné kľúče a závislosti, server, HTTPS a cloud, vedenie, zákony a dodávatelia
Každej oblasti sa podrobne venuje samostatný článok.

Kód aplikácie

Narušené riadenie prístupu je v OWASP Top 10:2025 naďalej na prvom mieste (OWASP). Typická chyba: server neoverí, či faktúra číslo 1235 patrí prihlásenému používateľovi. Do rovnakej skupiny patrí slabé prihlasovanie, neošetrené vstupy, diery v obchodnej logike a AI agenti s príliš širokými právami. Podrobne v článku Stačí zmeniť číslo v adrese: chyby v kóde, cez ktoré unikajú dáta.

Tajné kľúče a závislosti

Len za rok 2025 skončilo vo verejných commitoch na GitHube 28,65 milióna hesiel, tokenov a API kľúčov (GitGuardian). Útočníci ich navyše kradnú cez napadnuté knižnice, ktoré si sami nainštalujete. Ako kľúče ustrážiť a ako nastaviť závislosti a CI/CD, opisuje článok Stačil jeden npm install: ako sa v roku 2026 kradnú API kľúče a ako sa brániť.

Server, HTTPS a cloud

Kritickú chybu React2Shell v Reacte a Next.js začali útočníci zneužívať v priebehu niekoľkých hodín od zverejnenia (AWS). Firmám oprava takej chyby trvá v mediáne 43 dní (Verizon DBIR 2026, podľa watchTowr). Certifikáty, hlavičky, nastavenie cloudu, zálohy, logy a ochranu pred DDoS rieši článok Váš staging už poznajú. Ako zabezpečiť server, HTTPS a cloud pred spustením webu.

Vedenie, zákony a dodávatelia

Únik osobných údajov sa podľa GDPR hlási do 72 hodín (GDPR, čl. 33). Penetračný test bežnej webovej aplikácie alebo SaaS stojí 5 000 až 30 000 dolárov, teda zhruba 4 400 až 26 300 eur (Blaze Information Security). GDPR, NIS2, Cyber Resilience Act, plán pre prípad incidentu a zmluvu s dodávateľom zhŕňa článok Únik dát stojí v priemere zhruba 4,4 milióna eur. Čo musí vedenie zariadiť pred spustením.

03Checklist, časť 1: Pred spustením (blokujúce)

Checklist má tri časti. Body v prvej časti spustenie blokujú: kým nie sú splnené, aplikácia do produkcie nepatrí. Druhá časť patrí do dňa spustenia, tretia do prvého mesiaca prevádzky. Skopírujte si ho do nástroja na úlohy a pri každom bode uveďte, kto zaň zodpovedá.

Body checklistu podľa fázy
  • Pred spustením (blokujúce)89
  • V deň spustenia7
  • Prvých 30 dní a priebežne9

Spolu 105 bodov.

Riadenie prístupu

  • Každý endpoint overuje oprávnenia na serveri, predvolený stav je zákaz.
  • Test s dvoma účtami v dvoch firmách: žiadna požiadavka nevracia cudzie dáta.
  • Dáta zákazníkov sú oddelené, ideálne cez row-level security v databáze.
  • Server ukladá len povolené polia, mass assignment nefunguje.
  • Administrácia vyžaduje dvojfaktorové overenie a je dostupná len cez SSO, VPN alebo z povolených IP adries.
  • Funkcie, ktoré sťahujú URL, majú zoznam povolených domén a blokujú privátne IP adresy aj metadáta cloudu.
  • Zmeny stavu idú len cez POST, PUT, PATCH alebo DELETE a formuláre majú token proti CSRF.

Prihlasovanie a relácie

  • Minimálna dĺžka hesla je 15 znakov, bez pravidiel zložitosti, vkladanie zo schránky je povolené.
  • Nové heslá sa kontrolujú voči zoznamu uniknutých hesiel.
  • Heslá sú uložené cez Argon2id, bcrypt len tam, kde Argon2id nejde.
  • Používatelia si môžu zapnúť passkey alebo TOTP, administrátori ho majú povinne.
  • Prihlásenie, registrácia aj obnova hesla majú limity pokusov a neprezrádzajú, či účet existuje.
  • Token na obnovu hesla je náhodný, jednorazový a platí najviac hodinu.
  • Po zmene hesla sa zrušia všetky relácie a používateľ dostane e-mail.
  • Relačné cookies majú HttpOnly, Secure a SameSite, po prihlásení vzniká nové ID relácie.
  • Odhlásenie ruší reláciu na serveri.
  • OAuth a OpenID Connect používajú PKCE, state a presnú zhodu redirect_uri.

Vstupy a súbory

  • Všetky SQL dopyty sú parametrizované, raw dopyty prešli revíziou.
  • Každý endpoint validuje vstup podľa schémy na serveri.
  • Výstup sa escapuje automaticky, každé miesto s raw HTML prešlo revíziou a sanitizáciou.
  • Aplikácia nerozbaľuje serializované objekty z nedôveryhodných zdrojov a XML parser má vypnuté externé entity.
  • Nahrané súbory majú kontrolu typu podľa obsahu, limit veľkosti, úložisko mimo webového koreňa a vlastnú doménu, SVG je ošetrené.

Tajné kľúče a konfigurácia

  • Sken celej histórie Gitu je bez nálezu, všetky kedykoľvek uniknuté kľúče sú vymenené.
  • Tajné kľúče sú v správcovi tajomstiev, v kóde, Dockerfile ani v konfigurácii CI nie sú.
  • Vo frontendových premenných (NEXT_PUBLIC_, VITE_) nie je žiadny tajný kľúč.
  • Produkcia má vlastné kľúče s minimálnymi oprávneniami.
  • Debug režim je vypnutý, chybové stránky neukazujú technické detaily.
  • Adresy /.env, /.git/, zálohy, phpinfo a /actuator vracajú 404.
  • Swagger a GraphQL introspekcia sú vypnuté alebo za prihlásením.
  • Predvolené účty, heslá a ukážkové aplikácie sú odstránené.
  • CORS povoľuje len konkrétne domény.
  • Source mapy nie sú verejne dostupné.

HTTPS, doména a hlavičky

  • Certifikát sa obnovuje automaticky cez ACME a expirácia sa sleduje.
  • Povolené je len TLS 1.2 a 1.3, SSL Labs dáva známku A alebo lepšiu.
  • HTTP presmerúva na HTTPS a HSTS je nastavené.
  • CSP beží aspoň v režime Report-Only s termínom prechodu na vynucovanie.
  • Nastavené sú X-Content-Type-Options, Referrer-Policy, Permissions-Policy a frame-ancestors.
  • DNS má záznam CAA, doména má SPF, DKIM a DMARC.
  • Žiadny záznam CNAME nevedie na zrušenú službu.
  • Účet u registrátora a DNS má dvojfaktorové overenie a zámok prevodu.

Závislosti a CI/CD

  • Lockfile je v repozitári a CI inštaluje cez npm ci alebo ekvivalent.
  • Žiadna známa kritická zraniteľnosť v závislostiach bez písomne zdôvodnenej výnimky.
  • Nové verzie balíkov sa preberajú s odkladom niekoľkých dní.
  • Inštalačné skripty závislostí sú obmedzené.
  • Existuje SBOM.
  • Akcie v GitHub Actions sú pripnuté na SHA, GITHUB_TOKEN má minimálne oprávnenia.
  • Do cloudu sa CI prihlasuje cez OIDC.
  • Hlavná vetva je chránená, nasadenie do produkcie vyžaduje schválenie.
  • Účty vývojárov na GitHube, npm a v cloude majú dvojfaktorové overenie odolné proti phishingu.
  • Kontajnery bežia bez práv roota z minimálneho obrazu.

Infraštruktúra

  • Produkcia je v oddelenom účte alebo projekte cloudu.
  • Hlavný účet cloudu má hardvérový kľúč alebo passkey a bežne sa nepoužíva.
  • Databázy, cache a fronty nie sú dostupné z internetu.
  • Z internetu sú otvorené len porty 80 a 443, SSH a RDP nie sú verejné.
  • Buckety majú zablokovaný verejný prístup, súbory sa zdieľajú cez podpísané odkazy.
  • Pravidlá Firebase alebo Supabase sú skontrolované pri každej tabuľke.
  • Staging je za prihlásením a bez produkčných osobných údajov.
  • Operačný systém a runtime majú podporovanú verziu.
  • Aplikácia beží za CDN s ochranou pred DDoS a server prijíma prevádzku len z CDN.

Dáta a zálohy

  • Aplikácia zbiera len dáta, ktoré potrebuje, a má stanovené lehoty uchovávania.
  • Spojenie s databázou a internými službami je šifrované.
  • Disky a databázy sú šifrované, citlivé polia aj na úrovni aplikácie.
  • Platobné karty spracúva platobná brána, aplikácia ich neukladá.
  • Zálohy sú šifrované a aspoň jedna kópia je nemenná alebo v oddelenom účte.
  • Obnova zo zálohy je vyskúšaná a zmeraná.

Logovanie a chyby

  • Prihlásenia, zmeny oprávnení a akcie administrátorov sa logujú do centrálneho systému mimo servera.
  • V logoch nie sú heslá, tokeny ani čísla kariet.
  • Upozornenia na podozrivé vzorce chodia konkrétnej osobe a sú otestované.
  • Beží externý monitoring dostupnosti a sledovanie chýb.
  • Aplikácia pri chybe zlyháva bezpečne, volania externých služieb majú časové limity.

AI funkcie (ak ich máte)

  • Žiadny agent nemá súčasne nedôveryhodný vstup, prístup k citlivým dátam a cestu von bez schválenia človekom.
  • Agent má len oprávnenia prihláseného používateľa.
  • Nevratné akcie potvrdzuje človek.
  • Výstup modelu sa ošetruje ako nedôveryhodný vstup, obrázky v odpovediach len z povolených domén.
  • API kľúče k modelom sú len na backende, s limitmi na používateľa a mesačnú útratu.
  • Test prompt injection prebehol.
  • S poskytovateľom modelu je uzavretá sprostredkovateľská zmluva.

Obchodná logika a boti

  • Ceny, zľavy a množstvá počíta server.
  • Súbežné požiadavky na peniaze a kredity sú ošetrené zámkami alebo atomickými operáciami.
  • Webhooky sa overujú podpisom.
  • Registrácia a formuláre majú ochranu pred botmi, SMS a e-maily majú limity.
  • Limity počtu požiadaviek platia pre API, prihlásenie, registráciu a vyhľadávanie.

Vedenie a zákony

  • Penetračný test prebehol a kritické a vysoké nálezy sú opravené a overené.
  • Plán pre prípad incidentu určuje, kto rozhoduje, a obsahuje kontakty, postupy a núdzové vypínače.
  • Lehoty na hlásenie (GDPR 72 hodín, NIS2 a CRA 24 hodín) sú v pláne aj so zodpovednými osobami.
  • Záznamy o spracovateľských činnostiach a sprostredkovateľské zmluvy podľa GDPR sú hotové, pri vysokom riziku aj DPIA.
  • Máte overené, či sa na vás vzťahuje zákon o kybernetickej bezpečnosti.
  • Máte overené, či sa na produkt vzťahuje Cyber Resilience Act.
  • Súbor /.well-known/security.txt existuje a adresa v ňom funguje.

04Checklist, časť 2: V deň spustenia

  • Posledný sken závislostí a tajomstiev nad verziou, ktorá ide do produkcie.
  • Kontrola hlavičiek cez MDN HTTP Observatory a certifikátu cez SSL Labs na produkčnej doméne.
  • Overenie, že /.env, /.git/ a debug stránky v produkcii vracajú 404.
  • Overenie, že logy a upozornenia z produkcie dorazia.
  • Záloha tesne pred spustením a vyskúšaný návrat na predchádzajúcu verziu.
  • Tím vie, kto má prvé dni pohotovosť a ako ho zastihnúť.
  • Testovacie účty, testovacie dáta a dočasné výnimky vo firewalle sú zmazané.

05Checklist, časť 3: Prvých 30 dní a priebežne

  • Prvý týždeň denne prejsť logy a upozornenia.
  • Prepnúť CSP z Report-Only na vynucovanie.
  • Nastaviť pravidelné aktualizácie závislostí a lehoty na opravy: kritické do 48 hodín, vysoké do 14 dní.
  • Odoberať bezpečnostné oznámenia používaných frameworkov a katalóg aktívne zneužívaných zraniteľností CISA KEV.
  • Raz za štvrťrok vyskúšať obnovu zo zálohy.
  • Skontrolovať, kto má prístup k produkcii a cloudu, a nepotrebné prístupy odobrať.
  • Urobiť tabletop cvičenie podľa plánu pre prípad incidentu.
  • Naplánovať ďalší penetračný test: raz ročne a po každej veľkej zmene.
  • Zvážiť súkromný program odmien za nájdené chyby.

06Časté otázky

Čo skontrolovať pred spustením webovej aplikácie?

Štyri veci majú prednosť: oprávnenia na serveri, tajné kľúče mimo kódu, aktuálne a zamknuté závislosti a logy s upozorneniami. Potom nasledujú HTTPS a hlavičky, nastavenie cloudu, zálohy, penetračný test a zákonné povinnosti.

Čo je OWASP Top 10?

Zoznam desiatich najzávažnejších bezpečnostných rizík webových aplikácií od neziskovej organizácie OWASP. Aktuálna verzia je z roku 2025 a na prvých troch miestach má narušené riadenie prístupu, chybnú konfiguráciu a zlyhania dodávateľského reťazca softvéru (OWASP).

Stačí Cloudflare na zabezpečenie webu?

Nie. CDN a webový firewall zastavia DDoS a bežné automatické útoky. Neodhalia však, že používateľ číta cudziu faktúru alebo že máte v kóde uniknutý kľúč. To musíte opraviť v aplikácii.

Je kód napísaný umelou inteligenciou bezpečný?

Nie automaticky. Podľa správy Veracode z júla 2026 obstál kód od AI v priemere len v 56 % bezpečnostných testov a najlepší model dosiahol 68 % (SD Times).

Koľko stojí penetračný test webovej aplikácie?

Test webovej aplikácie alebo SaaS stojí spravidla 5 000 až 30 000 dolárov, teda zhruba 4 400 až 26 300 eur (Blaze Information Security). Napríklad česká firma SecurPro uvádza pri bežnej firemnej aplikácii, webe alebo API 40 000 až 90 000 Kč, teda zhruba 1 600 až 3 700 eur (SecurPro, v češtine).

Do koľkých hodín musím nahlásiť únik dát?

Do 72 hodín od zistenia, ak ide o osobné údaje, a to Úradu na ochranu osobných údajov SR (GDPR, čl. 33). Subjekty regulované podľa smernice NIS2 posielajú včasné varovanie už do 24 hodín od zistenia závažného incidentu (smernica NIS2, čl. 23).

07Zdroje

Údaje platia k 27. septembru 2026. Ďalšie zdroje sú v jednotlivých podrobných článkoch.

Tím LISTIFYWeby, aplikácie a marketing z Prahy od roku 2008

Ďalšie články

Všetky články →
Bezpečnosť27. 9. 2026 · 15 min čítania

Stačí zmeniť číslo v adrese: chyby v kóde, cez ktoré unikajú dáta

Bezpečnosť27. 9. 2026 · 11 min čítania

Stačil jeden npm install: ako sa v roku 2026 kradnú API kľúče a ako sa brániť

Bezpečnosť27. 9. 2026 · 11 min čítania

Váš staging už poznajú. Ako zabezpečiť server, HTTPS a cloud pred spustením webu

Zdieľať stránku

E-mailom

Máte nápad? Za 15 minút budete vedieť, ako na to.

Krátky hovor, žiadna prezentácia. Povieme vám, čo dáva zmysel, koľko to bude stáť a ako rýchlo to zvládneme.

+420 771 166 199Po až Pi 8:30 až 16:00 · info@listify.cool

Kedy vám máme zavolať?

Vyberte deň a časové rozmedzie. Zavoláme my, hovor trvá zhruba 15 minút.

Deň