Kodulehe turvalisus – miks ja kuidas?

Üha enam ettevõtteid Eestis valib vabavaralise tarkvara WordPress.
Peamiseks põhjuseks on sõltumatus arendajast – suurem valik mõistliku hinnaga arendajaid, suur valik valmismooduleid ja kuutasu puudumine (va majutuse tasu).

Kuid ainuüksi sellest ei piisa, et veebileht oleks toimiv ja turvaline. Ründed veebilehele toimuvad igapäevaselt ning rünnete taga ei ole otseselt füüsilised isikud vaid veebilehele sissemurdmine käib automaatselt ründeskripti abil. Tänane seis on selline, et kasutatakse täielikult automatiseeritud rünnakuid, mis pommitavad järjekindlalt kõiki veebis nähtavaid lehti. End ära peita ei saa, sest siis ei pääseks keegi lehte külastama ja ta kaotaks mõtte.Oma tähelepanekute järgi võin öelda, et keskmist Eesti vähese külastatavusega veebilehte proovitakse mitu korda ööpäeva jooksul ning aeg-ajalt ka oluliselt tihedamalt.

Maailma mastaabis statistikat leiab näiteks siit:
https://www.wordfence.com/blog/2017/01/december-2016-wordpress-attack-activity-report/

Veebilehti valitakse juhuslikult ning on aja küsimus, kui järjekord jõuab Teie veebileheni. Tihtipeale valitakse rünnaku ohvriks just need veebilehed, millel on aegunud moodulid ning seetõttu haavatavamad. Oluline on saada veebilehele keelatud ligipääs ning seeläbi selle pealt kasu teenida. Tõenäosus, et keegi kaitsmata veebilehele sisse murrab, sõltumata platvormist, on kahjuks VÄGA SUUR. Ka keerulise ülesehitusega veebilehtedelt leitakse turvaauke aja möödudes.

Ligipääsu olemasolu korral saab koguda kasutajate andmeid, mis peaksid olema kolmandatele isikutele kättesaamatud.
Samuti on võimalik jagada erinevaid liike pahavarasid, mille puhul võib nakatuda ka veebilehte külastava kliendi arvuti. Viimase puhul on võimalik saada arvuti üle täielik kontroll ning samuti ka üldise info ligipääs keelata, mille kättesaamiseks tuleb maksta lunaraha.

Võimalus on teostada veebilehele ka musta SEO’d, läbi mille võib lõppkokkuvõttes domeeni ära unustada, kuna Google domeeni enam ei aktsepteeri ning on lisanud selle musta nimekirja. Musta listi satuvad ka pahavaraga nakatunud veebilehed.

Sellest tulenevalt tuleb hoida veebileht alati uuendatuna ning kontrollida ja keelata erinevaid liike ründeid veebilehele.
Vastasel juhul võib kahjustada saada ettevõtte üldine maine ning võib tuua pahandusi ka veebilehte külastanud klientidele.

“Turvapakett” annab:

1) veendumuse, et keegi jälgib regulaarselt veebilehe seisukorda
2) vajadusel teostab uuendustöid või puhastust mõistliku reageerimisajaga

Veebilehe kaitsmiseks on hädavajalik turvamooduli paigaldus, kuid ainuüksi sellest ei piisa, sest keegi peab saadetavaid raporteid ka tõlgendama ja oskama vajadusel reageerida. Adekvaatne turvamoodul peaks sisaldama miinimumina tulemüüri, regulaarset veebilehe failide skaneerimist ja sisselogimiskatsete piirajat. Järgmisena on vajalik regulaarne veebilehe uuendus. Seda tuleb teha nii serveris (majutuse poolel) kui veebilehe mootoris (mida pakume meie).

Ilma turvapaketita tuleb varem või hiljem tegeleda olukorraga, kus keegi on juba lehele sisse murdnud. Siis on vaja varasem olukord taastada ning edasise eest kaitsta, mis on suurem töömaht ja kulu, kui kohe turvapakett võtta.

10 suuremat turvaohtu (allikas: Riigi Infosüsteemi Amet)

A1 – Süstimisrünne (ka süst, Injection)
Süstimisnõrkused (nt SQL injection) esinevad, kui käsku või päringut on võimalik pahaloomuliselt täiendada. Ründaja lisatud sisu võib sundida käivitama soovimatuid käske või võimaldada volitamata ligipääsu andmetele.

