
🔒 WordPress-tietoturva vuonna 2026: täydellinen opas verkkosivuston suojaamiseen
WordPress-sivusto ei murru siksi, että moottori olisi "täynnä reikiä". Se murretaan, koska omistaja lykkäsi liitännäisen päivitystä, asetti salasanaksi admin123 ja jätti xmlrpc.php:n auki. Automaattiset botit skannaavat internetiä jatkuvasti.

Niitä ei kiinnosta, myytkö käsintehtyjä kynttilöitä vai pyöritätkö verkkokauppaa. Ne löytävät ja hyödyntävät haavoittuvuuden. Kirjautumisen brute-force, SQL-injektio, komentotulkin lataus haavoittuvan liitännäisen kautta, kaikki tämä pyörii ympäri vuorokauden.
Hyvä uutinen: voit rakentaa perussuojauksen illassa, ilman syvällistä teknistä osaamista. Alla on testattu toimenpidekokonaisuus palomuurin asentamisesta palvelimen manuaaliseen koventamiseen. Sovellamme kaikkea tässä kuvattua omissa projekteissamme.
💡 Pikaopas:
- Asenna palomuuri: BBQ tai Wordfence, ensimmäinen puolustuslinja torjuu suurimman osan hyökkäyksistä jo ennen kuin ne saavuttavat WordPressin.
- Sulje tyypilliset sisäänkäynnit: xmlrpc.php, REST API kirjautumattomille käyttäjille, hakemistolistaus, hallintapaneelin tiedostoeditori.
- Määritä automaattiset päivitykset ytimelle, teemoille ja liitännäisille. Vanhentunut liitännäisversio on tärkein hyökkäysvektori.
- Tee varmuuskopio, joka tallennetaan palvelimen ULKOPUOLELLE. Ilman varmuuskopiota palautuminen murron jälkeen tarkoittaa WordPressin asentamista alusta.
- Ota kaksivaiheinen tunnistautuminen käyttöön kaikille ylläpitäjille. Salasana voidaan arvata, toista vaihetta ei.
Mihin isketään ensin: tyypilliset hyökkäysvektorit
Useimmat kuvittelevat hakkerin jonain päätteen ääressä istuvana henkilönä, joka manuaalisesti arvailee ylläpitäjän salasanaa. Todellisuus on arkisempi: käytännössä kaikki hyökkäykset ovat bottien käsikirjoituksen mukaan suorittamia. Ne etsivät tunnettuja haavoittuvuuksia liitännäisistä ja teemoista, koputtavat xmlrpc.php:hen, skannaavat hakemistoa /wp-content/uploads/ suoritettavien PHP-tiedostojen varalta.
Tärkeimmät hyökkäysvektorit WordPressiä vastaan:
Vanhentuneet liitännäiset ja teemat. Sucurin raporttien mukaan noin 40% murretuista sivustoista käytti tartuntahetkellä vanhentunutta versiota sisällönhallintajärjestelmästä, liitännäisestä tai teemasta. Kehittäjät sulkevat aukkoja korjaustiedostoilla, mutta vain jos otat ne käyttöön.
Heikot salasanat. Brute-force-hyökkäykset kokeilevat kymmeniä tuhansia yhdistelmiä minuutissa. 6-merkkinen salasana ilman erikoismerkkejä murretaan välittömästi.
Turvaton hosting. Halpa jaettu hosting tinkii käyttäjätilien eristyksestä: jos naapurisivusto palvelimella murretaan, hyökkäys voi levitä omallesi.
Liialliset kirjoitusoikeudet. Kun verkkopalvelin voi kirjoittaa mihin tahansa tiedostoon, aukon kautta ladattu komentotulkki saa täyden hallinnan sivustosta.
Näiden vektorien ymmärtäminen on puolet puolustuksesta. Toinen puoli on konkreettista toimintaa.
Taso 1: nopea suojaus, jonka saat käyttöön puolessa tunnissa
Tästä sinun kannattaa aloittaa tänään. Jokainen toimenpide vie minuutteja, ei vaadi koodin muokkaamista eikä riko sivustoasi.
Asenna palomuuri: BBQ Firewall
BBQ Firewall on Jeff Starrin liitännäinen, joka toimii "asenna ja unohda" -periaatteella. Ei asetuksia, ei puuttumista .htaccess-tiedostoon tai tietokantaan. Se yksinkertaisesti estää haitalliset URL-pyynnöt ennen kuin ne saavuttavat WordPressin: eval(), base64_decode, liian pitkät merkkijonot, injektioyritykset.
Liitännäinen painaa alle 10 kt eikä aiheuta kuormaa. Samalla se nappaa kiinni SQL-injektiot, XSS:n, suoritettavien tiedostojen lataukset ja "huonojen" viittaajien kautta tulevat hyökkäykset.
Käytännössä BBQ asennetaan usein Wordfencen tai Solid Securityn LISÄKSI; ne ratkaisevat eri ongelmia eivätkä ole ristiriidassa keskenään. Pyyntötason palomuuri ja täysiverinen tietoturvaliitännäinen antavat kerroksellisen suojan.
Ota kaksivaiheinen tunnistautuminen käyttöön
Salasana voidaan arvata, siepata tai ostaa vuotaneiden tietokantojen tietovuodosta. Toinen vaihe, kertakäyttökoodi todennussovelluksesta, rikkoo kaiken brute-force-hyökkäysten matematiikan.
WordPressissä ei ole sisäänrakennettua kaksivaiheista tunnistautumista. Helpoin tapa on asentaa Solid Security (entinen iThemes Security) tai Wordfence. Molemmat sisältävät kaksivaiheisen tunnistautumisen ilmaisversiossa. Aktivoinnin jälkeen mene kohtaan Security → Settings → Two-Factor Authentication ja ota se käyttöön Administrator-roolille.
Nämä samat liitännäiset sulkevat valmiiksi tusinan verran muita haavoittuvuuksia:
Solid Security: vaihtaa kirjautumisosoitteen (
/wp-admin→ oma uniikki polkusi), asettaa kirjautumisyritysten rajan, skannaa tiedostoja muutosten varalta, estää IP-osoitteet useiden epäonnistuneiden kirjautumisten jälkeen, tarkistaa liitännäiset ja teemat tunnettujen haavoittuvuuksien varalta.Wordfence: Web Application Firewall automaattisesti päivittyvine sääntöineen, haittaohjelmaskanneri, brute-force-suojaus, liikenteen reaaliaikainen seuranta. Se on erityisen hyvä jo murretun sivuston puhdistamiseen: se löytää takaovet, muokatut ydintiedostot, piilotetun roskapostin.
Tarvitset niistä VAIN YHDEN. Omissa projekteissamme asennamme Wordfencen + BBQ:n: ensimmäinen tarjoaa WAF:n ja skannerin, toinen katkaisee roskapyynnöt jo ennen kuin ne pääsevät lähellekään.
Poista xmlrpc.php käytöstä
XML-RPC on rajapinta WordPressin etäkäyttöön mobiilisovellusten ja trackbackien kautta. Nykyään valtaosa sivustoista ei tarvitse sitä, mutta se on silti yksi hyökätyimmistä kohteista: botit käyttävät xmlrpc.php:tä salasanojen brute-force-murtamiseen ja DDoS-hyökkäyksiin.
Voit poistaa sen käytöstä kahdella tavalla. Nopea tapa, liitännäisen kautta: Solid Security tekee sen yhdellä napsautuksella. Oikeaoppinen tapa, palvelintasolla, .htaccess-tiedostossa:
1 <Files xmlrpc.php> 2 Order Deny,Allow 3 Deny from all 4 </Files>
Lisää tämä lohko juuren .htaccess-tiedostoon ja unohda xmlrpc. Jos käytät WordPressin mobiilisovellusta tai ulkoisia palveluita, jotka tarvitsevat XML-RPC:tä, tarkista ensin, toimivatko ne ilman sitä. Vuonna 2026 vaihtoehdot, REST API todennuksella, kattavat lähes kaikki skenaariot.
Poista hakemistolistaus käytöstä
Avaa вашсайт.com/wp-content/uploads/ selaimessasi. Jos näet tiedostolistan, sinulla on ongelma. Hakemistolistaus näyttää sivustosi rakenteen kenelle tahansa, joka vaivautuu katsomaan.
Ratkaisu: yksi rivi .htaccess-tiedostossa:
1 Options -Indexes
Lisää myös tyhjä index.php jokaiseen epäilyttävään hakemistoon: /wp-content/uploads/, teemat, lisäosat, joista puuttuu oma index.php.
Poista tiedostoeditori hallintapaneelista
WordPress sisältää mahdollisuuden muokata teemojen ja lisäosien .php-tiedostoja suoraan hallintapaneelista: Ulkoasu → Teematiedostoeditori ja Lisäosat → Lisäosatiedostoeditori. Kätevää, kunnes joku luvaton pääsee hallintapaneeliin. Siinä vaiheessa siitä tulee valmis työkalu komentotulkin lataamiseen.
Lisää yksi vakio wp-config.php-tiedostoon:
1 define('DISALLOW_FILE_EDIT', true);
Siinä kaikki. Editori katoaa hallintapaneelista. Käytä tiedostojen muokkaamiseen FTP/SFTP:tä, vähemmän kätevää, mutta turvallisempaa.
Taso 2: WordPressin manuaalinen koventaminen
Seuraavat toimenpiteet menevät hieman syvemmälle: ne edellyttävät asetustiedostojen muokkaamista ja palvelinrakenteen ymmärtämistä. Tuloksena on sivusto, jonka botit ohittavat, koska ne eivät näe siinä WordPressiä.
Päivitä suojausavaimet
Suolaukset, suojausavaimet ja suolat, kahdeksan riviä wp-config.php-tiedostossa, jotka salaavat todennusevästeet. Niiden vaihtaminen kirjaa kaikki ulos välittömästi, mukaan lukien mahdollisen hyökkääjän, jolla on varastettu istunto.
Mene osoitteeseen api.wordpress.org/secret-key/1.1/salt/, kopioi luotu lohko ja korvaa vastaava osio wp-config.php-tiedostossa sillä. Vie minuutti. Tee tämä aina, kun epäilet tietomurtoa.
Vaihda tietokantataulujen etuliite
Oletuksena kaikki WordPress-taulut on nimetty wp_posts, wp_users ja wp_options. SQL-injektiot on usein räätälöity nimenomaan vakioetuliitteelle.
Tuoreessa asennuksessa määritä epästandardi etuliite wp-config.php-tiedostossa:
1 $table_prefix = 'wp83x_';
Olemassa olevalla sivustolla sen vaihtaminen on vaikeampaa: sinun täytyy nimetä taulut uudelleen tietokannassa ja päivittää arvot usermeta- ja options-tauluissa. Älä yritä tätä ilman vankkoja phpMyAdmin- ja SQL-taitoja, riski sivuston kaatamisesta on liian suuri.
Siirrä wp-config.php web-juuren yläpuolelle
wp-config.php sisältää tietokannan salasanan ja salausavaimet. Jos verkkopalvelin tarjoilee sen vahingossa pelkkänä tekstinä, mitä tapahtuu epäonnistuneen PHP-päivityksen yhteydessä, hyökkääjä saa kaiken.
Ratkaisu: siirrä wp-config.php yhden tason sivuston juurihakemiston yläpuolelle, esimerkiksi /public_html/-kansiosta hosting-palvelun kotikansioon. WordPress etsii automaattisesti asetustiedostoa ylähakemistosta, koodi ei mene rikki.
Piilota WordPress-versio
Sivun lähdekoodissa oleva generaattori <meta name="generator" content="WordPress X.X.X"> on lahja boteille. Ne täsmäävät version tunnettujen haavoittuvuuksien tietokantaan ja iskevät tarkasti.
Poista generaattori functions.php-tiedoston kautta:
1 // Remove the WordPress generator meta tag from the page source code 2 function no_generator() { 3 return ''; 4 } 5 add_filter('the_generator', 'no_generator');
no_generator()-funktio palauttaa tyhjän merkkijonon vakiotulosteen sijaan. the_generator-suodatin kaappaa meta-tagin ja kaikkien sen muunnelmien tulosteen, syötteille, RSS:lle ja REST API:lle.
Poista myös readme.html ja liesmich.html asennuksen juuresta, nekin paljastavat version. WordPress-päivityksen jälkeen nämä tiedostot voivat ilmestyä uudelleen, tarkista kerran kuussa.
Määritä HTTP-tietoturvaotsakkeet
HTTP-vastausotsakkeet kertovat selaimelle, miten sisältöä käsitellään. Oikein määritetyt tietoturvaotsakkeet estävät klikkauskaappauksen, XSS:n ja sisällön väärentämisen.
Minimiasetelma WordPressille, lisää nämä rivit .htaccess-tiedostoon:
1 Header set X-Frame-Options "SAMEORIGIN" 2 Header set X-Content-Type-Options "nosniff" 3 Header set Referrer-Policy "strict-origin-when-cross-origin" 4 Header set X-XSS-Protection "1; mode=block"
HTTP Headers -lisäosalla voit tehdä saman hallintapaneelin kautta, jos et halua koskea palvelimen asetuksiin.
Edistyneempään määritykseen käytä Content Security Policyä. Mutta huomioi: virheellinen CSP rikkoo hallintapaneelin, fonttien latauksen ja lisäosien toiminnallisuuden. Ota se käyttöön asteittain, aloittaen Content-Security-Policy-Report-Only-tilasta.
Rajoita tiedostojen käyttöoikeuksia
Käyttöoikeudet, viimeinen puolustuslinja. Jos hyökkääjä lataa tiedoston, mutta ei voi suorittaa sitä, hyökkäys pysähtyy.
Perussäännöt:
- Hakemistot: 755, omistaja lukee, kirjoittaa, suorittaa; ryhmä ja muut lukevat ja suorittavat.
- Tiedostot: 644, omistaja lukee ja kirjoittaa, muut vain lukevat.
- wp-config.php: 400, vain omistaja lukee.
- .htaccess: 444, vain luku -oikeus kaikille, jos WordPress ei muokkaa sitä automaattisesti.
Vältä ehdottomasti arvoa 777. Kyllä, jotkin lisäosat pyytävät 777-oikeuksia wp-content/uploads/-kansiolle. Älä anna sitä. 755 kansiolle ja 644 tiedostoille sen sisällä riittää mediatiedostojen lataamiseen.
Mitä tehdä, jos sivusto on jo hakkeroitu
Tietomurto havaitaan eri tavoin: uudelleenohjaus kasinolle, roskapostin lähetys, "Tämä sivusto on saatettu hakkeroitu" -banneri Googlen hakutuloksissa, valitus palveluntarjoajalta. Toimintajärjestys:
Vaihda välittömästi kaikki salasanat: WordPressin ylläpitäjä, FTP/SFTP, tietokanta, hosting-hallintapaneeli. Aloita viimeisestä. Jos hakkeri on hosting-paneelissa, hän vain luo uuden ylläpitäjän.
Palauta sivusto varmuuskopiosta, joka on tehty ENNEN hakkerointia. Tuore varmuuskopio, joka on tehty murron jälkeen, sisältää todennäköisesti takaoven. Jos varmuuskopiota ei ole, seuraava vaihe.
Asenna Wordfence ja suorita täysi tarkistus. Lisäosa löytää muokatut ydintiedostot, epäilyttävän koodin, piilotetut takaovet. Poista kaikki, minkä skanneri merkitsi, ja korvaa sitten WordPress-ydin tuoreella kopiolla: "Asenna uudelleen" -painike kohdassa Hallintapaneeli → Päivitykset.
Tarkista
wp-content/uploads/-kansio.php-tiedostojen varalta. Ne eivät kuulu sinne. Mikä tahansa.php-tiedosto uploads-kansiossa on lähes varmasti shell.
Katso yllä oleva video, se erittelee tyypilliset WordPress-tietoturvan virheet ja miten ne korjataan, heikoista salasanoista vääriin tiedostojen käyttöoikeuksiin.

