Sofokus - Di­gi­taa­li­sen lii­ke­toi­min­nan kump­pa­ni

20 tapaa parantaa WordPressin turvallisuutta – osa 1

WordPressin turvallisuutta pohditaan usein. Toisaalta se on maailman käytetyin sisällönhallintajärjestelmä. Se yhdistettynä melko helppoon perusasennukseen, on tuttu resepti tietoturvakatastrofiin.Maailmalla on krakkeroitu laajasti käytössä olevia järjestelmiä, joita ei ole oikeaoppisesti asennettu ja konfiguroitu. Sama koskee esimerkiksi Windows-palvelimia.
Tämä kirjoitus on ensimmäinen osa kaksiosaisesta kokonaisuudesta, jossa kerron yhteensä 20 tapaa parantaa WordPress-asennuksesi turvallisuutta. 
Lue eteenpäin, niin kerron, miten lyöt krakkereille jauhot suuhun. 

1. Käytä uusinta versiota WordPressistä

Uuden asennuksen yhteydessä tulisi aina käyttää uusinta versiota WordPressistä. Uusimmassa versiossa on aina uusimmat ominaisuudet ja viimeisimmät tietoturvapäivitykset. Tämä on yksi helpommista tavoista parantaa parantaa WordPressin turvallisuutta.

2. Pidä WordPress-asennus ajan tasalla

Päivitykset tulee suorittaa sekä WordPressin ytimeen, lisäosiin että teemoihin tasaisin väliajoin. Päivityksien mukana tulee usein sekä uusia ominaisuuksia että erilaisia bugikorjauksia. Bugikorjaukset saattavat tukkia myös havaittuja tietoturva-aukkoja.
IT-alan julkaisuissa on silloin tällöin kertomuksia siitä, kuinka WordPress-sivustoihin on murtauduttu. Usein tähän on syynä vanhentunut versio WordPressistä. Kannattaa muistaa, että WordPress on avoimen lähdekoodin projekti. Kuka tahansa pystyy tarkastelemaan sen lähdekoodia.
Kun WordPressin kehittäjätiimi paikkaa tietoturva-aukon, krakkeri pystyy selvittämään minkälainen aukko on ollut kyseessä vertailemalla uusimman ja vanhemman version lähdekoodeja keskenään. Tätä kautta krakkeri voi keksiä keinon, miten murtautua sovelluksen vanhaan versioon.

WordPress tarjoaa helpon ja automaattisen tavan suorittaa päivitykset. Päivitys onnistuu yhdellä napin painalluksella. Päivitysmekanismi lataa uudet tiedostot ja tekee mahdollisesti tarvittavat muutokset tietokantaan.

Mikäli WordPressiä ei ole päivitetty pitkään aikaan ja matkan varrella on tullut suuria muutoksia ytimeen, voi olla, että automaattinen päivitys ei välttämättä toimi. Tällöin kannattaa suunnata WordPressin foorumeille ja hakea tietoa siitä, kuinka päivityksen voi tehdä käsin.
Päivityksiä ei kannata ajaa suoraan tuotantosivustolle, vaan testisivustolle, joka mielellään on kopio tuotantosivustosta. Miksi näin?

Koska Herra Murphy saattaa puuttua peliin ja päivitys saattaa epäonnistua.

Joskus taas lisäosat eivät välttämättä ole enää yhteensopivia uusimman ydinpäivityksen kanssa. Pahimmassa tapauksessa tällainen päivitys voi hajottaa koko sivuston niin, että käyttäjä näkee vain valkoista ruutua. Jos operaatio suoritetaan ensin testipuolella, se voidaan havaita ennen kuin vahinko tapahtuu tuotannossa.
Samalla voidaan tutkia, miten päivitys voidaan suorittaa onnistuneesti tuotantoon hajottamatta sitä. Ennen päivitystä kannattaa myös ottaa varmuuskopiot sekä tietokannasta että WordPressin tiedostoista. Täten sivuston voi palauttaa helposti, jos kuitenkin jokin menee valmisteluista huolimatta pieleen tuotannossa.

3. Käytä vahvoja salasanoja

Tämä on itsestäänselvyys, mutta siitä huolimatta monesti käyttäjät pitävät liian heppoisia salasanoja. Vahvan salasanan ei tarvitse olla satunnainen merkkijono, jota on vaikea muistaa.