A2 – Autentimis- ja sessioonihalduse vead (Broken Authentication and Session Management)
Autentimis- ja sessioonihaldus ei ole sageli korralikult rakendatud, võimaldades ründajatel näpata salasõnu, võtmeid või sessioonitunnuseid, või rakendusvigu konfidentsiaalsete andmete teadasaamiseks ära kasutada.

A3 – Murdskriptimine (Cross-Site Scripting – XSS)
XSS vead esinevad juhul, kui rakendus kuvab veebilehitsejas infot ilma korraliku valideerimise või tagasilükkamiseta. XSS vead lasevad ründajatel ohvri veebilehitsejas käivitada skripte, mis võimaldavad kasutajasessioone üle võtta, veebilehti näotustada või kasutaja pahaloomulisele veebilehele ümber suunata.

A4 – Objektide ebaturvaline otseviitamine (Insecure Direct Object References)
Objekti otseviitamine esineb, kui arendaja jätab avalikuks viite mõnele sisemisele rakendusdokumendile, nagu fail, kaust või andmebaasi võti. Ilma ligipääsukontrolli või muu tõkketa võivad ründajad neid viiteid töödeldes andmetele volitamata ligi pääseda.

A5 – Vigased turvaseaded (Security Misconfiguration)
Heatasemeline turvalisus nõuab turvalise seadistuse määratlemist, paigaldamist ja haldamist nii rakenduses, raamistikus, platvormis, rakendus-, veebi- ja andmebaasiserveris. Vaikimisi seaded on tihti ebaturvalised.
Veebisaitidel kasutatakse mitmesugust esitlus- jm tarkvara. Kui tarkvara on kehvasti seadistatud või uuendamata, võib süsteemile ligi saada turvaauke ära kasutades. Tarkvara pidev uuendamine on kohustuslik.

A6 – Tundliku info kaitseta jätmine (Sensitive Data Exposure)
Paljud veebirakendused ei kaitse tundlikku infot, nagu krediitkaardi- ja autentimisandmeid, piisavalt. Ründajad võivad kehvasti kaitstud andmeid omastades toime panna krediitkaardipettusi, identiteedivargusi või teisi kuritegusid. Tundlikud andmed nõuavad erilist kaitset, näiteks krüptimist andmete säilitamisel või edastamisel, ning erimeetmeid andmevahetusel veebilehitsejas.

A7 – Puuduv pääsukontroll funktsionaalsuse tasemel (Missing Function Level Access Control)
Paljud veebirakendused kontrollivad enne funktsionaalsuse näitamist veebilehitsejas ligipääsuõigusi. Siiski tuleks samasugune kontroll teha ka serveris. Kui pöördumisi ei kontrollita, võivad ründajad neid võltsides funktsionaalsusele volitamata ligi pääseda.

A8 – Päringu murdvõltsimine (Cross-Site Request Forgery – CSRF)
CSRF rünne sunnib sisseloginud ohvri veebilehitsejat auklikule veebirakendusele võltsitud http-päringut saatma, liites sellele ohvri sessiooniküpsise ja muu automaatselt lisatava autentimisinfo. See lubab ründajal ohvri veebilehitsejas luua päringuid, mille haavatav rakendus õigeks tunnistab.

A9 – Teadaolevalt auklike komponentide kasutamine (Using Components with Known Vulnerabilities)
Tarkvarakomponendid, nagu teegid ja raamistikud, vajavad töötamiseks täisõigusi. Auklikku komponenti ära kasutades võib rünne lõppeda tõsise andmekao või serveri ülevõtmisega. Rakendused, kus kasutatakse auklikke komponente, võivad nõrgendada rakenduse kaitsemeetmeid ja võimaldada erinevaid ründeid.

A10 – Kontrollimata ümbersuunamised ja edastamised (Unvalidated Redirects and Forwards)
Veebirakendused suunavad kasutajaid tihti teistele lehtedele või veebisaitidele, ning kasutavad kontrollimata infot sihtlehtede kindlaksmääramiseks. Ilma korraliku kontrollita võivad ründajad suunata ohvrid õngitsus- või pahavarasaitidele, või kasutada edastamisi volitamata ligipääsuks. Viimasel juhul on haäkitud saidi põhifunktsioon heausksed külastajad pahaloomulistele veebisaitidele läkitada.