WordPress-tietokannan suojaukset Seravolla

Viime viikkoina on ollut kovasti esillä suomalaisten verkkopalvelujen tietoturva Vastaamon tietomurron seurauksena. Julkisuudessa esillä olleiden tietojen perusteella Vastaamo oli laiminlyönyt perustavanlaatuisesti tietoturvansa, ja ulkopuolinen murtautuja oli päässyt käsiksi MySQL-tietokantaan kahdesta syystä:

  • Tietokantayhteys oli tarpeettomasti avoinna julkiseen verkkoon.
  • Käyttäjätunnuksen salasana oli heikko, joten murtautuja pääsi sisään arvaamalla salasanan.

Monelle herääkin kysymys: voisiko sama tapahtua oman yrityksen verkkopalvelulle? Periaatteessa kyllä, mikäli sivujen ylläpitoa ei ole hoidettu asiantuntevasti. Seravon asiakkaana ei tarvitse olla huolissaan, sillä Seravon palveluksessa ovat eturivin WP-tietoturva-asiantuntijat, joista monella on Linux-palvelinten ja MySQL/MariaDB-tietokantojen ylläpidosta kokemusta jo 1990-luvun lopulta alkaen.

Yleisesti WordPress-tietoturva-asiantuntemuksemme on myös esimerkillistä. Viimeksi syyskuun alussa useat suomalaiset ja kansainvälisetkin mediat kertoivat Seravon löytämästä nollapäivähaavoittuvuudesta WP File Manager -lisäosassa, josta raportoimme vastuullisesti lisäosan tekijöille ja autoimme koordinoimaan maailmanlaajuista tietoturvapäivitystä. Kaikki MariaDB-tietokannan tietoturvapäivitykset viiden viime vuoden ajalta Debian- ja Ubuntu-jakeluissa ovat Seravon henkilökunnan tekemiä.

Osallistumme monen muunkin Seravon liiketoiminnan kannalta tärkeän avoimen lähdekoodin ohjelmiston kehittämiseen. Henkilökuntamme on myös pitänyt lukuisia esitelmiä WordCamp-tapahtumissa ympäri Eurooppaa: sekä WordPressin tietoturvasta yleisesti, että nimenomaan MariaDB-tietokannan parhaista käytännöistä WordPress-kehittäjille. Seravolla ei ole vielä ISO 27001 -tietoturvasertifiointia, mutta olemme valmistelleet sen hankkimista. Noudatamme nyt jo sertifioinnin vaatimuksia, kuten esimerkiksi pitämällä säännöllisiä koko henkilökunnan kattavia sisäisiä tietoturvakoulutuksia.

Tietoturva on prosessi, jossa käytäntöjä ja osaamista pitää koko ajan kehittää.

Tietokantaohjelmiston tietoturvapäivitykset

Seravon henkilökunta osallistuu MySQL:n alkuperäisten tekijöiden kanssa (mm. Monty Widenius) uuden ja paremman MariaDB-tietokannan kehittämiseen, erityisesti sen päivitysten valmisteluun ja jakeluun Debianissa ja Ubuntussa, jotka ovat maailman suosituimmat Linux-jakelut. Oman inframme ohella vastaamme siis miljoonien muidenkin palvelintietokoneiden MariaDB-tietoturvapäivityksistä. Oman WordPress-palvelumme lisäksi teemme tietokantaohjelmistojen päivityksiä, myös muun muassa finanssialan asiakkaillemme Linux-tukipalvelumme puitteissa.

Tietokantasalasanojen suojaaminen

Ihmiset ovat monesti heikoin lenkki riittävän monimutkaisten salasanojen keksimisessä sekä salasanojen turvallisessa säilyttämisessä. Tästä syystä Seravolla kaikki tietokantasalasanat ovat valmiiksi generoituja, eli asiakkaat eivät voi vaihtaa niitä heikommiksi. Tietokantasalasanat näkyvät PHP-koodille vain ympäristömuuttujien (ENV) kautta. Näin ollen tietokantatunnuksia ei löydy mistään PHP-tiedostosta WordPressistä lainkaan – toisin sanoen normaalista WordPressistä poiketen wp-config.php-tiedostossa ei ole mitään tunnuksia. Luonnollisesti Seravon tarjoamissa kehitysvarjoissa sekä lokaaleissa Vagrant- ja Docker-kehitysympäristöissä on kaikissa eri tunnukset, eikä tuotantotietokantaa säilytetä WordPress-ympäristön ulkopuolella, ellei asiakas erikseen ole itse niin tehnyt.

Tietokantayhteyksien suojaaminen

