Mine sisu juurde

Küpsiste seaded

Vali iga liigi kohta, milliseid küpsiseid lubad. Oma valikut saad alati muuta iga lehe allosas oleva lingi „Küpsiste seaded“ kaudu. Privaatsuspoliitika

Vajalikud

Alati sees

Vajalikud sisselogimiseks, ostukorvi säilitamiseks ja sinu valikute meelespidamiseks. Need on alati sees.

Millised küpsised?
  • weboke_sessie, weboke_klant, weboke_remember: sinu seanss ja sisselogituks jäämine
  • weboke_basket: sinu ostukorv
  • wkBtwIncl: hindade näitamine koos käibemaksuga või ilma
  • wok_cookies: sinu küpsisevalik, 12 kuud

Mõõdab, milline reklaam viib külastuse või tellimuseni, et me ei maksaks reklaamide eest, mis midagi ei anna.

Millised küpsised?
  • Google Ads Google Tag Manageri kaudu (_gcl_au, _gcl_aw), kuni 90 päeva
  • OpenAI Ads, reklaamid ChatGPT-s
  • wok_aff: millise partneri kaudu meie juurde jõudsid (partnerprogramm), 60 päeva

4,6

Riik ja keel

Igal riigil on oma sait, selle riigi hindade ja käibemaksuga.

Vaata

Sisselogimine: paroolid, kaheastmeline autentimine ja brute force

Moodul 7: Turvalisus · Lugemisaeg: 9 minutit

Õpieesmärk: pärast seda õppetundi oskad oma saidi sisselogimist kaitsta tugevate paroolide, kaheastmelise autentimise ja sisselogimiskatsete piiramisega, ning tead, mis on xmlrpc.php.

Põhimõisted: paroolihaldur, paroolifraas, unikaalne parool, kaheastmeline autentimine (2FA, TOTP), passkey, brute force, sisselogimiskatsete piiramine, wp-login.php IP-aadressi järgi, xmlrpc.php, lekkinud kasutajanimed (REST, ?author=), rakenduse paroolid

Parool: pikk ja unikaalne

Heal paroolil on kaks omadust:

  1. Pikk: pikkus loeb rohkem kui kummalised märgid. Paroolifraas neljast või viiest juhuslikust sõnast (sõel-pingviin-oktoober-latern) on tugevam ja kergemini meeldejääv kui W8w00rd!. Soovita kasutada unikaalset vähemalt 12 märgist koosnevat parooli, eelistatavalt paroolifraasi.
  2. Unikaalne: ei kasutata kuskil mujal. Credential stuffing (õppetund 7.1) toimib ainult siis, kui kasutad parooli korduvalt.

Keegi ei pea meeles kümneid pikki unikaalseid paroole. Kasuta seetõttu paroolihaldurit: programmi, mis loob, säilitab ja täidab need sinu eest. Siis pead meeles pidama ainult ühte parooli, selle halduri enda oma, ja ka selle kaitsed kaheastmelise autentimisega.

Kas sinu parool esineb mõnes tuntud andmelekkes, saad kontrollida saidilt haveibeenpwned.com. Kui sinu e-posti aadress on lekke nimekirjas, muuda parool ära igas teenuses, kus sa sama parooli kasutasid.

Kaheastmeline autentimine

Kui kasutad kaheastmelist autentimist (2FA), vajad sisselogimisel lisaks paroolile veel midagi: tavaliselt kuuekohalist koodi telefoni rakendusest (autentikaator, mis järgib TOTP standardit). Sissetungija, kellel on sinu parool, ei pääse siis ikkagi sisse.

WordPressil pole sisseehitatud kaheastmelist autentimist. Lisad selle pluginaga. Valikuid on palju, lihtne näide on Two Factor, mille on teinud WordPressi enda kaastöötajad. Ka turvapluginatel on see sageli kaasas. Valides jälgi:

  • TOTP-rakendusi ja varukoode (juhuks kui telefon kaob); e-posti teel saadetavad koodid on nõrgemad, kuna ka postkast võib häkitud saada;
  • võimalust kohustada seda administraatoritele ja toimetajatele;
  • passkey: sisselogimine sõrmejälje, näotuvastuse või turvavõtmega, ilma paroolita. Ka selleks on pluginaid. Passkey on kaitstud õngitsuse eest, kuna see töötab ainult ehtsal saidil.

