{"id":257,"date":"2026-10-17T11:03:32","date_gmt":"2026-10-17T09:03:32","guid":{"rendered":"https:\/\/helloblog.io\/fi\/rank-math-pro-3-0-123-haittaohjelma-tarkista-ja-puhdista-sivustosi\/"},"modified":"2026-10-17T11:03:32","modified_gmt":"2026-10-17T09:03:32","slug":"rank-math-pro-3-0-123-haittaohjelma-tarkista-ja-puhdista-sivustosi","status":"publish","type":"post","link":"https:\/\/helloblog.io\/fi\/rank-math-pro-3-0-123-haittaohjelma-tarkista-ja-puhdista-sivustosi\/","title":{"rendered":"Rank Math PRO 3.0.123:n jakelupaketeissa haittaohjelma \u2013 n\u00e4in tarkistat ja puhdistat sivustosi"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Osaan Rank Math PRO 3.0.123:n virallisista lataus- ja p\u00e4ivityspaketeista p\u00e4\u00e4tyi haittaohjelma. Vaarantuneet paketit olivat jaossa 15.10.2026 kello 20.02 UTC \u2013 16.10.2026 kello 7.12 UTC eli noin 11 tunnin ajan. Suomen kes\u00e4ajassa aikav\u00e4li oli 15.10. kello 23.02 \u2013 16.10. kello 10.12.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jos asensit vaarantuneen paketin ja lis\u00e4osa aktivoitui, k\u00e4sittele sivustoa murrettuna.<\/strong> Puhdas versio 3.0.124 korvaa Rank Math PRO:n omat tiedostot, mutta se ei poista haittaohjelman muualle luomia tiedostoja, yll\u00e4pit\u00e4j\u00e4tilej\u00e4 tai ajastettuja teht\u00e4vi\u00e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mit\u00e4 virallisissa p\u00e4ivityspaketeissa tapahtui?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kyseess\u00e4 on toimitusketjuhy\u00f6kk\u00e4ys: haitallinen koodi tuli sivustolle luotetun ohjelmistotoimittajan jakelupaketissa, ei tavallisen ohjelmointivirheen kautta. Rank Math poisti vaarantuneet paketit ja julkaisi puhtaan version 3.0.124. Yhti\u00f6 ei ole kertonut, miten hy\u00f6kk\u00e4\u00e4j\u00e4 muutti paketteja.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tapaus koskee maksullista PRO-lis\u00e4osaa, jonka tunniste on <code>seo-by-rank-math-pro<\/code>. Maksutonta Rank Math -lis\u00e4osaa ei ole ilmoitettu vaarantuneeksi t\u00e4ss\u00e4 tapauksessa. Pelkk\u00e4 versionumero 3.0.123 ei my\u00f6sk\u00e4\u00e4n todista tartuntaa: vain osa kyseisen version paketeista sis\u00e4lsi haittaohjelman, ja ne jaettiin rajatun aikav\u00e4lin aikana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tapauksen CVE-tunniste eli julkinen haavoittuvuustunniste on <strong>CVE-2026-111862<\/strong>. CVSS-vakavuuspisteytyksess\u00e4 se saa arvon <strong>9,8 eli kriittinen<\/strong>. Luokitus kuvaa pakettiin upotettua haitallista koodia, jota hy\u00f6kk\u00e4\u00e4j\u00e4 voi hy\u00f6dynt\u00e4\u00e4 ilman kirjautumista.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Haittaohjelma k\u00e4ynnistyy, kun lis\u00e4osa aktivoituu. Se ottaa yhteytt\u00e4 verkkotunnukseen <code>rank1cdn[.]com<\/code>, voi j\u00e4tt\u00e4\u00e4 hy\u00f6kk\u00e4\u00e4j\u00e4lle pysyv\u00e4n p\u00e4\u00e4syn ja pystyy luomaan piilotettuja takaovia uudelleen sivuvierailujen yhteydess\u00e4. Vaarassa ovat WordPress-tunnukset, tietokantatunnukset, API-avaimet ja muut salaisuudet, joita verkkopalvelimen k\u00e4ytt\u00e4j\u00e4 voi lukea. API-avain on tunniste, jolla sivusto k\u00e4ytt\u00e4\u00e4 ulkoisen palvelun ohjelmointirajapintaa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tarkista ensin, mihin kolmesta tilanteesta sivustosi kuuluu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avaa WordPressin hallinnasta <strong>Lis\u00e4osat<\/strong> ja tarkista Rank Math PRO:n versio. Selvit\u00e4 lis\u00e4ksi, milloin latasit tai p\u00e4ivitit paketin ja aktivoituiko se. Keski-Euroopan kes\u00e4ajassa vaarallinen jakso oli 15.10.2026 kello 22.02 \u2013 16.10.2026 kello 9.12 CEST.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Asensit vaarantuneen 3.0.123-paketin ja lis\u00e4osa aktivoitui:<\/strong> k\u00e4sittele sivustoa murrettuna. Palauta puhdas varmuuskopio tai k\u00e4y l\u00e4pi kaikki manuaalisen puhdistuksen vaiheet.<\/li>\n\n\n<li><strong>Asensit vaarantuneen 3.0.123-paketin mutta et koskaan aktivoinut sit\u00e4:<\/strong> poista kyseiset lis\u00e4osatiedostot, asenna puhdas 3.0.124 omalta Rank Math -tililt\u00e4si ja aja varmuuden vuoksi tietoturvatarkistus.<\/li>\n\n\n<li><strong>Latasit 3.0.123-paketin mutta et asentanut etk\u00e4 aktivoinut sit\u00e4:<\/strong> pelkk\u00e4 lataus ei t\u00e4m\u00e4n tapauksen perusteella osoita sivustomurtoa. \u00c4l\u00e4 asenna vaarantunutta pakettia. Jos et tied\u00e4, p\u00e4\u00e4tyiv\u00e4tk\u00f6 tiedostot sivustolle tai aktivoituiko lis\u00e4osa, pyyd\u00e4 apua <a href=\"https:\/\/rankmath.com\/support\/\">Rank Mathin tuesta<\/a>.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Rank Mathilla on tiedot siit\u00e4, ketk\u00e4 latasivat vaarantuneet paketit kyseisen\u00e4 aikana, ja se ilmoittaa asiasta heille. Jos sait ilmoituksen, noudata tilanteeseesi sopivia palautusohjeita, vaikka sivustollasi olisi jo jokin toinen versio. Nykyinen versionumero ei kerro, mit\u00e4 aiemmin aktivoitu haittaohjelma ehti tehd\u00e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vaihtoehto 1: palauta sivusto puhtaasta varmuuskopiosta<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ensisijainen palautustapa on palauttaa sek\u00e4 sivuston tiedostot ett\u00e4 tietokanta varmuuskopiosta, joka valmistui ennen 15.10.2026 kello 20.02 UTC. Suomessa raja on 15.10. kello 23.02; sama hetki on 15.10. kello 22.02 CEST, 15.10. kello 16.02 EDT ja 16.10. kello 1.32 IST. Valitse varmasti puhdas kopio.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Palauta sivuston tiedostot ja tietokanta<\/strong> ennen vaarallisen jakson alkua otetusta varmuuskopiosta.<\/li>\n\n\n<li><strong>Aja tietoturvatarkistus<\/strong> luotettavalla ty\u00f6kalulla, kuten <a href=\"https:\/\/wordpress.org\/plugins\/wordfence\/\">Wordfencell\u00e4<\/a> tai <a href=\"https:\/\/wordpress.org\/plugins\/sucuri-scanner\/\">Sucurilla<\/a>.<\/li>\n\n\n<li><strong>Vaihda kaikki salasanat ja muut tunnistetiedot.<\/strong> Oleta sivuston salaisuuksien paljastuneen. K\u00e4y l\u00e4pi j\u00e4ljemp\u00e4n\u00e4 oleva erillinen tarkistuslista, joka kattaa my\u00f6s tietokantatunnukset ja API-avaimet.<\/li>\n\n\n<li><strong>Asenna puhdas Rank Math PRO 3.0.124<\/strong> omalta Rank Math -tililt\u00e4si, kun olet palauttanut sivuston.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Pyyd\u00e4 palveluntarjoajalta apua, jos et tied\u00e4, miten palautat varmuuskopion. Pelkk\u00e4 palautus ei tee vanhoista tunnuksista turvallisia eik\u00e4 sulje pois sit\u00e4, ett\u00e4 hy\u00f6kk\u00e4\u00e4j\u00e4 muutti palvelinta WordPress-hakemiston ulkopuolella.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vaihtoehto 2: puhdista sivusto k\u00e4sin oikeassa j\u00e4rjestyksess\u00e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jos puhdasta varmuuskopiota ei ole, poista haittaohjelma ja tarkista hy\u00f6kk\u00e4\u00e4j\u00e4n muut muutokset erikseen. Pyyd\u00e4 palveluntarjoaja tai tietoturva-asiantuntija avuksi, jos tiedostojen, tietokannan tai palvelinasetusten k\u00e4sittely ei kuulu osaamiseesi.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Katkaise ensin mekanismi, joka palauttaa takaoven<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Noudata vaiheiden j\u00e4rjestyst\u00e4. Haittaohjelma voi luoda piilotetun takaoven uudelleen aina, kun joku k\u00e4y sivustolla. Jos poistat vain n\u00e4kyv\u00e4t haittatiedostot mutta j\u00e4t\u00e4t niit\u00e4 palauttavan mekanismin toimintaan, sivusto ei v\u00e4ltt\u00e4m\u00e4tt\u00e4 puhdistu.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Est\u00e4 haittaohjelmaa rakentamasta itse\u00e4\u00e4n uudelleen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tee kaikki seuraavat toimet ennen kuin alat poistaa muita takaovia. Pelkk\u00e4 Rank Math PRO:n poistaminen k\u00e4yt\u00f6st\u00e4 ei riit\u00e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Poista koko Rank Math PRO:n hakemisto.<\/strong> Etsi <code>rank-math-pro<\/code> palveluntarjoajan tiedostonhallinnalla tai FTP-yhteydell\u00e4 ja poista hakemisto tiedostoineen.<\/li>\n\n\n<li><strong>Poista haitalliset tietokantamerkinn\u00e4t.<\/strong> Avaa WordPressin tietokanta esimerkiksi phpMyAdminilla. Etsi <code>wp_options<\/code>-taulusta rivit, joiden <code>option_name<\/code> on <code>_uf6qdn2hmm<\/code>, <code>t8krdk990phb<\/code> tai <code>_np5pvf754c<\/code>, ja poista l\u00f6ytyv\u00e4t haitalliset rivit. Jos sivustosi k\u00e4ytt\u00e4\u00e4 muuta tauluetuliitett\u00e4 kuin <code>wp_<\/code>, tarkista vastaava options-taulu.<\/li>\n\n\n<li><strong>Est\u00e4 l\u00e4htev\u00e4 yhteys haitalliseen verkkotunnukseen, jos mahdollista.<\/strong> Lis\u00e4\u00e4 <code>rank1cdn.com<\/code> estolistalle palveluntarjoajan tai palomuurin avulla.<\/li>\n\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2. Etsi muut haitalliset tiedostot, tilit ja palvelinmuutokset<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hy\u00f6kk\u00e4\u00e4j\u00e4 on voinut j\u00e4tt\u00e4\u00e4 j\u00e4lki\u00e4 sek\u00e4 WordPressiin ett\u00e4 palvelimelle sen ulkopuolelle. K\u00e4y jokainen seuraavista kohdista l\u00e4pi, vaikka ensimm\u00e4inen tietoturvatarkistus ei l\u00f6yt\u00e4isi mit\u00e4\u00e4n.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Piilotetut PHP-takaovet<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tarkista ep\u00e4ilytt\u00e4v\u00e4t PHP-tiedostot seuraavista sijainneista. <code>mu-plugins<\/code> sis\u00e4lt\u00e4\u00e4 WordPressin automaattisesti lataamat lis\u00e4osat, joten sen sis\u00e4lt\u00f6 kuuluu tarkistukseen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>wp-content\/mu-plugins\/<\/code>.<\/li>\n\n\n<li>Muiden lis\u00e4osien hakemistot.<\/li>\n\n\n<li>Muiden kuin WordPressin oletusteemojen <code>inc\/<\/code>-, <code>includes\/<\/code>&#8211; ja <code>lib\/<\/code>-hakemistot.<\/li>\n\n\n<li>Rank Mathin <code>includes\/<\/code>-hakemisto.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Etsi PHP-koodia, jossa <code>base64_decode<\/code> esiintyy yhdess\u00e4 XOR-silmukoiden kanssa. Tarkista my\u00f6s merkkijono <code>xmmqhn<\/code>, prosesseja k\u00e4ynnist\u00e4v\u00e4 <code>proc_open<\/code> sek\u00e4 PHP-FPM:n socket-yhteyksi\u00e4 k\u00e4sittelev\u00e4 koodi. PHP-FPM on PHP-prosesseja hallitseva palvelu; socket toimii t\u00e4ss\u00e4 paikallisena viestint\u00e4kanavana. Tietoturvalis\u00e4osa tai palveluntarjoaja voi auttaa n\u00e4iden merkkien etsinn\u00e4ss\u00e4 ja haittatiedostojen poistossa.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tuntemattomat yll\u00e4pit\u00e4j\u00e4tilit<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tarkista kaikki WordPress-k\u00e4ytt\u00e4j\u00e4t, joilla on yll\u00e4pit\u00e4j\u00e4n oikeudet. Erityisi\u00e4 varoitusmerkkej\u00e4 ovat tunnukset, joiden alussa on <code>wpsupport_<\/code> ja lopussa satunnaisia merkkej\u00e4, sek\u00e4 s\u00e4hk\u00f6postiosoitteet, joiden verkkotunnus on <code>wp-mail[.]net<\/code>. Poista tilit, jotka varmistuvat haitallisiksi tai luvattomiksi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WP-CLI on komentorivity\u00f6kalu WordPressin hallintaan. Saat sill\u00e4 yll\u00e4pit\u00e4j\u00e4tilit n\u00e4kyviin seuraavasti.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp user list --role=administrator --fields=ID,user_login,user_email,user_registered\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><span style=\"color:#79B8FF\"> --fields=ID,user_login,user_email,user_registered<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">WordPressin core-tiedostoksi naamioitu takaovi<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tiedosto <code>wp-includes\/class-wp-cache-util.php<\/code> ei kuulu WordPressin coreen eli WordPressin omiin perustiedostoihin. Jos l\u00f6yd\u00e4t sen, poista se ja tarkista coren tiedostot tarkistussummilla. Tarkistussumma auttaa havaitsemaan, poikkeaako tiedosto virallisesta versiosta.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Asenna WordPressin core-tiedostot uudelleen virallisesta l\u00e4hteest\u00e4, jotta my\u00f6s muut mahdollisesti muutetut core-tiedostot korvautuvat puhtailla. \u00c4l\u00e4 rajaa tarkistusta vain yhteen tunnettuun tiedostonimeen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">.htaccess ja PHP-koodia sis\u00e4lt\u00e4v\u00e4t .cache-tiedostot<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Tarkista sivuston juurihakemiston ja alihakemistojen <code>.htaccess<\/code>-tiedostot. Etsi s\u00e4\u00e4nt\u00f6j\u00e4, jotka sallivat <code>.cache<\/code>-p\u00e4\u00e4tteisten tiedostojen suorittamisen PHP-koodina. Etsi palvelimelta my\u00f6s <code>.cache<\/code>-tiedostoja, jotka sis\u00e4lt\u00e4v\u00e4t PHP-koodia, ja selvit\u00e4 ep\u00e4ilytt\u00e4vien l\u00f6yd\u00f6sten tarkoitus.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Palvelimen ja WordPressin ajastetut teht\u00e4v\u00e4t<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Cron ajaa teht\u00e4vi\u00e4 ajastetusti, ja crontab m\u00e4\u00e4rittelee k\u00e4ytt\u00e4j\u00e4kohtaiset ajot. Tarkista verkkopalvelimen k\u00e4ytt\u00e4j\u00e4n crontab erityisesti merkinn\u00e4n <code>#ms6v46<\/code> varalta. Tarkista erikseen WordPressin omat ajastetut tapahtumat ja poista haitallisiksi todetut teht\u00e4v\u00e4t.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp cron event list\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Muut lis\u00e4osat, teemat ja ladatut tiedostot<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Asenna lis\u00e4osat ja teemat uudelleen niiden virallisista l\u00e4hteist\u00e4. Vertaa tiedostoja puhtaisiin kopioihin aina, kun se on mahdollista.<\/li>\n\n\n<li>Tarkista <code>uploads\/<\/code>-hakemisto PHP-tiedostojen varalta. Niit\u00e4 ei yleens\u00e4 kuulu olla siell\u00e4.<\/li>\n\n\n<li>Selvit\u00e4 odottamattomien tai muuttuneiden tiedostojen tarkoitus ennen kuin poistat ne.<\/li>\n\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">WordPress-hakemiston ulkopuolinen palvelinymp\u00e4rist\u00f6<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Hy\u00f6kk\u00e4\u00e4j\u00e4n muutokset eiv\u00e4t v\u00e4ltt\u00e4m\u00e4tt\u00e4 rajoitu sivuston tiedostoihin. Tarkista my\u00f6s seuraavat alueet tai pyyd\u00e4 palveluntarjoajaa tutkimaan ne.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>SSH-yhteyksien <code>authorized_keys<\/code>-tiedostot, jotka m\u00e4\u00e4rittelev\u00e4t hyv\u00e4ksytyt kirjautumisavaimet.<\/li>\n\n\n<li>Muiden j\u00e4rjestelm\u00e4k\u00e4ytt\u00e4jien crontabit.<\/li>\n\n\n<li>K\u00e4ynniss\u00e4 olevat prosessit.<\/li>\n\n\n<li>Sivustohakemiston ulkopuoliset sijainnit, joihin verkkopalvelimen k\u00e4ytt\u00e4j\u00e4ll\u00e4 on kirjoitusoikeus.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Jaetussa webhotellissa et v\u00e4ltt\u00e4m\u00e4tt\u00e4 p\u00e4\u00e4se n\u00e4ihin tietoihin itse. Pyyd\u00e4 silloin palveluntarjoajaa tarkistamaan palvelinymp\u00e4rist\u00f6, \u00e4l\u00e4k\u00e4 tulkitse k\u00e4ytt\u00f6oikeuksien puutetta merkiksi siit\u00e4, ettei muutoksia ole.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tunnetut murtoj\u00e4ljet ja komentorivitarkistus<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Murtoj\u00e4lki eli IOC on tekninen tunniste, joka auttaa l\u00f6yt\u00e4m\u00e4\u00e4n hy\u00f6kk\u00e4yksen j\u00e4lki\u00e4. T\u00e4ss\u00e4 tapauksessa keskeiset tunnisteet ovat alla. Yksitt\u00e4inen yleinen PHP-funktio ei viel\u00e4 todista haittaohjelmaa, joten tutki l\u00f6yd\u00f6kset asiayhteydess\u00e4\u00e4n.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Ulkoinen yhteys:<\/strong> <code>rank1cdn[.]com<\/code>.<\/li>\n\n\n<li><strong>Tietokannan option-avaimet:<\/strong> <code>_uf6qdn2hmm<\/code>, <code>t8krdk990phb<\/code> ja <code>_np5pvf754c<\/code>.<\/li>\n\n\n<li><strong>Koodimerkit:<\/strong> <code>xmmqhn<\/code>, <code>base64_decode<\/code> yhdess\u00e4 XOR-silmukoiden kanssa, <code>proc_open<\/code> ja PHP-FPM:n socket-koodi.<\/li>\n\n\n<li><strong>Yll\u00e4pit\u00e4j\u00e4tilit:<\/strong> <code>wpsupport_<\/code>-alkuiset k\u00e4ytt\u00e4j\u00e4nimet ja <code>@wp-mail[.]net<\/code>-p\u00e4\u00e4tteiset s\u00e4hk\u00f6postiosoitteet.<\/li>\n\n\n<li><strong>V\u00e4\u00e4rennetty core-tiedosto:<\/strong> <code>wp-includes\/class-wp-cache-util.php<\/code>.<\/li>\n\n\n<li><strong>Palvelimen cron-merkint\u00e4:<\/strong> <code>#ms6v46<\/code>.<\/li>\n\n\n<li><strong>Muut ep\u00e4ilytt\u00e4v\u00e4t l\u00f6yd\u00f6kset:<\/strong> PHP-koodia sis\u00e4lt\u00e4v\u00e4t <code>.cache<\/code>-tiedostot ja <code>.htaccess<\/code>-s\u00e4\u00e4nn\u00f6t, jotka sallivat niiden suorittamisen.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Seuraavat komennot kokoavat nopean tilannekuvan. Aja WordPress-komennot sivuston hakemistossa vasta, kun olet katkaissut haittaohjelman palautusmekanismin. Esimerkin <code>www-data<\/code> pit\u00e4\u00e4 vaihtaa palvelimesi todelliseen verkkopalvelink\u00e4ytt\u00e4j\u00e4\u00e4n; toisen k\u00e4ytt\u00e4j\u00e4n crontabin lukeminen voi vaatia lis\u00e4oikeuksia.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Jos poistit PRO-lis\u00e4osan jo kokonaan, ensimm\u00e4inen komento ei l\u00f6yd\u00e4 sit\u00e4.\nwp plugin get seo-by-rank-math-pro --field=version\n\n# Puuttuva option-avain ei yksin todista sivustoa puhtaaksi.\nwp option get _uf6qdn2hmm\nwp option get t8krdk990phb\nwp option get _np5pvf754c\n\nwp user list --role=administrator --fields=ID,user_login,user_email,user_registered\nwp core verify-checksums\nwp cron event list\n\nls -la wp-includes\/class-wp-cache-util.php\n\n# Vaihda k\u00e4ytt\u00e4j\u00e4nimi vastaamaan palvelinymp\u00e4rist\u00f6\u00e4si.\ncrontab -l -u www-data | grep 'ms6v46'\n\n# Tutki osumat ennen tiedostojen poistamista.\ngrep -RIn --include='*.php' 'xmmqhn' wp-content\/\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6A737D\"># Jos poistit PRO-lis\u00e4osan jo kokonaan, ensimm\u00e4inen komento ei l\u00f6yd\u00e4 sit\u00e4.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> seo-by-rank-math-pro<\/span><span style=\"color:#79B8FF\"> --field=version<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Puuttuva option-avain ei yksin todista sivustoa puhtaaksi.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _uf6qdn2hmm<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> t8krdk990phb<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _np5pvf754c<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><span style=\"color:#79B8FF\"> --fields=ID,user_login,user_email,user_registered<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">ls<\/span><span style=\"color:#79B8FF\"> -la<\/span><span style=\"color:#9ECBFF\"> wp-includes\/class-wp-cache-util.php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Vaihda k\u00e4ytt\u00e4j\u00e4nimi vastaamaan palvelinymp\u00e4rist\u00f6\u00e4si.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">crontab<\/span><span style=\"color:#79B8FF\"> -l<\/span><span style=\"color:#79B8FF\"> -u<\/span><span style=\"color:#9ECBFF\"> www-data<\/span><span style=\"color:#F97583\"> |<\/span><span style=\"color:#B392F0\"> grep<\/span><span style=\"color:#9ECBFF\"> 'ms6v46'<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Tutki osumat ennen tiedostojen poistamista.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">grep<\/span><span style=\"color:#79B8FF\"> -RIn<\/span><span style=\"color:#79B8FF\"> --include=<\/span><span style=\"color:#9ECBFF\">'*.php'<\/span><span style=\"color:#9ECBFF\"> 'xmmqhn'<\/span><span style=\"color:#9ECBFF\"> wp-content\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4m\u00e4 komentojoukko ei yksin puhdista sivustoa eik\u00e4 korvaa koko tarkistuslistaa. Se auttaa paikantamaan tunnettuja j\u00e4lki\u00e4 ja kokoamaan tiedot jatkotutkintaa varten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Vaihda kaikki mahdollisesti paljastuneet tunnukset ja salaisuudet<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tee t\u00e4m\u00e4 my\u00f6s silloin, kun palautit sivuston varmuuskopiosta.<\/strong> Oleta varmuuden vuoksi, ett\u00e4 kaikki murretun sivuston luettavissa olleet tunnukset ja salaisuudet ovat voineet paljastua. Vaihda ne uusiin turvallisiin arvoihin vasta, kun olet poistanut haitallisen p\u00e4\u00e4syn.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Kaikki olennaiset salasanat:<\/strong> vaihda WordPress-tilien salasanat sek\u00e4 muut tunnukset, joihin murretulla sivustolla oli p\u00e4\u00e4sy.<\/li>\n\n\n<li><strong>Tietokantatunnukset:<\/strong> vaihda sek\u00e4 tietokannan k\u00e4ytt\u00e4j\u00e4nimi ett\u00e4 salasana ja p\u00e4ivit\u00e4 uudet arvot <code>wp-config.php<\/code>-tiedostoon.<\/li>\n\n\n<li><strong>WordPressin suojausavaimet ja suolat:<\/strong> luo <code>wp-config.php<\/code>-tiedoston avaimet ja suolat uudelleen. Ne suojaavat WordPressin kirjautumistietoja ja ev\u00e4steit\u00e4.<\/li>\n\n\n<li><strong>API-avaimet ja palvelutunnukset:<\/strong> korvaa maksupalvelujen avaimet, s\u00e4hk\u00f6postin l\u00e4hetykseen k\u00e4ytetyt SMTP-tunnukset, muut API-avaimet sek\u00e4 asetuksiin ja m\u00e4\u00e4ritystiedostoihin tallennetut salaisuudet.<\/li>\n\n\n<li><strong>Webhotellin ja palvelimen k\u00e4ytt\u00f6oikeudet:<\/strong> vaihda hallintapaneelin, FTP\/SFTP-yhteyksien ja SSH-yhteyksien salasanat tai muut tunnistetiedot. Tarkista my\u00f6s ymp\u00e4rist\u00f6muuttujiin tallennetut salaisuudet.<\/li>\n\n\n<li><strong>Kaksivaiheinen tunnistautuminen:<\/strong> tarkista yll\u00e4pit\u00e4j\u00e4tilien asetukset ja nollaa kaksivaiheinen tunnistautuminen tarvittaessa.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00e4ivit\u00e4 uudet tunnukset kaikkiin tarvittaviin sivustoasetuksiin ja liitettyihin palveluihin. Jos et tied\u00e4, mit\u00e4 tunnuksia sivusto voi lukea, pyyd\u00e4 palveluntarjoajaa tai tietoturva-asiantuntijaa kartoittamaan ne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Varmista puhtaus ja seuraa, palaavatko haittatiedostot<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tarkista lopputulos erikseen sen j\u00e4lkeen, kun olet poistanut haitalliset muutokset ja vaihtanut tunnukset. Ensimm\u00e4inen puhdas tarkistus ei yksin sulje pois palvelimelle j\u00e4\u00e4nytt\u00e4 pysyv\u00e4\u00e4 p\u00e4\u00e4sy\u00e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>Aja uusi tietoturvatarkistus luotettavalla ty\u00f6kalulla, kuten Wordfencell\u00e4 tai Sucurilla.<\/li>\n\n\n<li>Tarkista WordPressin core-tiedostot komennolla <code>wp core verify-checksums<\/code>.<\/li>\n\n\n<li>Tarkista asennettujen lis\u00e4osien tiedostot komennolla <code>wp plugin verify-checksums --all<\/code>. Kaikille lis\u00e4osille, varsinkaan maksullisille, ei ole saatavilla tarkistussummia. Vertaa t\u00e4llaiset lis\u00e4osat virallisesta l\u00e4hteest\u00e4 ladattuun puhtaaseen kopioon.<\/li>\n\n\n<li>Seuraa verkkopalvelimen l\u00e4htevi\u00e4 yhteyksi\u00e4 ja muuta ep\u00e4ilytt\u00e4v\u00e4\u00e4 toimintaa seuraavien p\u00e4ivien ajan.<\/li>\n\n\n<li>Tarkista, ilmestyv\u00e4tk\u00f6 poistamasi tiedostot uudelleen.<\/li>\n\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\nwp plugin verify-checksums --all\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><span style=\"color:#79B8FF\"> --all<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Jos haittatiedostot palaavat tai huomaat muuta poikkeavaa, puhdistus voi olla kesken. Palaa manuaalisen puhdistuksen vaiheeseen 2 ja pyyd\u00e4 palveluntarjoajaa tai tietoturva-asiantuntijaa tutkimaan tilanne.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Asenna puhdas 3.0.124 suoraan omalta tililt\u00e4si<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kun olet tehnyt tilanteeseesi kuuluvat palautus- tai puhdistustoimet, asenna Rank Math PRO 3.0.124. Kirjoita <code>rankmath.com<\/code> suoraan selaimen osoiteriville, kirjaudu omalle tilillesi ja lataa puhdas paketti tilin latauksista. Osa k\u00e4ytt\u00e4jist\u00e4 voi joutua nollaamaan tilins\u00e4 salasanan ennen kirjautumista.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Varo tapaukseen liittyv\u00e4\u00e4 tietojenkalastelua<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Rank Math ei l\u00e4het\u00e4 s\u00e4hk\u00f6postitse kirjautumis- tai latauslinkkej\u00e4. Suhtaudu ep\u00e4ilytt\u00e4v\u00e4sti pyyt\u00e4m\u00e4tt\u00e4 saapuneisiin viesteihin, jotka kehottavat avaamaan salasanan nollauslinkin tai latauslinkin. Aloita asiointi kirjoittamalla palvelun osoite itse selaimeen.<\/p>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ep\u00e4viralliset jakelusivustot ja GPL-uudelleenjakelupalvelut voivat edelleen tarjota versiota 3.0.123. Hae puhdas paketti omalta valmistajatililt\u00e4si, \u00e4l\u00e4 satunnaisesta latausarkistosta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jos tarvitset apua palautustavan valintaan tai sivuston tilanteen selvitt\u00e4miseen, avaa <a href=\"https:\/\/rankmath.com\/support\/\">tukipyynt\u00f6<\/a> tai ota yhteytt\u00e4 osoitteeseen <code>support@rankmath.com<\/code>. Kerro k\u00e4yt\u00f6ss\u00e4 ollut Rank Math PRO -versio ja erittele palautus- tai puhdistusvaiheet, jotka olet jo tehnyt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tarkista seuraavaksi my\u00f6s yll\u00e4pitok\u00e4yt\u00e4nt\u00f6si<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Luotettu kaupallinen toimittaja ei poista toimitusketjuhy\u00f6kk\u00e4yksen mahdollisuutta. Automaattiset p\u00e4ivitykset ovat maksullisissakin lis\u00e4osissa kaksiter\u00e4inen ratkaisu: ne tuovat korjaukset nopeasti, mutta voivat tuoda my\u00f6s vaarantuneen virallisen paketin sivustolle.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Tarkista palautuspisteet nyt.<\/strong> S\u00e4ilyt\u00e4 varmuuskopiot erill\u00e4\u00e4n tuotantopalvelimesta ja pid\u00e4 niit\u00e4 riitt\u00e4v\u00e4n pitk\u00e4lt\u00e4 ajalta, jotta voit palata aikaan ennen mahdollista murtoa.<\/li>\n\n\n<li><strong>Arvioi automaattiset p\u00e4ivitykset lis\u00e4osakohtaisesti.<\/strong> Ota p\u00e4\u00e4t\u00f6ksess\u00e4 huomioon sek\u00e4 nopeiden tietoturvakorjausten hy\u00f6ty ett\u00e4 virallisen jakelukanavan mahdollinen vaarantuminen.<\/li>\n\n\n<li><strong>Seuraa ja rajaa verkkopalvelimen l\u00e4htevi\u00e4 yhteyksi\u00e4.<\/strong> Selvit\u00e4, mihin palveluihin sivuston todella pit\u00e4\u00e4 saada yhteys.<\/li>\n\n\n<li><strong>Ota tiedostojen tarkistussummat osaksi tarkistuksia.<\/strong> K\u00e4yt\u00e4 virallisia puhtaita kopioita silloin, kun tarkistussummia ei ole saatavilla.<\/li>\n\n\n<li><strong>Varmista latauskanavat ja s\u00e4hk\u00f6postik\u00e4yt\u00e4nn\u00f6t.<\/strong> Lataa PRO-paketti valmistajan tililt\u00e4 ja k\u00e4sittele tapaukseen vetoavat kirjautumis-, nollaus- ja latausviestit varoen.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Jos vaarantunut paketti ehti aktivoitua, aloita puhtaasta palautuspisteest\u00e4 tai katkaise haittaohjelman palautusmekanismi ennen muuta puhdistusta. Kirjaa tehdyt toimet ja l\u00f6yd\u00f6kset, vaihda salaisuudet ja sovi seuraavien p\u00e4ivien seurannasta sivuston vastuuhenkil\u00f6n kanssa.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Viitteet \/ L\u00e4hteet<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/rankmath.com\/kb\/pro-3-0-123-security-incident\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math PRO 3.0.123 Security Incident: How to Secure Your Website<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/10\/rank-math-seo-pro-3-0-123-malware\/\" target=\"_blank\" rel=\"noopener noreferrer\">Wordfence PSA<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/vulnerabilities\/id\/81cd7a2c-ad0c-4dbc-b5dc-07ec866d5c1f\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math SEO PRO 3.0.123 &#8211; Unauthenticated Embedded Malicious Code<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Pelkk\u00e4 Rank Math PRO -p\u00e4ivitys ei riit\u00e4, jos haitallinen versio ehti k\u00e4ynnisty\u00e4 sivustollasi. Tarkista latausajankohta ja etene palautuksessa oikeassa j\u00e4rjestyksess\u00e4.<\/p>\n","protected":false},"author":57,"featured_media":256,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[157,156,143,10,7],"class_list":["post-257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tietoturva","tag-haittaohjelmat","tag-rank-math","tag-toimitusketjuhyokkays","tag-wordpress","tag-wp-cli"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/posts\/257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/comments?post=257"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/posts\/257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/media\/256"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/media?parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/categories?post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/fi\/wp-json\/wp\/v2\/tags?post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}