WordPressi hooldus Häkitud saidi puhastus Turvaplugin Hinnad Blogi
Avaleht / Blogi / Kodulehe turvalisus
juuni 6, 2026

WordPressi sisselogimise turvamine: paroolist üksi ei piisa

E-poe haldur avab WooCommerce’i tellimuse, et vaadata, mida klient ostis. Tellimusse peidetud skript käivitub tema juba avatud adminiseansis. Just sellisest ründekampaaniast teatas Patchstack sel nädalal; seda on nähtud alates 4. oktoobrist 2026. Ründajad panid skripte Ninja Formsi kaudu saadetud vormidesse ja WPC Product Bundlesi WooCommerce’i tellimustesse. Kui haldur nakatunud kirje avas, paigaldas skript võltsplugina WP Smart Thumbnails. See lõi ühe nähtava administraatori, teise administraatori, keda kasutajate vaates ei näe, salajase sisselogimislingi ja failihalduri.

Halduri parool võis olla suurepärane. See poleks peatanud skripti, mis tegutses juba avatud seansi kaudu. Siin ongi WordPressi sisselogimise turvamise ebamugav koht: sisselogimisvorm on alles algus. Pead teadma ka seda, kellel on adminiõigused, mis juhtub pärast sisselogimist ja kuidas märkad kontot, mida sa ise pole loonud.


Alusta paroolidest ja pääsuvõtmetest

Anna igale töötajale oma konto ja paroolihalduri loodud unikaalne parool. Kui keegi kasutab e-poe halduses sama parooli mis mõnes muus teenuses ning selle teenuse andmed lekivad, saavad ründajad samu andmeid sinu saidil proovida. Neil pole vaja midagi ära arvata. Kui paroolihaldur on tiimi jaoks uus, alusta lihtsatest kokkulepetest - sellest räägib ka meie artikkel paroolihaldusest väikeettevõttes.

Pääsuvõti on veel tugevam valik, kui sinu seadistus seda toetab. See on seotud õige veebidomeeniga, nii et usutav võlts-sisselogimisleht ei saa pääsuvõtit välja petta samamoodi nagu sisse toksitud parooli. WordPressi põhiosas pole pääsuvõtmega sisselogimist sisse ehitatud - selleks on vaja pluginat. Kontrolli valitud plugina võimalusi, proovi seda esmalt ühe administraatori kontoga ja pane enne kogu tiimile kasutuselevõttu paika taastamise viis.

Pigem olgu viiel inimesel eraldi paroolihalduri kontod kui üks ühine adminiparool, mida kõik enda sõnul mäletavad. Ühise kontoga on hiljem ka raske aru saada, kes tellimuste seadistust muutis.


Pane kõigile kõrgemate õigustega kontodele 2FA

Kaheastmeline autentimine ehk 2FA küsib pärast parooli veel üht kinnitust. Kõik viisid pole aga võrdsed. Kontode puhul, millega saab veebilehte muuta, eelistaksin neid selles järjekorras:

  1. Pääsuvõti või turvavõti: parim kaitse võltsitud sisselogimislehtede vastu.
  2. Autentimisrakendus (TOTP): korralik ja praktiline valik, kuigi inimese võib endiselt meelitada kehtivat koodi võltslehele sisestama.
  3. E-posti teel saadetav kood: parem kui ainult parool, kuid nõrk, kui e-posti konto on üle võetud.
  4. SMS-kood: kasuta siis, kui muud töötavat võimalust pole, mitte esimese valikuna.

Tee 2FA kohustuslikuks igale administraatorile ja WooCommerce’i poehaldurile. Kui see on vabatahtlik, jääb kaitseta just see konto, mis kõigil meelest läks. Hoia taastamiskoode turvalises kohas ja veebilehest eraldi. Kui tahad seadistamisega abi, vaata tasuta WordPressi kaheastmelise autentimise teenust.

Ja pea alguse näidet meeles: isegi hea 2FA ei tee juba avatud adminiseanssi ohutuks. Vaatame edasi.


Jõurünnakute kaitse peab aeglustama ründajat, mitte klienti

