To sa vám nestane? :DDDDDDD
Pri správe viac ako 300 webových stránok sa z času na čas dostávam do rôznych núdzových situácií. Niekedy sú dosť vyhrotené, ale často ide o úplnú banalitu. Ak ste sa podobne ako ja v minulosti nechali zlákať programovaním a tiež viete, že programovanie je otrava, určite so mnou budete súhlasiť.
Keď sa webová aplikácia stane populárnou, stane sa lákavým cieľom pre hackerov. Ich motiváciou zvyčajne nie je zničiť celú webovú lokalitu, práve naopak. V skutočnosti hackeri chcú, aby ste o nich ako správca servera vôbec nevedeli. Dobrý hacker čaká celé mesiace, sleduje webový server a získava to najcennejšie - vaše údaje.
Na ochranu používateľov je nevyhnutné šifrovať všetky údaje a mať viacero vrstiev ochrany. Pre heslá použite niektorú z pomalých funkcií, napríklad Bcrypt + soľ, Argon2, PBKDF2 alebo Scrypt. O [bezpečnostnom hodnotení] už písal Michal Špaček(https://pulse.michalspacek.cz/passwords/storages/rating#slow…), ktorému ďakujem za doplnenie článku. Ako majiteľ webu musíte pri diskusii s programátorom trvať na správnom hashovaní hesla. Inak budete plakať, tak ako mnohí ľudia pred vami, ktorí si tiež namýšľali, že sa ich to netýka.
Všimol som si, že keď webový server dosiahne určitú hranicu návštevnosti (v Českej republike je to asi 50+ návštevníkov denne), začne naň z ničoho nič smerovať séria útokov. Aby to nebolo jednoduché, útočník má vždy výhodu, pretože si môže vybrať, na ktorú časť infraštruktúry začne útočiť, a vy - ako vlastník webového servera - to musíte včas rozpoznať, brániť sa a nabudúce sa na to lepšie pripraviť.
Koľko útokov na vás bolo napríklad za posledný mesiac? Viete presne? Koľko z nich ste bránili? Má niekto iný prístup k vášmu serveru?
Čo ak na vás práve teraz niekto útočí? A teraz... a teraz aj...?
Nanešťastie neexistuje univerzálny spôsob, ako rozpoznať útok. Existujú však nástroje, ktoré vám môžu poskytnúť značnú výhodu.
Čo sa mi v poslednej dobe najviac osvedčilo:
Dokonca aj veľké spoločnosti robia chyby, a to aj v takých triviálnych veciach, ako je útok XSS (cross-site scripting).
Otázkou nie je, či niekto niekedy rozbije vašu webovú stránku. Otázkou je, kedy sa to stane a či budete dostatočne pripravení na to, aby ste sa s tým vyrovnali. Možno má hacker prístup k vášmu serveru už niekoľko mesiacov a vy o tom (zatiaľ) neviete.
V čase, keď sa o práci hackera dozviete, je už zvyčajne neskoro a hacker urobil všetko, čo potreboval. Veľmi pravdepodobne umiestnil škodlivý softvér na celý server a má nad ním aspoň čiastočnú kontrolu.
Ide o chaotický typ problému a musíte konať rýchlo.
Keďže ide o poslednú fázu útoku, osobne odporúčam webový server úplne odpojiť od internetu a začať postupne zisťovať, čo všetko sa stalo. Navyše sa nikdy presne nedozvieme, či server neskrýva niečo iné. Útočník má vždy značný náskok.
Ak sa rozhodneme vrátiť na server poslednú funkčnú zálohu, veľmi tým pomôžeme útočníkovi. Už vie, ako sa vlámať do vášho servera, a nič mu nebráni v tom, aby to za niekoľko hodín urobil znova. Okrem toho záloha pravdepodobne obsahuje škodlivý softvér alebo iný typ vírusu.
Aj keď je to medzi mojimi klientmi veľmi nepopulárna možnosť, osobne vždy odporúčam najprv úplne odstrániť stránky WordPress alebo akékoľvek systémy, ktoré klient neaktualizuje a ktoré majú veľa bezpečnostných hrozieb. Ak napríklad na jednom serveri hostíte 30 lokalít starších ako 2 roky, máte prakticky istotu, že aspoň jedna z nich obsahuje nejakú formu zraniteľnosti.
Ak problému nerozumiete, radšej sa hneď na začiatku obráťte na vhodného odborníka, ktorý má hlboké znalosti o vašom probléme a chápe veci v širšom kontexte.
Etická poznámka:
Ak spravujete webovú lokalitu pre klienta, u ktorého došlo k bezpečnostnému incidentu, je vašou povinnosťou ho o tom informovať. Ak dôjde k úniku akýchkoľvek údajov (napríklad hesiel, ale často aj oveľa viac), musíte tiež informovať koncových používateľov, že ich heslo je verejne známe a mali by si ho všade zmeniť. Ak použijete pomalú hashovaciu funkciu (napríklad Bcrypt + soľ), výrazne tým útočníkovi sťažíte prelomenie hesla. (Bohužiaľ, Bcrypt passwords can be cracked). Ak chcete pravidelne dostávať informácie o tom, či vaše konto uniklo, odporúčam zaregistrovať sa na stránke Have i been pwned?. Viac informácií o narušení bezpečnosti nájdete na webovej lokalite OOOO.
Za posledných šesť mesiacov som dočítal knihu Atomic Habits, ktorá mi otvorila oči. Opisuje proces postupného zlepšovania o 1 % každý deň, ktorý z dlhodobého hľadiska prinesie veľa.
Keďže sa na mňa obracajú spoločnosti a jednotlivci v rôznych fázach technologického dlhu, rád by som zhrnul tie najhoršie veci:
noindex
a nofollow
, aby ich Google neindexoval. Citlivý obsah, ktorý nesmie poznať vaša konkurencia, musí byť chránený heslom.Zraniteľných miest je oveľa viac a problémy sa líšia od projektu k projektu. Ak potrebujete urobiť rýchly audit servera, odporúčam použiť Maldet a potom si najať vhodného odborníka, ktorý vám pomôže urobiť úplný audit webu, a to nielen z bezpečnostných dôvodov.
Bezpečnostní inžinieri sú ako plast v oceáne - jednoducho navždy. Zvyknite si na to.
Určite ste si všimli, že príroda takmer vždy využíva princíp reakcie. To znamená, že sa niečo deje v určitom prostredí a okolité organizmy na to reagujú rôznymi spôsobmi. Tento prístup má mnoho výhod, ale jednu obrovskú nevýhodu - vždy zostanete pozadu.
Ako mysliaci človek (dizajnér, vývojár, konzultant) máte veľkú výhodu, a tou je akcieschopnosť - to znamená, že vopred poznáte určitú časť veľkých rizík a aktívne im predchádzate. Možno nikdy nezabránite všetkým chybám, ale môžete aspoň zmierniť ich následky alebo vytvoriť kontrolné mechanizmy, ktoré včas odhalia problémy, aby ste mali čas reagovať.
Väčšina útokov sa odohráva počas dlhého časového obdobia, a ak sa prihlásite, zvyčajne budete mať dostatok času na odhalenie problému.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | sk