Mikä on CDN ja miksi verkkopalvelusi tarvitsee sitä?
Internetin päällä toimii joukko palveluja, jotka ovat näkymätön mutta keskeinen osa sitä infrastruktuuria, joka pitää verkkopalveluissa valot päällä. Yksi tällainen palvelu on CDN, Content Delivery Network, eli sisällönjakeluverkko.
Ensimmäiset CDN-palvelut syntyivät 1990-luvun lopulla, webin kaupallistumisen alkuvuosina yksinkertaisesta tarpeesta: yksittäinen internetpalvelin on aina sidottuna johonkin paikkaan, mutta sen käyttäjä saattaa olla toisella puolella maapalloa. Olisikin kätevää, jos verkkosivut ja varsinkin raskaampi aineisto kuten kuvat, videot ja sovelluspaketit olisivat saatavilla erillisiltä palvelimilta ympäri maailmaa. Näin bitin ei tarvitse matkustaa puolta maapalloa jokaisen käyttäjän selaimeen, vaan data on aina lähellä käyttäjää.
Tällaista sisällön jakeluun ja välimuistittamiseen erikoistunutta palvelua alettiin kutsua sisällönjakeluverkoksi, eli Content Delivery Networkiksi, CDN.
CDN tarjoaa sisällönjakelua ja tietoturvaa
CDN-palvelut ovat kehittyneet internetin alkuajoista pitkälle. Nopeasti huomattiin, että julkisen internetin ja verkkopalvelimien välissä oleva tekninen infrastruktuuri on oivallinen paikka rakentaa tietoturvasovelluksia. Juuri tämä osa-alue on kehittynyt viime vuosina harppauksin.
On syntynyt suojausmenetelmiä erityisesti palvelunestohyökkäyksiä (DDOS) ja sovellustason hyökkäyksiä (Application Layer Attack) vastaan, sekä laaja kokoelma välineitä mitä erilaisimpia ja erikoistuneimpia tietoturvauhkia vastaan.
CDN-palvelu on keskeinen osa verkkopalvelusi tietoturvaa esimerkiksi palvelunestohyökkäyksiä vastaan.
Tänään CDN-palvelut ovat sisällön sujuvan jakelun ja verkkoliikenteen vaihtelevan kuorman tasaamisen ohella keskeinen ja älykäs osa internetin tietoturvaa. CDN osaa välimuistittaa palvelimillaan sen sisällön, joka pysyy muuttumattomana (on siis staattista), ja toisaalta tyhjentää välimuistin täsmällisesti ja nopeasti sen sisällön osalta, joka muuttuu usein. Se osaa tunnistaa yksittäisiä sovellustason pyyntöjä, tiputtaa vihamieliset pyynnöt kuten SQL-injektiot ja Cross-site scripting -hyökkäykset pois ja päästää tavalliset käyttäjät ja hakukoneiden botit läpi. Tällaista suojausta kutsutaan nimellä WAF, Web Application Firewall.
Tekoälyn aikakausi avaa uudenlaisia uhkakuvia
Samalla myös verkkopalvelut ovat kehittyneet. Sivustoilla on mitä kehittyneimpiä suodatinpohjaisia hakuja, monivaiheisia lomakkeita ja tekoälyvetoisia chatbotteja. Tekoälypalvelujen ja kielimallien nopea kehitys on tuonut Drupal- ja WordPress-pohjaisille sivustoille yhä enemmän myös erilaisten API-rajapintojen takana olevia LLM-palveluja ja tietokantoja. Nämä palvelevat sivuston käyttäjää yhä paremmin, ja avaavat vihamieliselle taholle aivan uudenlaisia mahdollisuuksia tehdä tuhojaan.
Uudet uhat ovat myös hyvin konkreettisia. Kielimallia voidaan yrittää ohjata ohi sen oman ohjeistuksen niin sanotulla prompt injection -hyökkäyksellä, ja rajoittamaton kyselymäärä kääntyy nopeasti taloudelliseksi tappioksi koska jokainen kielimallikysely maksaa oikeaa rahaa. CDN-palvelut ovat vastanneet näihin omilla työkaluillaan, jotka rajoittavat käyttäjäkohtaisia kyselymääriä ja tunnistavat vihamieliset kehotteet.
Verkkosivuston ja CDN-palvelun pitää pelata yhteen
Verkkopalvelujen muuttuessa yhä laaja-alaisemmiksi ja CDN-palvelujen muuttuessa yhä monipuolisemmiksi alkaa CDN- ja verkkopalvelujen yhteispelin merkitys korostua.
CDN-palvelun on tiedettävä, mikä sisältö on päivitettävä välimuistiin nopeasti ja mikä voi säilyä siellä pitkään. Sen on tiedettävä, minkälaisia pyyntöjä lomakkeelle voi mennä ja mitä tekoälypohjainen vastausbotti tekee.
CDN-palvelun voi siis toteuttaa myös väärin. Puutteellisesti määritelty välimuisti näyttää käyttäjälle vanhentunutta tietoa, liian tiukka WAF estää oikeiden käyttäjien lomakkeet. Huonosti määritellystä CDN-palvelusta voi siis olla enemmän haittaa kuin hyötyä.
Paras taho tekemään oikeat CDN-määrittelyt on se, joka on toteuttanut verkkopalvelunkin ja toteuttaa sen huolenpitopalvelut. Silloin tiedetään ilman erillistä selvitystyötä, mikä sivuston sisällöstä muuttuu päivittäin, mitkä rajapinnat ovat käytössä ja mitä lomakkeilta odotetaan. Sama tieto tarvitaan sekä verkkopalvelun kehittämiseen että CDN:n määrittelyyn, joten sen pitäminen yhdessä paikassa säästää työtä ja todennäköisesti myös ylläpidon kustannuksia.
Karhu Helsingillä on vuosien kokemus Cloudflaren hienosäädöstä asiakasprojektikohtaisesti. Eurooppalaisena vaihtoehtona tarjoamme Bunny-CDN-palvelua, jonka etuna on datasuvereniteetti Euroopan unionin alueella.