Lülita kaheastmeline autentimine sisse ka kõigel, mis on sinu saidi ümber: majutuspaneelis, e-postis, domeenihalduris ja paroolihalduris. Sissetungija, kes saab ligipääsu sinu majutuspaneelile, ei vaja sinu WordPressi parooli.

Brute force ja sisselogimiskatsete piiramine

Avatud WordPressi sait saab terve päeva sisselogimiskatseid aadressile wp-login.php, tihti kasutajanimega admin ja levinud paroolide nimekirjadega. Pika parooli ja 2FA-ga nad sisse ei pääse, kuid iga katse koormab su serverit (täielik WordPressi käivitamine). Suure laine korral muutub sait aeglaseks.

WordPress ise katsete arvu ei piira. Mis aitab, "varajase peatamise" järjekorras:

  1. Serveris: paljud majutajad blokeerivad IP-aadressi, mis teeb lühikese aja jooksul palju ebaõnnestunud katseid, juba enne WordPressi käivitumist (tulemüüri või veebiserveri funktsiooniga). Küsi oma majutajalt, mida tehakse.
  2. wp-login.php ainult sinu IP-aadressile: paari reaga failis .htaccess (LiteSpeedi ja Apache puhul):
<Files wp-login.php>
Require ip 192.0.2.10
</Files>

See toimib hästi, kui sul on fikseeritud IP-aadress. Kui seda pole (kodus, telefonis), lukustad end ise välja, kui su aadress muutub. Alternatiiv on lisaparool sisselogimislehel ("kaitstud kaust", basic authentication) teistsuguse parooliga kui su WordPressi parool.

  1. Plugin, mis piirab katseid: pärast viit ebaõnnestunud katset blokeeritakse IP-aadress mõneks ajaks. Toimib, aga alles siis, kui WordPress juba töötab, seega arvutuskoormus jääb.

Sisselogimislehe peitmine või ümbernimetamine (näiteks /mijn-login asemel /wp-login.php) vähendab müra sinu logis. See ei ole tõeline turvameede ning mõned pluginad ja teemad eeldavad vaikimisi aadressi. Sobib lisana, mitte kunagi hea parooli ja 2FA asemel.

xmlrpc.php

xmlrpc.php on vana liides ajast enne REST API-t, mille kaudu rakendused ja teised saidid WordPressiga suhtlevad. Seda kasutavad veel mõned rakendused, Jetpack ja paar liidest. Enamiku saitide jaoks on see ülearune.