Seravon WP-palvelussa tietokantayhteydet ovat näkyvissä vain WordPress-ympäristölle, eikä tietokantapalvelu ole avoinna julkiseen internetiin. Mikäli asiakkaalla on tarve käyttää tietokantaa suoraan, voi sen tehdä SSH-yhteyden yli komentoriviltä ajamalla komennon mariadb. Komentoa ajaessa saa se tunnuksen ja salasanan automaattisesti, niin ettei käyttäjän tarvitse niitä antaa. Tämä vähentää salasanojen tarpeetonta ja riskialtista käsittelyä.

Graafista käyttöä varten tarjoamme selainkäyttöistä Admineria, joka on luonnollisesti saatavilla vain HTTPS-suojatulla yhteydellä (muutenkin 99,9% Seravon palvelinten liikenteestä on HTTPS-suojattua). Perinteisen ja joskus ongelmallisen PHPMyAdminin käyttö on Seravon ympäristössä kielletty tietoturvasyistä, eikä sitä tarvita, koska Adminer on Seravon toimesta valmiiksi asennettu ja päivitetty uusimpaan versioon. Jos asiakas haluaa käyttää jotain ulkoista tietokantaohjelmistoa, voi yhteyden ottaa niin sanotun SSH-putken kautta, jolloin tietokantayhteys on edelleen aina suojattu. Seravolla on kautta linjan estetty kaikenlainen käyttäjätunnusten ja salasanojen käyttäminen salaamattomilla yhteyksillä.

Tietokantasisältöjen suojaaminen

WordPress-palvelussamme kaikilla asiakkailla on aina automaattiset varmuuskopiot vähintään kerran vuorokaudessa, 30 päivän historialla. Tämä kattaa myös tietokannan. Varmuuskopiot tehdään tekniikalla, joka ei riipu WordPressistä eikä lakkaa toimimasta, vaikka WordPressissä olisi virhe. Kaikista varmuuskopioita on myös offsite-kopiot kokonaisen palvelinsalin tuhoutumisen varalta.

Seravon ympäristössä WordPress-sivustoista hallinnan puolelta kohdasta Työkalut > Tietoturva löytyy myös lisätoimintoja, joita ei ole WordPressissä normaalisti. Yksi toiminnoista on roskatiedostojen etsijä, joka huomauttaa sivuston ylläpitäjälle, mikäli sivustolta löytyy ylimääräisiä .sql-tiedostoja ja ehdottaa niiden poistamista. On valitettavan yleistä, että sivustojen kehittäjät tekevät ylimääräisiä tietokantadumppeja sivustojen siirron tai muutostöiden yhteydessä, ja tämä työkalu on kehitetty helpottamaan niiden havaitsemista ja poistamista, asiakkaidemme tueksi.

WordPressin hallinnasta kohdasta Työkalut > Tietoturva tarkistaa, onko sivustolla ylimääräisiä sql-tietokantadumpeja, jotka kannattaisi poistaa

Käytön valvonta

Palvelussamme moni asia lokitetaan automaattisesti, ja asiakkaat voivat tarkastella omia lokejaan palvelimella polussa /data/log/. Lokeja voi lukea SSH-yhteydellä komentorivin kautta tai WordPressin hallinnasta kohdasta Työkalut > Lokit. Lokitettavien asioiden joukossa ovat muun muassa kaikki SSH-yhteydet: milloin yhteydet alkoivat ja loppuivat, ja millä SSH-avaimella tultiin sisään (jos se on otettu käyttöön).

WordPressin itsensä osalta lokitetaan kaikki kirjautumiset, sekä onnistuneet että epäonnistuneet. Myös keskeiset WordPressin hallintatoimenpiteet lokitetaan, kuten käyttäjäoikeuksien muutokset, tärkeiden asetusten muutokset sekä lisäosien lisäämiset ja poistamiset. Tietojen avulla asiakas voi itse tarkastella, onko sivustolla tapahtumia, jotka eivät sillä ei kuuluisi esiintyä. Seravo käyttää lokeja tietomurtojen tutkimiseen, joskin tällaisen käytön tarvetta onneksi ilmenee äärimmäisen harvoin.

WordPressin hallinnasta kohdasta Työkalut > Lokit voi tarkastella lokeja Seravon ympäristössä

Jos Seravo hoitaa asiat näin hyvin, tarvitseeko WordPress-sivuston kehittäjän tehdä enää mitään?

Tarvitsee, mutta vähemmän kuin tarvitsisi ilman Seravon palvelua. Tietoturva on yhtä vahva kuin sen heikoin lenkki. Sivuston tekijän tulee käyttää omaa asiantuntemustaan, kun valitaan hyviä lisäosia ja teemoja, jotta ne ovat laadukkaita myös tietoturvan osalta. Sivustoa suunnitellessa ja toteuttaessa pitää olla riittävästi ammattitaitoa karikkojen väistämiseksi.

