Blogi — — Jani

Tietoturva, WordPress ja palvelinympäristöt

Valvontaa, välimuistia ja varmuuskopiointia. Siis mitä?

WordPress. Tuo maailman käytetyin CMS/julkaisualusta

WordPressin suosio on laajaa. Siinä on hyvät ja huonot puolensa. Hyvänä voidaan mainita jatkuva kehitys ja iso yhteisö ohjelmiston ympärillä, huonona puolena mainitaan se, että järjestelmää vastaan myöskin hyökätään paljon.

Suhtaudumme asiaan hyvin yksioikoisesti: tuote ei ole koskaan täysin aukoton. Tämän vuoksi esimerkiksi palvelininfrastruktuurimme on suunniteltu siten, että se ottaa huomioon ja ilmoittaa reaaliaikaisesti oudoista muutoksista ja muista seikoista, joita tavan web-hotellit eivät tule edes ajatelleeksi.

Puhutaan siis ensin valvonnasta

”Taas se Janin puhelin huutaa, vissiin vaan toimiston tulostimesta musteet loppu, kun ei juokse.”

Kaiken normaalin ”palvelinvalvonnan” kuten levytilan, kaistankäytön, ohjelmistojen resurssien riittävyyden ja muiden vastaavien lisäksi valvomme jokaisen asiakkaan WordPress-sivuston kirjautumisia sekä tiedostojen muutoshistoriaa koko WordPressin kattavasti. Tämä mahdollistaa esimerkiksi sen, että mikäli asiakkaan sivusto on syystä tai toisesta onnistuttu murtamaan, saamme siitä tiedon ja pystymme reagoimaan ongelmaan heti.

Tämän lisäksi on mm. tehty automaatiota kirjautumisyrityksien estämiseen, jos tietyssä ajassa koetetaan tarpeeksi monta kertaa väärillä tunnuksilla sisään. Kaikesta tallentuu historiatiedot ja graafit ongelmien selvittämiseksi. Luonnollisesti kaikista ongelmista paukkuu asianomasille SMS/Push-notifikaatio luuriin ja siihen perään vielä sähköposti. Valvonta, joka ei ilmoita agressiivisesti ongelmista, on hyödytön.

Itse WordPressiä on sitten tehty turvallisemmaksi mm. pienillä muutoksilla tietokantaan sekä hallintaosotteiden vaihtamisella. Tämän lisäksi seuraamme jatkuvasti tiedotteita WordPressiltä ja yhteisöltä pitääksemme tilannekuvan WordPressin haavoittuvuksista ajantasalla. Luulen että johtava ohjelmistosuunnittelijamme Tuomas kirjoittaa aiheesta jossain kohtaa vielä lisää.

Mitä muuta sitten infrassa on tehty että wordpress pyörii jouhevasti?

Faktahan on se, että pienikin WordPress-sivusto on yllättävän raskas pyörittää, varsinkin jos sivulla on liikennöintiä ja sisältöä paljon. Tapoja tehdä WordPressistä kevyempi on monia. On kaikenlaista cache-pluginia mm. W3 Total Cache joilla saadaan esimerkiksi sivun dynaaminen sisältö tehtyä keveemmäksi. Käytännössä sisältöä ei tällöin aina haeta tietokannasta, vaan liitännäinen tarjoilee välimuistista viimeisimmän version esim. artikkelista ja täten tietokantapalvelinta ei rasiteta jokaisella sivunlatauksella.

Meillä ei toistaiseksi ole lähdetty näihin liitännäis-virityksiin, vaan teemme välimuistihommat jo palvelimen päässä. Tämä on monimutkasempaa kuin yhden liitännäisen käyttöönotto, mutta mahdollistaa paljon enemmän. Palvelimme pyörittävät muutakin kuin pelkkää WordPressiä, esimerkiksi eräällä asiakkaalla on ajossa useammalla eri ohjelmistokehyksellä tehtyjä ohjelmistoja, joten pelkkä liitännäisratkaisu ei edes riitä.

Täten meillä onkin hyvin toimivat välimuistikonfiguraatiot WordPress-sivustoille, jopa useampikin koska asiakkaiden tarpeet eroavat toisistaan. Oletuksena infrassa onkin päällä välimuisti kaikelle asiakkaan WordPressissä olevalle staattiselle sisällölle kuten kuville, CSS- ja JavaScript-tiedostoille.

Kun kaikki menee pieleen?

Tietenkin, varmuuskopiot. Nykyiseltään ne ovat kerran päivässä, versioivana. Niin tiedostojen kuin tietokannan osalta. Toistaiseksi se on myös riittänyt ja pelastanut päivän silloin kun varmuuskopioihin on jouduttu turvautumaan. Varmuuskopiointi ei ole kestävää, jos käytössä on vain yksi paikka johon varmuuskopiot ajetaan. Siksi meilläkin on varmuuskopiointijärjestelmän osia useammassa eri fyysisessä sijainnissa.

Datamäärien kasvaessa myös varmuuskopioiden hallintaan pitää kiinnittää erityistä huomiota. Esimerkiksi Talovision tietokanta on sellainen, että talojen tietojen täytyy olla käytettävissä kymmeniä vuosia. Teknisemmin orientoituneet asiakkaat ovat itsekin asettaneet vaatimuksia ylläpidolle. IT-tiimin to-do lista on pitkä eikä kehitystä ole tarkoituskaan saada joskus valmiiksi. Siksi sitä sanotaankin ylläpidoksi.

Jani Malino Järjestelmäasiantuntija, partner

Jack of all trades, master of none. Tekstiä tulee kaikesta joka liittyy vähänkään tekniikkaan, tai edes lähelle.