Sissetungijad armastavad xmlrpc.php-d, sest ühe päringuga saab korraga proovida sadu paroole (funktsiooniga system.multicall), ja kuna seda saab kuritarvitada rünnakuteks teiste saitide vastu (pingback'id). Mida teha:

  • Kui sa seda ei kasuta: blokeeri see. Mõned majutajad, sealhulgas WebOké, blokeerivad xmlrpc.php serveris vaikimisi. Muidu reaga failis .htaccess või turvapluginaga.
  • Kui sa seda kasutad (näiteks rakenduse jaoks, mis seda vajab): jäta see avatuks, kuid taga tugevad paroolid, 2FA ja katsete piiramine. Kaasaegsed rakendused kasutavad tavaliselt REST API-t rakenduse parooliga (õppetund 3.3).

Lekkinud kasutajanimed

Õppetunnis 3.3 nägid, et WordPress näitab kasutajanimedest tuletatud infot:

  • https://example.com/?author=1 suunab ümber aadressile /author/<nimi>/;
  • https://example.com/wp-json/wp/v2/users näitab nimekirja kõigi slugidest, kes on midagi avaldanud.

Kas see on paha? Kasutajanimi ei ole parool. Pika unikaalse parooli ja 2FA-ga ei muuda see suurt midagi. Aga see annab sissetungijale poole sisselogimisandmetest ja muudab suunatud õngitsuse lihtsamaks. Mõistlikud meetmed:

  • anna administraatoritele kasutajanimi, mis erineb nende avalikust nimest, ja ära avalda sisu administraatori kontoga (õppetund 3.3);
  • piira kasutajate nimekirja REST API-s turvapluginaga või mõne koodireaga, kui sa seda ei vaja. Ära sulge REST API-t täielikult: plokiredaktor ja paljud pluginad vajavad seda.

Rakenduse paroolid

Rakenduse paroolid (õppetund 3.3) on turvaline viis anda rakendusele või süsteemile ligipääs, kuid need mööduvad sinu kaheastmelisest autentimisest: rakendusele, millel on rakenduse parool, ei ole koodi vaja. Loo neid ainult vajadusel, madala rolliga kontole, ning tühista need, kui sa ühendust enam ei kasuta.

Kokkuvõte

  • Kasuta pikki, unikaalseid paroole (paroolifraase) paroolihalduris.
  • Lülita sisse kaheastmeline autentimine, pluginaga WordPressis ning ka oma majutuspaneelis, e-postis ja domeenihalduris.
  • Peata sisselogimiskatsed võimalikult vara: serveris, IP-reegliga või lisaparooliga, või pluginaga.
  • Blokeeri xmlrpc.php, kui sa seda ei kasuta.
  • Lekkinud kasutajanimed ei ole katastroof, aga vihje: ära avalda sisu administraatorina ja piira REST-kasutajate nimekirja, kui sa seda ei vaja.

Test (quiz)

1. Milline parool on kõige tugevam?



2. Miks on xmlrpc.php sissetungijate seas populaarne?



3. Lukustad wp-login.php oma kontori IP-aadressile. Mis on risk?



4. Kas sisselogimislehe nime muutmine salajaseks aadressiks on piisav turvameede?



Ülesanne

Ülesanne A7.3: Mida su sait sisselogimisel paljastab? Sisesta oma saidi aadress ja tõenda, et see on sinu enda sait (ülesande koodiga, TXT-kirjena või failina). Programm kontrollib kolme asja: kas xmlrpc.php tagastab funktsioonide nimekirja (avatud) või on blokeeritud, kas /wp-json/wp/v2/users näitab kasutajanimesid (slugisid) ja kuhu suunab /?author=1. Märgi, kas vajad xmlrpc.php-d; kui ei, siis avatud xmlrpc.php näidatakse punasena. Lekkinud slugid näidatakse oranžina koos selgitusega.

Ülesanne A7.3: Mida sinu veebisait sisselogimisel paljastab?

See kontroll pärib andmeid, mida saad kontrollida ainult oma veebisaidi juures. Kliki esmalt „Näita minu koodi“ ja lisa see kood TXT-kirjena domeenile _weboke-cursus.<sinu domeen> või failina oma veebisaidile (vaata koodi juures olevat selgitust).



Seda, mida sisestad, ja mida leiame, me ei salvesta. Su brauser jätab meelde su vastused ja selle, kas sooritasid ülesande. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et sul oli ülesanne (peaaegu) õige; ka selle saad sealt kustutada.

Ülesanne D7.3: Kaheastmelise autentimise sisselülitamine. Lülita kaheastmeline autentimine sisse kõigile oma WordPressi saidi administraatoritele ning ka oma majutuspaneelis ja e-postis. Hoia varukoodid oma paroolihalduris. Märgi iga osa kohta, et see on sisse lülitatud, ning kirjuta üles, millist meetodit kasutad (rakendus, passkey, e-post) ja kus varukoodid asuvad. Kirjuta üles ka, kuidas kaitsed wp-login.php-d lisaks ja miks valisid just selle viisi.

Ülesanne D7.3: Kaheastmelise autentimise sisselülitamine

Selle ülesande teed ise, keegi ei kontrolli seda. Märgi ära, mida tegid, ja märgi ülesanne tehtuks.




Su linnukesed ja märkmed jäävad ainult sellesse brauserisse, me ei saada neid kuhugi. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et tegid ülesande ära.

Lisalugemist

Need artiklid kirjeldavad samme WebOké paneelides; teistes paneelides toimivad need sarnaselt.

Hetk…

Seadista oma domeenid

Määra iga domeeni jaoks nimeserverid, seos sinu majutusega ja kes saab omanikuks.

Laadin sinu domeene…