Seravo tarjoaa joitakin työkaluja (esim. wp-theme-security-check -komennolla voi skannata, löytyykö teeman PHP-koodista selkeitä tietoturvariskejä), mutta kukaan ei tietenkään pysty takaamaan, että sivustolla ei koskaan olisi ongelmia. Tietoturva on prosessi, jossa käytäntöjä ja osaamista pitää koko ajan kehittää.

Seravo voi katselmoida yksittäisen sivuston koodin ja asetusten tietoturvan, sekä WordPressin että valittujen lisäosien ja teeman osalta, mikäli asiakkaana haluat tilata asiantuntijatyönä WordPress-sivuston tietoturvakovennuksen.

Tietoturva on yhtä vahva kuin sen heikoin lenkki.

Entä jos jotain tapahtuu?

Seravolla tietoturva on hoidettu niin hyvin kun WordPress-sivuston yhteydessä voi. Pyydämme kuitenkin asiakkaitamme huomioimaan, että WordPress on tarkoitettu julkaisujärjestelmäksi, ja se sopii hyvin esimerkiksi yrityssivustoksi ja verkkokaupaksi – mutta sitä ei ole tarkoitettu sovellettavaksi esimerkiksi potilastietojärjestelmänä. Jos suojattava tieto on erityisen arvokasta, tietojärjestelmä tulisi toteuttaa räätälöitynä ohjelmistona, jossa arkkitehtuuri on aivan eri kuin WordPressin kaltaisessa verkkokauppa-/julkaisujärjestelmässä.

Suojauksista huolimatta tietomurtoja kuitenkin tapahtuu. Seravolla on yli 4000 sivustoa ylläpidossa, ja törmäämme tietomurtoihin kuukausittain. Yleisin syy tietomurtoon on tietoturva-aukko: esimerkiksi lisäosassa, teemassa tai Windows-käyttäjän työasemassa, josta salasana on päässyt vuotamaan rikolliselle, eivätkä ongelmat käytännössä koskaan liity suoraan tietokantaan. Jotta tietomurtoihin reagointi olisi nopeaa, Seravolla on järjestelmävastaavien lisäksi erillinen tietoturvavastaava, joka suorittaa tietomurtojen tutkinnat sekä seuraa vahtivuoronsa aikana tietoturvatiedotteita muun muassa wpvulndb.com-sivustolta. Seravolla on jatkuvasti kehittyvä protokolla tietomurtojen tutkimiseen ja sivustojen siivoamiseen sellaisen jäljiltä.

Kaikenlaisten teknisten keinojen lisäksi Seravolla on myös sopimustekninen väline tietoturvan edistämiseksi. Tarjoamme asiakkaillemme tietoturvatakuun: mikäli Seravolla ylläpidossa oleva sivusto murretaan, siivoamme sivuston ilmaiseksi. Emme ole vakuutusyhtiö, emmekä korvaa mitään vahinkoja, mutta ainakin hoidamme tietomurron selvittämisen WordPressin osalta ja siivoamme sivuston, jotta se voidaan avata uudestaan. Toimenpide maksaa satoja tai tuhansia euroja per sivusto, ja toimii näin erittäin hyvänä sisäänrakennettuna kannustimena palvelussamme tietoturvan edistämiseksi. Toivomme, että IT-alalla muutkin toimijat ryhtyisivät antamaan vastaavanlaisia takuita, niin tietoturvan taso oikeasti nousisi.

Siirrä WordPress-sivustosi Seravolle suojaan nyt!

Saamme usein kyselyitä tietomurron kohteeksi joutuneiden WordPress-sivustojen omistajilta, jotka pyytävät meiltä apua tietomurron tutkimiseen maineemme takia. Jos olet huolissasi WordPress-sivustosi tietoturvasta, kannattaa siirtyä Seravon asiakkaaksi heti – tietomurron jälkeen Seravon palveluun siirtyminen ei enää auta, jos katastrofi on jo tapahtunut!

Tietomurron tutkiminen on hankalaa tai jopa mahdotonta palvelinympäristössä, jossa ei ole kunnon lokitusta, hyviä varmuuskopiokäytäntöjä usean viikon historialla tai laajasti Linux-työkaluja käytettävissä. Tämän vuoksi meidän on vaikea auttaa käyttäjiä, joiden sivut eivät sijaitse palvelimillamme. Ainoa tapa hyötyä Seravon asiantuntemuksesta on siirtää sivustonsa Seravon ylläpidettäviksi ennen kuin ongelmia ilmenee – tällä tavoin ongelmat voidaan jopa ennaltaehkäistä!