- Liitä ulkoinen valvonta. Sucuri, pilvipalvelu, jossa on WAF ja vaste-tiimi. WAF suodattaa liikenteen ennen kuin se saavuttaa palvelimen. Jos tietomurto tapahtuu, Sucurin tiimi puhdistaa sivuston tunneissa. Hinnoittelu alkaa 199 $/vuosi peruspaketista, johon kuuluu puhdistus ja valvonta. Ei ilmainen, mutta kun sivusto tuottaa tuloja, käyttökatkokset maksavat enemmän.
Varmista, että rekisteröit sivustosi Google Search Consoleen. Jos Google havaitsee haitallista koodia, saat ilmoituksen ennen kuin sivusto putoaa hakutuloksista.
Suojaus kiristyshaittaohjelmia vastaan: miksi varmuuskopiot ratkaisevat kaiken

Kiristyshaittaohjelma salaa sivuston tiedostot ja vaatii lunnaita. WordPress-sivustot ovat usein kohteena: tilaukset, asiakastietokannat, sisältö. Kaiken menettäminen yhdessä yössä on todellinen skenaario ilman varmuuskopiota.
Kolme sääntöä:
- Palvelimen ulkopuolinen varmuuskopio. Pilvi tai erillinen FTP. UpdraftPlus ja Duplicator automatisoivat siirron.
- Palomuuri ja skanneri. Wordfence + BBQ estävät haitalliset tiedostojen lähetykset pyyntövaiheessa.
- Vain viralliset lähteet. WordPress.org-hakemisto ja kehittäjäsivustot, joilla on maine. Ei "ilmaisia" teemoja torrenteista.
Automaattinen tiedostojen eheyden valvonta
Palvelinpuolen suojaus, ei kertaluonteinen toimenpide. Kokoa tarkistukset shell-skriptiin cronilla, kerran päivässä, tulokset sähköpostiin:
1 SITE_ROOT="/absolute/path/to/public_html" 2 3 find "$SITE_ROOT" -mtime -1 -name "*.php" \ 4 -printf '%TY-%Tm-%Td %TT\t%p\n' >> /tmp/file-changes.log 5 6 find "$SITE_ROOT" -mtime -7 -name "*.php" \ 7 | xargs grep -l -i "eval\|base64_decode\|iframe\|file_get_contents" \ 8 >> /tmp/suspicious-code.log 9 10 find "$SITE_ROOT/wp-content/uploads" -name "*.php" -print \ 11 >> /tmp/php-in-uploads.log 12 13 find /home -type d -perm 0777 >> /tmp/perms.log 14 find /home -type f -perm 0777 >> /tmp/perms.log 15 16 mailx -s "Webserver File Audit $(date +%F)" admin@example.com \ 17 < /tmp/suspicious-code.log
Skripti ajetaan kerran päivässä cronin kautta. Ensimmäinen lohko find -mtime -1 näyttää viimeisen 24 tunnin aikana muuttuneet PHP-tiedostot, ensisijainen tunkeutumisen ilmaisin. Toinen etsii shell-allekirjoituksia: eval, base64_decode, piilotetut iframe-elementit. Kolmas nappaa PHP:n uploads-kansiosta, jonne legitiimi PHP ei koskaan kuulu. Neljäs löytää tiedostot ja kansiot, joilla on 777-oikeudet. Tulos lähetetään sähköpostiin. Proaktiivinen valvonta havaitsee tunkeutumisen varhaisessa vaiheessa, ennen kuin Google huomaa ja estää sivuston hakutuloksista.
Sucuri: pilvipalomuuri, kun sinulla ei ole aikaa näpertelyyn
Miten se toimii: liikenne kulkee Sucurin pilviproksyn kautta, jossa on WAF, haitalliset pyynnöt estetään ennen kuin ne saavuttavat hosting-palvelun. Sivusto latautuu nopeammin CDN:n ansiosta. Keskeiset ominaisuudet: WAF reaaliaikaisilla allekirjoituksilla, DDoS-suojaus, automaattinen haittaohjelmien puhdistus.
Paketit alkavat 199 $/vuosi. Ilmaista versiota ei ole, mutta Sucuri-skannerilisäosa tarkistaa tiedostot muutosten varalta ilman WAF:ää. Kaupalliselle sivustolle se on perusteltu sijoitus. Henkilökohtaiselle blogille Wordfence + BBQ riittää.
⁉️🤔 UKK
Onko WordPress itsessään turvallinen?
WordPressin ydintä tarkastelevat sadat kehittäjät ja tietoturva-auditoijat. Ongelma ei ole ytimessä, vaan vanhentuneissa lisäosissa, epäluotettavista lähteistä peräisin olevissa teemoissa ja
123456-salasanoissa. Säännölliset päivitykset ja perustason palomuuri tarjoavat riittävän suojan useimmille sivustoille.
Pärjäänkö ilman tietoturvalisäosia?
Voit, jos olet valmis määrittämään palomuurin manuaalisesti palvelintasolla: iptables, mod_security, 7G/8G Firewall
.htaccess-tiedostossa, seuraamaan jokaisen lisäosan CVE-tietoja ja kirjoittamaan cron-skriptejä valvontaa varten. Kaikille muille Wordfencen tai Solid Securityn asentaminen vie tunnin verrattuna kymmeniin tunteihin käsityötä.
Ovatko päivitykset tarpeen, jos palomuuri on käytössä?
Kyllä, ehdottomasti. Palomuuri torjuu hyökkäykset ulkopuolelta, mutta jos asennettuna on lisäosa, jossa on tunnettu haavoittuvuus, ennemmin tai myöhemmin löytyy vektori, jota palomuuri ei pysäytä. Kaikkien WordPress-komponenttien päivittäminen on perusta, jota ilman muut toimenpiteet toimivat puolella teholla.
Mikä tietoturvalisäosa minun kannattaa valita?
Minimaaliseen suojaukseen: BBQ Firewall, estää haitalliset URL-pyynnöt, ei vaadi konfigurointia. Täyteen suojaukseen: Wordfence, WAF, skanneri, 2FA, brute force -suojaus, kaikki ilmaisversiossa. BBQ + Wordfence -yhdistelmä kattaa molemmat kerrokset ilman ristiriitoja.
Entä REST API, pitäisikö se ottaa pois käytöstä?
WordPress tarvitsee REST API:a Gutenberg-lohkoeditoria, useita lisäosia ja ulkoisia integraatioita varten. Sen täydellinen poistaminen käytöstä rikkoo hallintapaneelin. Rajoita sen sijaan pääsyä: jätä vain julkiset päätepisteet kirjautumattomille käyttäjille. REST API Toolbox -lisäosalla voit määrittää pääsyn joustavasti ilman kirurgisia toimenpiteitä.
Kuinka usein sivusto pitäisi skannata virusten varalta?
Automaattisesti, päivittäin cron-skriptien avulla: tarkistetaan muuttuneet tiedostot, etsitään
.php-tiedostoja uploads-kansiosta. Manuaalisesti, kerran kuussa: mene Wordfenceen, aja täysi skannaus, tarkista lisäosalista hylättyjen varalta. Ei päivityksiä yli vuoteen, poista tai korvaa.
Voinko menettää Google-sijoituksia hakkeroinnin takia?
Voit, ja nopeasti. Google skannaa sivustoja haitallisen koodin varalta ja merkitsee tartunnan saaneet varoituksella hakutuloksissa. Jos hakkerointia ei korjata muutamassa viikossa, sivusto poistetaan indeksistä. Rekisteröi sivustosi Google Search Consoleen, niin saat ilmoituksen ongelmasta heti, kun se havaitaan.
Auttaako palveluntarjoajan vaihtaminen estämään hakkerointeja?
Osittain. Laadukas hosting tuo omat kerroksensa: tili-eristys, verkkotason valvonta, PHP:n automaattinen päivitys. Mutta hosting ei suojaa vuotavalta lisäosalta, jonka asensit itse, tai salasanalta
qwerty. Tietoturva on kerroskakku: hosting plus päivitykset plus palomuuri plus käyttöoikeudet plus varmuuskopiot.
WordPress-tietoturva: mistä aloittaa tänään
WordPress-tietoturvan pääsääntö on, ettei kaikkea yritetä hoitaa kerralla. Aloita kolmella askeleella:
- Jos palomuuria ei ole, asenna BBQ Firewall. Yksi minuutti.
- Jos palvelimen ulkopuolisia varmuuskopioita ei ole, määritä UpdraftPlus pilveen latauksella. Kymmenen minuuttia.
- Jos 2FA ei ole käytössä ylläpitäjillä, ota se käyttöön Wordfencen kautta. Viisi minuuttia.
Palaa sitten yllä olevaan listaan: poista xmlrpc käytöstä, päivitä suolat, poista tiedostoeditori käytöstä, määritä tietoturvaotsakkeet. Yksi kohta päivässä, ja viikossa sivustosi on kertaluokkaa paremmin suojattu kuin eilen.
Mitkä tietoturvatoimet toimivat jo sivustollasi? Kerro kommenteissa, olen kiinnostunut vertailemaan lähestymistapoja.