Vahvan salasanan saa muodostamalla esimerkiksi helposti muistettavan lauseen, joka sisältää kirjaimia, numeroita ja erikoismerkkejä.

Passwordmeteristä voi tarkistaa, onko käytetty salasana vahva. Better WP Securityn avulla voi pakottaa vahvojen salasanojen käytön käyttäjäryhmien perusteella. Vähintään ylläpitäjien tulisi käyttää vahvoja salasanoja, mielellään kuitenkin kaikkien. Suosittelen Better WP Securityn käyttöä. Sen avulla pystyy tekemään monia muitakin turvallisuusasetuksia helposti. Näistä lisää myöhemmin.

4. Siirrä wp-config.php tiedosto pois sovelluspalvelinhakemistosta

Harva tuntuu tietävän, että WordPressin asetustiedoston voi laittaa yhden pykälän ylemmäs hakemistorakenteessa. Tällöin asetustiedosto ei ole enää sovelluspalvelimen hakemistossa (olettaen että WordPress on asennettu sovelluspalvelimen juureen) ja niinpä siihen käsiksi pääsy vaikeutuu huomattavasti. Tiedoston voi suoraan siirtää yhtä pykälää korkeammalla, muita muutoksia ei vaadita.

5. Aseta kunnolliset salausavaimet wp-config.php tiedostoon

WordPressin asetustiedosto wp-config.php sisältää kahdeksan salausavainta. Avaimiin tulee ehdottomasti laittaa jotkin muut kuin oletusarvot. Hyvät avaimet voi generoida täällä. Kyseisen sivun tulosteen voi kopioida suoraan wp-config.php tiedostoon oletusavaimien päälle.
Kyseinen osoite luo eri avaimet jokaisella sivun latauksella. Vaihtoehtoisesti avaimet voi toki kirjoittaa suoraan tiedostoon. Mitä pidempi ja monimutkaisempi avain on sitä parempi. Avaimet voi myös vaihtaa koska tahansa, jos käy ilmi, että joku ulkopuolinen on ne jostakin syystä saanut selville. Avaimien vaihdon jälkeen sisäänkirjautuneet käyttäjät joutuvat kirjautumaan uudestaan.

6. Käytä vain tunnettuja lisäosia ja teemoja

Kannattaa olla tarkkana sen kanssa, mistä lataa lisäosat ja teemat. WordPressillä on oma julkinen lisäosahakemisto, johon lisäosan voi lähettää jaettavaksi. Lisäosa käy ennen julkaisuaan tarkastusprosessin läpi, joten haitallista koodia sisältäviä lisäosia pääsee harvoin hakemistoon asti. Ilmaisten lisäosien asentamiseen kannattaa käyttää WordPressin sisäänrakennettua lisäosan hallintaa, joka lataa lisäosat lisäosahakemistosta.
Jos lisäosan lataa jostain muualta, tällöin kannattaa tutkia sen lähdekoodi läpi, jotta sieltä ei löydy mitään epäilyttävää. Ainoa hyvä syy olla lähettämättä lisäosaa julkiseen hakemistoon on se, jos ollaan tekemässä kaupallista premium-lisäosaa, josta käyttäjä maksaa.
Monet premium-lisäosat tarjoavat kuitenkin myös ilmaisen karsitun version hakemistoon. Se, että lisäosa maksaa ei toki tarkoita, että lisäosa olisi haittakooditonta, mutta riski on hyvin pieni. Lisäosan ostoa harkitessa hakukone on hyvä ystävä. Hakukoneen kautta selviää nopeasti, ovatko muut käyttäjät tyytyväisiä lisäosaan.
Ilmaisille WordPress-teemoille on myös olemassa oma hakemistonsa. Tämän lisäksi monet yksityiset sivustot tarjoavat ilmaisia teemoja. Näiden kanssa kannattaa olla todella tarkkana, sillä monien sivustojen teemoista saattaa löytyä epäilyttävää koodia. Siobhan McKeown on kirjoittanut hyvän artikkelin siitä, kuinka usein hakukoneen kautta löytää ilmaisia teemoja, joissa on haittakoodia.

7. Ota säännöllisesti varmuuskopiot

