Yra posakis, kad grandinė stipri tiek, kiek stipri silpniausia jos grandis. Tai labai tinka kalbant apie interneto svetainių saugumą. Dažnai įvairūs patarimai saugumo klausimais koncentruojasi į vieną siaurą sritį, arba analizuoja retai pasitaikančias, labiau teorines saugumo problemas. Todėl pabandysiu apžvelgti aktualiausias saugumo grėsmes, su kuriomis susiduria dauguma svetainių – tas silpniausias grandis, į kurias pirmiausia reikia atkreipti dėmesį.
Svetainės administravimo klaidos
Didžiausią grėsmę saugumui kelia ne pačios svetainės kodo klaidos, o administravimo klaidos. Pats paprasčiausias būdas įsilaužti į svetainę – tiesiog patikrinti, gal jos turinio valdymo sistema neapsaugota slaptažodžiu ar uždėtas koks nors standartinis lengvai atspėjamas slaptažodis kaip „demo“ ar „test“.
Atrodo, čia savaime suprantamai dalykai, bet tokių atvejų pasitaiko dažnai. Be to serveryje, be pačios svetainės, veikia ir daugybė papildomų jos funkcionavimą užtikrinančių tarnybų – duomenų bazė, el. paštas, serverio konfigūravimo, duomenų bazės administravimo įrankiai. Kiekvienas jų taip pat gali būti visai be slaptažodžio arba su lengvai atspėjamu. Žinoma, žmogui ieškoti tokių svetainių ir tikrinti slaptažodžius užimtų daug laiko, tačiau tai daro ne žmonės, o botai. Botai – t. y. specialiai parašytos kompiuterinės programos, pastoviai skanuoja įvairias interneto svetaines ir ieško slaptažodžiais neapsaugotų sistemų. Ir su tuo susidurs kiekviena svetainė – užtenka paleisti naują projektą ir jau po kelių dienų loguose galima pamatyti apsilankiusį botą, kuris bandė atspėti slaptažodį.
Nepatartina slaptažodžių išsaugoti asmeniniame kompiuteryje esančiose ftp prisijungimo programose. Nes yra virusų, kurie ieško būtent tokių išsaugotų slaptažodžių. Taigi, jei į jūsų kompiuterį pateks virusas, jis nuskaitys slaptažodžius ir tada lengvai įeis ir į internetinę svetainę.
Todėl svarbu tinkamai sukonfigūruoti serverį, ir tai liečia ne tik slaptažodžius, bet ir daugybę kitų programinių nustatymų. O taip pat atsakingai administruoti svetainę, nes koks nors nerūpestingas administravimo veiksmas gali plačiai atverti duris galimiems įsilaužimams.
Žinomos atviro kodo turinio valdymo sistemų klaidos
Saugumas kartais minimas kaip atviro kodo turinio valdymų sistemų privalumas, tačiau šis teiginys ne visai teisingas. Norint pasinaudoti kokia nors saugumo spraga, pirmiausia reikia ją rasti. O turint programos kodą, tai padaryti daug lengviau. Be to, kartais tų klaidų nereikia nė ieškoti – kadangi visas atviro kodo sistemų tobulinimas viešas, tereikia peržiūrėti pakeitimų istoriją ir pamatysit ilgiausią sąrašą saugumo spragų, kurias jau kažkas aptiko. Naujausioje turinio valdymo sistemos versijoje tos klaidos jau bus ištaisytos, bet suradus svetainę, kuri naudoja senesnę versiją, galima nesunkiai įsilaužti pasinaudojant kuria nors iš šių žinomų saugumo spragų. Tą irgi pastoviai daro botai – skanuoja svetaines, ieško senesnių versijų ir bando naudotis jų saugumo spragomis.
Beveik visos populiariausios turinio valdymo sistemos yra atviro kodo – „Wordpress“, „Joomla“, „Drupal“, „Opencart“, „Prestashop“. Todėl jei naudojate kurią nors iš jų, turite pastoviai sekti atnaujinimus ir visada turėti naujausią versiją. Nes botas, ieškantis žinomų saugumo spragų, anksčiau ar vėliau jūsų svetainėje apsilankys.
Unikali turinio valdymo sistema šią problemą automatiškai išsprendžia. Žinoma, ji turi didesnę nekokybiško kodo tikimybę, apie ką kalbėsiu sekančiame skyriuje, tačiau atviro kodo sistemų klaidos yra daug didesnis pavojus tipinei svetainei.
Svetainės kodo klaidos
Dažnas vartotojas būtent taip įsivaizduoja grėsmę saugumui – kaip klaidas programos kode, kuriomis pasinaudojęs programišius įsilauš į internetinę svetainę. Tačiau, iš tiesų, čia rečiausiai sutinkamas scenarijus. Botai gali lengvai skanuoti svetaines tūkstančiais, tuo tarpu rankinis svetainės analizavimas ir saugumo spragų ieškojimas – daug laiko ir pastangų reikalaujantis darbas. Todėl jei apsisaugojot nuo anksčiau minėtų klaidų, kurias gali surasti botai, ir reikia žmogaus pastangų norint įsilaužti į svetainę – jau atlikote didžiąją dalį darbo. Kad žmogus, iš viso, susidomėtų jūsų svetaine ir šio darbo imtųsi, turite turėti kažką, dėl ko būtų naudinga tai daryti. O tipinė svetainė turi mažai vertės potencialiam įsilaužėliui.
Žinoma, svetainės kodas turi būti parašytas laikantis saugumo principų. Jų čia nevardinsiu, nes tai informacija aktuali tik programuotojui. Tačiau duosiu keletą patarimų užsakovui, norinčiam gauti saugią svetainę su kokybišku kodu. Į svetainės kūrimo darbų sąrašą vertėtų įtraukti ir saugumo testavimą. Pats saugumo testavimas irgi labai plati tema, tačiau daugeliu atveju pakaks tiesiog pratestuoti specialiomis programomis, kurios ieško tipinių klaidų. Tai neužtruks ilgai ir apsaugos nuo daugumos saugumo grėsmių. Taip pat rekomenduočiau vengti pastovių smulkių pakeitimų ir patobulinimų veikiančioje svetainėje. Geriau juos visus iš anksto suplanuoti ir atlikti kaip vieną didelį darbą, po kurio projektas vėl bus pratestuotas ir tada publikuotas. Nes įvairiausios klaidos ir saugumo spragos dažniausiai ir atsiranda, kai programuotojas skubiai daro pakeitimus interneto svetainėje, kurių prireikė tiesiog šiandien.
Šimtaprocentinio svetainės saugumo pasiekti, ko gero, neįmanoma. Daugelis saugumo specialistų sako, kad jų tikslas ne padaryti svetainę neįveikiama, bet pasiekti, kad į ją įsilaužti kainuotų daugiau, negu būtų gaunama naudos. Manau, kad laikantis šitų patarimų, tipinė interneto svetainė pasidarys nepatraukliu taikiniu įsilaužimams.