Jõurünnaku puhul proovitakse järjest paroole ära arvata. Teine levinud võte on mujalt lekkinud kasutajanimede ja paroolide katsetamine sinu WordPressis. Katsete arvu piiramine aitab mõlema puhul, aga lekkinud paroolide vastu annavad tugevama kaitse unikaalsed paroolid ja 2FA.

Sea piirang nii IP-aadressi kui ka kasutajanime järgi ning pikenda ebaõnnestunud katsete järel ooteaega järk-järgult. Ära looda ainult pikale kontolukule. Ründaja saab selle meelega sinu päris administraatorile peale tõmmata just siis, kui tellimused on vaja teele panna. Kui võimalik, peata pahatahtlik liiklus juba serveris või tulemüüris. See koormab serverit vähem kui iga katse laskmine WordPressil läbi töödelda.

Kui sul on WooCommerce’i pood, testi reegleid ka aadressil /my-account/, mitte ainult /wp-login.php juures. Klient sisestab telefonis parooli valesti täiesti tavalisel päeval. Kui piirang jätab ta ostu vormistamisel ukse taha, pole see hea lahendus. Meie WordPressi sisselogimise kaitse hõlmab katsete piiramist ja tulemüürireegleid, ilma et iga unustatud kliendiparooli käsitletaks rünnakuna.


Kas sisselogimisaadress tuleks ära peita?

Tavalise sisselogimisaadressi muutmine võib vähendada bottide müra ja teha logid loetavamaks. Täiesti mõistlik pluss. See ei asenda aga 2FA-d ega katsete piiramist.

Sihikindel ründaja leiab ka teisi teid ning /wp-login.php pole ainus uks. Aadressi muutvad pluginad võivad minna vastuollu vahemälu või mõne teise pluginaga. Kui vale plugin valel hetkel välja lülitada, võid ka ise ligipääsust ilma jääda. Kui sellist lahendust kasutad, kirjuta uus aadress üles kohta, mille tiim üles leiab, jäta alles administraatori taastetee ja testi pärast muudatusi sisselogimist.

Minu meelest on see lisavõte, kui automaatsed katsed logisid ummistavad. Vaiksed logid ei tähenda veel turvalist WordPressi sisselogimist.


Kontrolli teisi uksi: XML-RPC, rakenduseparoolid ja REST

Sisselogimisleht võib olla hästi kaitstud, aga mõni teine tee võtab ikka parooli vastu. Need kolm kohta vaata üle:

  • XML-RPC: xmlrpc.php võib võimaldada system.multicall abil ühe päringu sees palju paroolikatseid. Lülita see välja, kui ükski sinu kasutatav teenus seda ei vaja. Enne kontrolli, sest Jetpack ja mõned rakendused toetuvad XML-RPC-le. Otsustamisel aitab meie XML-RPC juhend.
  • Rakenduseparoolid: WordPress pakub neid alates versioonist 5.6 REST-i või XML-RPC-d kasutavate ühenduste jaoks. Need lähevad tavalisest sisselogimise 2FA-st mööda - nii ongi see lahendus tehtud. Ava iga kõrgemate õigustega kasutaja puhul Users > Profile, vaata tema rakenduseparoolid üle ja tühista need, mida sa ei tunne. Kui ükski ühendus neid ei vaja, kaalu selle võimaluse väljalülitamist.
  • REST API kasutajate loend: paljudel lehtedel võivad kasutajanimed olla nähtavad aadressil /wp-json/wp/v2/users. Ava see aadress välja logituna ja vaata, mida sinu sait näitab. Vajaduse korral piira avalikku kasutajate loendit, kuid ära pea kasutajanimede peitmist paroolikaitseks.

Üks asi väärib eraldi tähelepanu: rakenduseparool on omaette ligipääsuandmestik, mitte kellegi tavaline halduspaneeli parool. Adminikontodele 2FA lisamine ei tee tundmatut rakenduseparooli automaatselt ohutuks. Kontrolli mõlemat.


Hoia administraatorite nimekiri lühike - ja vaata kasutajate vaatest kaugemale

