Ako zaručujeme bezpečnosť: čo robíme s vašimi dátami, serverom a kódom

Konkrétny prehľad bezpečnostných opatrení, ktoré nasadzujeme v každom projekte — od šifrovaného prenosu a validácie vstupov cez zatvorený SSH a zálohy až po GDPR a odovzdanie prístupov klientovi.

Autor: Štefan Janoťák | IT-DK.sk

Keď firma zveruje externému dodávateľovi svoje objednávky, faktúry alebo databázu zákazníkov, jediná otázka, ktorá ju naozaj trápi, znie: čo sa stane, keď sa niečo pokazí. Bezpečnosť sa pritom ťažko posudzuje — nedá sa „vidieť" na demo verzii a väčšina dodávateľov o nej hovorí len v marketingových frázach. Preto sme namiesto sľubov spísali konkrétne opatrenia, ktoré v každom projekte reálne robíme, a to, čo, naopak, nesľubujeme.

Rýchla odpoveď

Bezpečnosť riešime v štyroch vrstvách: aplikácia (validácia vstupov na serveri, ochrana proti SQL injection a XSS, bezpečné prihlasovanie), server (HTTPS, bezpečnostné hlavičky, firewall, SSH zatvorený voči internetu a prístupný len cez VPN), dáta (šifrovaný prenos, oddelené účty, denné zálohy s overeným obnovením) a prevádzka (aktualizácie, monitoring, jasné odovzdanie prístupov klientovi). Žiadne heslo ani API kľúč nikdy nekončí v zdrojovom kóde.

Vrstva 1: bezpečná aplikácia

Väčšina reálnych únikov dát nevznikne prelomením servera, ale chybou v aplikácii. Preto platí niekoľko pravidiel bez výnimky. Každý vstup validujeme na serveri, nie len v prehliadači — kontrola vo formulári je pohodlie pre používateľa, nie bezpečnostné opatrenie. Do databázy nepíšeme skladané SQL dotazy, používame ORM a parametrizované dotazy, čím SQL injection prakticky odpadá. Výstup do stránky sa escapuje, takže do nej nikto nepodstrčí cudzí skript. A oprávnenia overujeme pri každom prístupe k dátam, nie iba pri zobrazení menu — skryté tlačidlo nie je ochrana, keď sa dá to isté zavolať priamo cez API.

Vrstva 2: server a sieť

Servery prevádzkujeme v dátovom centre v Nemecku, teda v rámci EÚ. Každá stránka beží výhradne cez HTTPS s automaticky obnovovaným certifikátom, HTTP presmerúvame a hlavičkou HSTS zabraňujeme downgrade útokom. Dopĺňame ďalšie bezpečnostné hlavičky — zákaz vkladania stránky do cudzieho rámca, zákaz hádania typu obsahu, obmedzenie referrera a prístupu k senzorom prehliadača.

Na úrovni siete je otvorené len to, čo musí byť: web. SSH nie je verejne prístupné — administratívny prístup vedie cez šifrovaný VPN tunel a prihlásenie funguje na kľúč, nie na heslo. Formuláre a API majú limity počtu požiadaviek, takže hrubá sila ani zahltenie botmi nemajú šancu. Aplikácie bežia izolovane v kontajneroch, každá s vlastným databázovým používateľom a len s tými oprávneniami, ktoré potrebuje.

Vrstva 3: dáta a zálohy

Databáza nikdy nie je vystavená priamo do internetu a pristupuje k nej len samotná aplikácia cez šifrované spojenie s vlastným účtom — žiadny zdieľaný superužívateľ. Zálohy bežia automaticky každý deň a to podstatné: obnovenie zo zálohy pravidelne skúšame. Záloha, ktorú nikto nikdy neobnovil, je len pocit istoty, nie istota. Pri odovzdaní projektu dostanete presný popis, čo sa zálohuje, ako často a kam.

Citlivé údaje ako heslá sa neukladajú čitateľne, ale ako moderný hash. Prístupové kľúče, tokeny a heslá k službám žijú v konfigurácii na serveri, nikdy nie v zdrojovom kóde ani v repozitári — to je pravidlo, ktoré nemá výnimku ani pri „rýchlej oprave na päť minút".

Vrstva 4: prevádzka a ľudský faktor

Systém je bezpečný len dovtedy, kým sa oň niekto stará. Preto sledujeme bezpečnostné aktualizácie knižníc a operačného systému a nasadzujeme ich priebežne, nie raz za dva roky. Chybové stavy sa zapisujú do logov, nie posielajú do prázdna. Pri e-mailoch máme nastavené SPF, DKIM a DMARC, aby sa vaše faktúry nedali podvrhnúť a nekončili v spame.

Zvyšná časť rizika je ľudská a tú neodstráni žiadna technológia: zdieľané heslá v tíme, prihlasovanie z verejnej WiFi, otvorená príloha z falošnej faktúry. Pri zaškolení preto vždy prejdeme aj tieto veci a nastavíme prístupy tak, aby mal každý používateľ presne tie práva, ktoré potrebuje na svoju prácu.

Čo z toho má klient v zmluve a pri odovzdaní

Bezpečnosť je aj otázka vlastníctva. Kód, dáta a prístupy patria vám — pri odovzdaní dostávate prístup k repozitáru, k serveru aj k databáze, takže nie ste rukojemníkom dodávateľa. Ak spracúvame osobné údaje vašich zákazníkov, uzatvárame zmluvu o spracúvaní osobných údajov podľa GDPR a zbierame len tie údaje, ktoré sú na fungovanie systému naozaj potrebné. Web má cookie lištu a reálne rešpektuje voľbu návštevníka.

Čo nesľubujeme

Nikto vám nemôže garantovať stopercentnú bezpečnosť a každý, kto to tvrdí, buď preháňa, alebo tomu nerozumie. Nie sme držiteľom certifikácie ISO 27001 a nerobíme penetračné testy — ak ich vaša firma potrebuje (napríklad kvôli auditu alebo veľkému odberateľovi), odporučíme špecializované pracovisko a výsledky s ním následne zapracujeme. To, čo garantujeme, je, že štandardné a najčastejšie zneužívané slabiny v našich projektoch nenájdete a že na incident existuje postup: obnovenie zo zálohy, výmena kompromitovaných kľúčov a informovanie klienta.

Najčastejšie otázky

Kde sú uložené naše dáta? Na serveroch v dátovom centre v Nemecku, teda v rámci EÚ a pod GDPR. Dostaneme prístup k databáze aj ku kódu? Áno, po odovzdaní projektu sú vaše. Ako často zálohujete? Denne, s pravidelným testom obnovenia. Vidí niekto z vášho tímu naše dáta? Prístup má len ten, kto na projekte reálne pracuje, a len na nevyhnutný čas. Čo ak zistíme bezpečnostný problém? Ohláste ho na info@it-dk.sk — kritické veci riešime prednostne. Robíte bezpečnostný audit existujúcej aplikácie? Áno, prejdeme kód aj nastavenie servera a dostanete zoznam nálezov podľa závažnosti.

Chcete vedieť, ako je na tom váš systém?

Ak prevádzkujete web, e-shop alebo firemnú aplikáciu a neviete, kto k nim má prístup, či sa zálohujú a kedy naposledy dostali aktualizáciu, prejdeme si to spolu. Prvá konzultácia je zadarmo a jej výstupom je konkrétny zoznam toho, čo treba opraviť hneď a čo počká: info@it-dk.sk alebo +421 911 085 838.

Späť na blog

Kontakt

Štefan Janoťák | +421 911 085 838 | info@it-dk.sk