30. november je Dňom počítačovej bezpečnosti a podľa nás išlo o ideálnu príležitosť na zopakovanie bezpečnostných základov. Na základe skúseností nášho kolegu Jána, ktorý spravuje všetky naše servery, sme preto zostavili rýchly checklist s praktickými odporúčaniami na zvýšenie zabezpečenia dát vo vašich projektoch. Či ste skúsený vývojár alebo IT nováčik, veríme, že vám tieto kroky pomôžu vaše projekty ochrániť.
1. Zabezpečenie pracovných prostriedkov a procesov
Bezpečnosť sa začína u programátora: Základom bezpečnosti akéhokoľvek projektu je zabezpečenie zariadenia, na ktorom ho vyvíjate. To zahŕňa používanie silných hesiel (slabé heslá nepoužívajte ani počas vývoja aplikácie – môže sa stať, že ich neskôr zabudnete zmeniť), firewallov, antivírusových programov a pripájanie sa zásadne cez VPN. Dôležitá je tiež obozretnosť pri pristupovaní k administrátorským účtom a používanie aplikácií zo spoľahlivých zdrojov.
Žiadna nešifrovaná komunikácia: Pre ochranu komunikácie a prístupu do databáz je nutné vždy využívať šifrovania (SSH alebo SSL). Dôraz by ste mali klásť aj na správne používanie a (ne)obchádzanie bezpečnostných certifikátov. Kvôli rýchlosti procesov sa totiž pri vývoji zvykne overovanie certifikátov zámerne vynechávať. Ak túto funkcionalitu zabudnete doplniť pri publikovaní kódu na produkciu, môže ísť o naozaj veľký bezpečnostný problém.
Stále aktuálne aplikácie: Pravidelné aktualizácie softvéru a systémových komponentov sú kľúčové. V prípade aplikácií je hlavne dôležité neignorovať bezpečnostné aktualizácie knižníc a správne nastaviť aj aktualizáciu kontajnerov, ako sú Docker či Podman.
2. Opatrenia proti externým hrozbám
Len známa WiFi: Pri používaní verejných alebo neznámych Wi-Fi sietí je kritické zabezpečiť všetky prenosy dát šifrovaním cez VPN, SSH alebo aspoň SSL a používať dvojfaktorové overovanie. Treba byť opatrný najmä pri zariadeniach s operačným systémom Android, kde môže dôjsť k oneskoreným aktualizáciám.
Pozor na Zero-Day zraniteľnosti: Zero-Day zraniteľnosť predstavuje bezpečnostnú dieru v softvéri, ktorá je vývojárom neznáma a je zneužitá útočníkmi skôr, než je možné ju opraviť. Tieto diery sú kritické najmä preto, lebo v čase ich zverejnenia ešte nie sú dostupné žiadne opravy alebo záplaty. Je preto potrebné monitorovať systémy a aplikovať opravy ihneď po ich sprístupnení.
Ošetrenie každého vstupu: Akékoľvek vstupné polia na stránke musia byť naprogramované s maximálnou opatrnosťou, aby sa predišlo vloženiu škodlivého kódu.
3. Všeobecné rady pre spokojnejší nočný spánok
Opatrnosť pri kopírovaní: Pozor na kopírovanie skriptov a príkazov z neoverených zdrojov. Pri použití klávesovej skratky Ctrl+V do terminálového okna sa príkaz okamžite vykoná, čo môže byť zradné, pretože v kóde môžu byť niekedy skryté škodlivé znaky. Je preto dôležité vždy dôkladne skontrolovať a pochopiť obsah kopírovaného kódu, aby ste zabránili potenciálnym bezpečnostným hrozbám.
Overený prístup: Pri emailovej žiadosti o zmenu prístupov do vášho projektu je potrebné si overiť, či o úpravu naozaj žiada oprávnená osoba. Môžete tak urobiť telefonicky alebo cez SMS.
Ukradnutý notebook = odcudzené dáta: Každé prenosné zariadenie by malo byť chránené heslom a/alebo odtlačkom prsta. V prípade straty či krádeže treba urobiť všetko preto, aby sa k dátam vnútri nikto nedostal (blokovanie, vzdialené vymazanie). A keď sa notebook po niekoľkých dňoch náhodou nájde, oplatí sa ho podrobiť poriadnej bezpečnostnej kontrole. Ak sa aj hacker nedostal k dátam, mohol dovnútra naištalovať napríklad program na odchytávanie hesiel alebo stlačení klávesnice.
Tak ako? Robíte to správne? :)