Administraatoriõigusi peaks olema vähestel. Tootekirjelduste kirjutajale võib piisata Editor-rollist, WooCommerce’i tellimustega tegelejale Shop manager’i rollist. Kumbki töö ei nõua automaatselt õigust muuta pluginaid, kasutajaid ja kogu saidi seadistust.

Tee kord kuus kiire ligipääsukontroll:

  • Eemalda endiste töötajate ja arendajate kontod, kui nad enam saidiga ei tegele. Vajaduse korral määra nende sisu kellelegi teisele.
  • Asenda ühised adminikontod isiklike kontodega. Kasutajanimi ei pea olema sama mis avalik kuvatav nimi.
  • Loe administraatorid kokku ja küsi iga konto kohta, miks tal need õigused praegu on.
  • Pane uue administraatori loomise kohta teavitus tööle ning vaata sellise teate korral tegevuslogi üle.

Alguses kirjeldatud rünnak tuletab meelde, et kasutajate vaade ei pruugi koike näidata. Peidetud administraator ei pruugi seal üldse välja tulla. Kui saad teavituse uuest administ, aga kontot ei leia, ära pea seda kohe valehäireks. Lase WordPressi tundval inimesel kontrollida andmebaasi ja tegevusloge ning uurida, mis konto tekitas. Ära hakka andmebaasist ridu huupi kustutama.


Ära unusta avatud adminiseansse

Ühiskasutusega arvutis logi töö lõppedes välja. Ära anna ka kolleegile mugavuse pärast üle brauserit, kus sinu adminikonto on juba sees. Kui seade kaob või kahtlustad, et keegi kasutas kontot loata, muuda parool ja kasuta selle kasutaja profiilis olevat seansihaldust, et teised seansid välja logida. Vaata samal ajal üle hiljutised tegevused ja teised administraatorid.

See ei eemalda pluginat, mille ründaja jõudis juba paigaldada. Kui leiad kahtlase administraatori, ootamatu plugina või seletamatu failihalduri, käsitle olukorda saidi kompromiteerimisena, mitte pelga paroolivahetusena. Tuleb leida sisenemistee ja eemaldada kõik, mis ründajale ligipääsu alles jätab - ka see, mida tavalises haldusvaates näha pole.


Mida me hooldatavatel lehtedel pidevalt kontrollime

Meie hooldatavatel saitidel pole sisselogimise kaitse üks plugin, mis korra paigaldatakse ja unustatakse. Need on kontrollid, mille juurde tuleme tagasi:

  • 2FA on kohustuslik igale administraatorile ja poehaldurile; taastamiskoodid on turvaliselt tallel.
  • Sisselogimiskatsete piirangud ja tulemüürireeglid on läbi testitud ka poe klientide sisselogimisel.
  • XML-RPC on välja lülitatud, kui mõni teadaolev ühendus seda ei vaja.
  • Rakenduseparoolid on üle vaadatud ja kasutud ligipääsud tühistatud.
  • Administraatorite arv on kontrollitud ning uute adminide loomise teavitused töötavad.
  • WordPressi, pluginate ja teemade uuendused on kontrollitud ning tehtud, et teadaolev adminiseanssi mõjutav XSS-viga ei jääks pikalt parandamata.

Üksnes uuendused ei taga kaitset ka sel nädalal kirjeldatud rünnaku eest. Aga kui haavatav plugin jääb alles ja samal ajal peidad hoolega sisselogimisaadressi, on järjekord vale. Alusta õigustest, 2FA-st ja teadaolevate vigade parandamisest.


Tee see kümne minuti kontroll täna

Ava Users ja loe administraatorid kokku. Kas tead iga inimese puhul, miks tal seda rolli vaja on? Seejärel ava kõrgemate õigustega kontode profiilid ja otsi rakenduseparoole, mida sa ei tunne. Viimaks kontrolli, et 2FA oleks sisse lülitatud ja kohustuslik nii igale administraatorile kui ka poehaldurile. Kui ei ole, alusta sellest täna.

Kui mõne kontrolli käigus tuleb välja konto, mille päritolu keegi selgitada ei oska, jäta tavaline korrastustöö pooleli. Uuri kõigepealt seda kontot.