Tämän pitäisi olla jo itsestäänselvyys, mutta silti välillä tulee vastaan tilanteita, joissa ei varmuuskopioita löydy jonkin asian mentyä pahasti pieleen. Tässä kohtaa monesti on jo liian myöhäistä.

WordPressistä tulisi aina ottaa varmuuskopioita tasaisin väliajoin.

Se miten ja kuinka usein niitä tulisi ottaa, riippuu hyvin paljon tilanteesta.
Varmuuskopioinnista kannattaa kysyä palvelimen ylläpitäjältä. Yleensä pientä korvausta vastaan varmuuskopiointi on järjestettävissä. Better WP Securityn avulla voi ajastaa tietokantavarmuuskopion sähköpostiin.
Kannattaa kuitenkin muistaa, että WordPressin tiedostoista tulisi myös ottaa varmuuskopiot, sillä ne sisältävät muun muassa WordPressiin tallennetut kuvat ja dokumentit. Varmuuskopiointiin voi myös käyttää ulkopuolista palvelua kuten VaultPress.
Kuinka usein varmuuskopioita sitten tulisi ottaa? Jos sivusto on hyvin aktiivinen ja uutta sisältöä tulee monta kertaa viikossa, tällöin varmuuskopioita on hyvä ottaa päivittäin. Jos taas uutta sisältöä tulee vain kerran viikossa tai harvemmin, viikottainen varmuuskopiointi on riittävä.
Automaattisten varmuuskopioiden lisäksi ytimen, lisäosien ja teemojen päivitysten yhteydessä tulisi ottaa talteen tilanne ennen päivityksen suorittamista, sillä jos jokin menee pieleen, voidaan tilanne palauttaa ennalleen.

8. Luo rajatut tietokantatunnukset

WordPressin asennuksen yhteydessä määritellään tietokantatunnukset. Tunnuksen oikeudet tulisi rajata siihen tietokantaan, jota WordPress käyttää.

Toisin sanoen tietokannan root-tunnuksia ei saa käyttää!

Jos vahingossa kuitenkin käy niin, että tietokantatunnukset päätyvät krakkerin käsiin, rajatuilla tunnuksilla pystyy aiheuttamaan ongelmia vain yhteen tietokantaan vaikka palvelimella saattaisi olla useita tietokantoja.

9. Käytä tiedostojen siirtoon SFTP:tä FTP:n sijaan

Monesti WordPressin tiedostoja siirretään käyttäjän koneen ja palvelimen välillä. Tähän kannattaa käyttää SFTP-yhteyttä. SFTP on salattu tiedonsiirtotapa toisin kuin FTP.
FTP-yhteyksissä esimerkiksi salasana lähetetään salaamattomana, joten sen voi kaapata yhteydenmuodostuksen aikana. Kannattaa siis käyttää SFTP-yhteyttä, jos se on vain suinkin mahdollista. Ei ole mukavaa, jos krakkeri saa FTP-salasanan selville ja poistaa vaikkapa koko sivuston.

10. Käytä SSL:ää parantaakseni WordPressin turvallisuutta

SSL:n avulla on mahdollista salata käyttäjän ja palvelimen välinen liikenne. Salaamalla esimerkiksi sisäänkirjautumislomakkeen lähetys, hyökkääjän on vaikea saada selville lähetettyä salasanaa. Tarpeen vaatiessa voidaan salata koko WordPress-sivusto tai vain ylläpitopuoli.
SSL-salaus toiminnallisuuden saa päälle Better WP Security lisäosalla. SSL-salaus ei kuitenkaan toimi, ellei palvelimelle ole asennettu SSL-sertifikaattia. Maksulliset sertifikaatit maksavat muutamista kympeistä muutamiin satoihin euroihin vuodessa.
Tässä oli ensimmäiset kymmenen tapaa parantaa WordPressin turvallisuutta. Seuraavassa kirjoituksessa menemme vielä hieman syvemmälle ja katsomme läpi seuraavat kymmenen tapaa tehostaa WordPressin turvallisuutta.
Mikäli pidit lukemastasi, paina tykkää. 😉 Kiitos!
Voit lukea toisen osan täältä.

Timo Leiniö

Chief Performance Officer & Partner

Lue lisää aiheesta