Frontend Masters 21 - Bart Digital Products Frontend Masters 21 - Bart Digital Products

Frontend Masters vol.21 Bezpečný vývoj

21-vý diel Frontend Masters sme po vyše dvoch rokoch zrealizovali opäť naživo v príjemnom prostredí v Aston Building v Košiciach. Počas pandémie sme si vyskúšali aj online live prenosy a tak sme túto udalosť zároveň aj streamovali naživo na facebooku. Zamerali sme sa na tému viac než aktuálnu, presnejšie na bezpečný vývoj digitálnych produktov.

Frontend Masters 21 - Bart Digital Products
 Kolega Dávid Luterančík nás na úvod zoznámil so základmi bezpečnosti, ktoré by nemal vynechať žiaden developer. ? Následne nás Matej Pancák previedol bezpečnosťou aplikácií a na záver sme sa pozreli aj do hĺbky ? na potenciálne diery v API a na serveroch v podaní Tomáša Čurillu, jedného z našich najskúsenejších developerov.

Viac o hosťoch a témach:

1. Dávid Kristián Luterančík – Bezpečný vývoj – pojmy, ktoré by mal ovládať každý developer

Dávid Kristián Luterančík - Bart Digital Products

V barte som zamestnaný druhý rok. Venujem sa hlavne vývoju frontend aplikácií a aktuálne pracujem na projektoch Dr.Max a Oxyrion. Vo voľnom čase ma je problém dostať dole z bicykla.

2. Matej Pancák – Aplikácia bez dier – ako ochrániť projekt voči najčastejším útokom

Matej Pancák - Bart Digital Products

Niekoľko rokov som hral súťažne vodné pólo, popri štúdiu v Brne som pracoval na projekte Black Box In The Sky (Honeywell Aerospace) a teraz som súčasťou nášho ecommerce tímu ako full-stack developer.

3. Tomáš Čurilla – Nepusti ich do železa – bezpečnostné tipy pre nepriestrelné API

Tomáš Čurilla - Bart Digital Products

Mojou prácou je vytváranie webových aplikácií a zabezpečenie ich plynulého chodu. Primárne sa venujem vývoju v PHP a administrácii linux serverov. Nedávno som získal certifikáciu Adobe Certified Professional – Magento Commerce Developer.

Ak ste event nestihli, jeho záznam rozdelený na užitočné kapitoly si môžete pozrieť na našom YouTube kanáli.

Sli.do otázky, na ktoré sme nestihli na evente odpovedať

Pri uploade súborov využívate aj nejaké ochranné prostriedky, ktoré vám zaručia, že používateľ neuloží malware? (V rámci storage, ktorý využíva váš server.)
Áno, server je nakonfigurovaný tak, že sa uploadované súbory nahrajú do adresáru, ktorý buď nie je dostupný priamo cez nginx/apache, alebo je webserver nakonfigurovaný tak, že tieto súbory nie sú spustiteľné ako skript (php, js, atď).

Pred spustením produkcie, ako testujete aplikáciu z hľadiska bezpečnosti? Používate nejaký štandardizovaný proces pomocou penetračných testov?
Máme spracované pravidlá vývoja aplikácií, ktoré pokrývajú aj bezpečnostné požiadavky. Pri spustení do produkcie je dodržiavanie pravidiel skontrolované a aplikácie sú štandardne otestované. Nerealizujeme však hĺbkové penetračné testy. Na ich realizáciu doporučujeme zapojenie tretej strany, ktorej hlavnou doménou je bezpečnosť a má certifikovaných bezpečnostných špecialistov.

Zvyknete robievať pravidelný bezpečnostný audit externou firmou? Ak áno, akou (disig, eset…) a aká je orientačná cena takéhoto auditu?
Audit našich riešení nerobíme vo vlastnej réžii. V závislosti od charakteru aplikácie sa na vykonaní auditu spoločne dohodneme s našim zákazníkom. Cieľom nie je len nájdenie bezpečnostných nedostatkov, ale aj poukázanie na to, aký dopad majú na biznis zákazníka. Podľa toho sa nastavia priority na zapracovanie výstupov z auditu. Cena auditu závisí od jeho typu a rozsahu. Veľmi dobré skúsenosti máme s auditmi od spoločnosti Citadelo.

Aké nástroje využívate na cachovanie a horizontálne škálovanie?
Na cachovanie aplikačných dát využívame redis, file storage. Na cachovanie webového servera používame nginx cache alebo varnish, prípadne u aplikácií v gcloude používame Google CDN. Väčšina našich zákazníkov má vlastné VPS a sú dimenzované podľa požiadaviek a v prípade potreby sa škálujú vertikálne. Aplikácie, ktoré vyžadujú horizontálne škálovanie, máme umiestnené v AWS alebo GCloude, kde sa škálovanie robí v istých medziach automaticky.

Pri vývoji aplikácie ako testuješ jej bezpečnosť proti útokom?
Duplicitná otázka, ktorá bola zodpovedaná vyššie. Ale v rámci zábavy si občas robíme aj interné hackathony, kde sa snažíme nové aplikácie od iných tímov “hacknúť”.

Čo poviete na kradnutie obsahu, kde sa script správa ako klient webu?
Je to rovnaké ako keby ste opisovali z novín alebo kníh. Bohužiaľ, je to stále bežná prax a brániť sa voči tomu, ak nechceme obmedziť používateľov, je vo veľkej miere nemožné. Je to skôr o etike a morálke týchto príživníkov. Je ale rozdiel, či “odpisujete” z webstránky, alebo používate API, ktorého podmienky použitia to neumožňujú.

Rieši bezpečnosť aj Google z hľadiska SEO? Platí, že čím bezpečnejšia webka, tým lepší rating?
Umiestnenie vo výsledkoch vyhľadávania je dané aj technickou realizáciou webu. Google má pre realizáciu webu spracované doporučenia a definované štandardy, ktoré obsahujú aj bezpečnostné prvky. Áno, správna technická realizácia má vplyv aj na rating webky.

Veľká vďaka však patrí našim hosťom a celému realizačnému tímu.

Na záver eventu bol pre tých, čo prišli osobne kvíz. Dvaja najlepší získali edukačné licencie od JetBrains. Zároveň sme pripravili ako prekvapenie nový ťahák o bezpečnosti, ktorý si môžete stiahnuť tu a tiež nové podstránky – Bezpečnostný checklist skúseného programátora a Veľký internetový slovník.

Veríme, že neustálym zdieľaním vedomostí a vzdelávaním zlepšujeme život nám všetkým. Budeme radi, keď sa pridáte, či už zaslaním svojích nápadov, alebo priamo svojou účasťou. Svoje návrhy píšte na media@bart.sk

Ďakujeme za vašu priazeň ?