Preskoči na vsebino

Nastavitve piškotkov

Za vsako vrsto izberite, katere piškotke dovolite. Svojo izbiro lahko kadar koli spremenite prek povezave Nastavitve piškotkov na dnu vsake strani. Izjava o zasebnosti

Nujni

Vedno vklopljeno

Potrebni so za prijavo, shranjevanje košarice in pomnjenje Vaših izbir. Vedno so vklopljeni.

Kateri piškotki?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša seja in ohranjanje prijave
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cen z DDV ali brez DDV
  • wok_cookies: Vaša izbira glede piškotkov, 12 mesecev

Meri, kateri oglas vodi do obiska ali naročila, da ne plačujemo za oglase, ki ne prinesejo ničesar.

Kateri piškotki?
  • Google Ads prek Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, oglasi v ChatGPT
  • wok_aff: prek katerega partnerja ste prišli k nam (partnerski program), 60 dni

4,6

Država in jezik

Vsaka država ima svojo spletno stran, s cenami in DDV za to državo.

Prikaži

Prijava: gesla, dvostopenjsko preverjanje in brute force

Modul 7: Varnost · Čas branja: 9 minut

Učni cilj: Po tej lekciji boste znali zaščititi prijavo v Vaše spletno mesto z močnimi gesli, dvostopenjskim preverjanjem in omejitvijo poskusov prijave, in boste vedeli, kaj je xmlrpc.php.

Ključni pojmi: upravitelj gesel, geselna fraza, edinstveno geslo, dvostopenjsko preverjanje (2FA, TOTP), passkey, brute force, omejitev poskusov prijave, wp-login.php na IP-naslovu, xmlrpc.php, uhajanje uporabniških imen (REST, ?author=), aplikacijska gesla

Geslo: dolgo in edinstveno

Dobro geslo ima dve lastnosti:

  1. Dolgo: dolžina šteje bolj kot nenavadni znaki. Geselna fraza štirih ali petih naključnih besed (zeef-pinguin-oktober-lantaarn) je močnejša in si jo je lažje zapomniti kot W8w00rd!. Nizozemska vladna kampanja Veilig Internetten priporoča edinstveno geslo iz vsaj 12 znakov, po možnosti geselno frazo.
  2. Edinstveno: nikjer drugje uporabljeno. Credential stuffing (lekcija 7.1) deluje le, če geslo ponovno uporabljate.

Nihče si ne zapomni na desetine dolgih edinstvenih gesel. Zato uporabite upravitelja gesel: program, ki jih ustvari, shrani in vnese namesto Vas. Tako si morate zapomniti le eno geslo, torej geslo samega upravitelja, in tudi to zaščitite z dvostopenjskim preverjanjem.

Ali je geslo del znanega uhajanja podatkov, lahko preverite na haveibeenpwned.com. Če je Vaš e-poštni naslov v uhajanju, spremenite geslo pri vsaki storitvi, kjer ste uporabljali isto geslo.

Dvostopenjsko preverjanje

Pri dvostopenjskem preverjanju (2FA) ob prijavi poleg gesla potrebujete še nekaj: običajno šestmestno kodo iz aplikacije na telefonu (avtentikator, po standardu TOTP). Vlomilec z Vašim geslom tako še vedno ne pride notri.

WordPress nima vgrajenega dvostopenjskega preverjanja. Dodate ga z vtičnikom. Obstaja jih veliko; preprost je Two Factor, ki so ga izdelali sodelavci pri samem projektu WordPress. Tudi varnostni vtičniki ga pogosto vključujejo. Pri izbiri bodite pozorni na:

  • aplikacije TOTP in rezervne kode (za primer izgube telefona); kode po e-pošti so šibkejše, ker je lahko tudi Vaš e-poštni predal vdrt;
  • možnost, da je preverjanje obvezno za skrbnike in urednike;
  • passkey: prijava s prstnim odtisom, obrazom ali varnostnim ključem, brez gesla. Tudi za to obstajajo vtičniki. Passkey so odporni na lažno predstavljanje (phishing), ker delujejo samo na pravem spletnem mestu.

Vklopite dvostopenjsko preverjanje tudi na vsem, kar je okoli Vašega spletnega mesta: v nadzorni plošči za gostovanje, e-pošti, pri registrarju in v upravitelju gesel. Vlomilec, ki prevzame Vašo nadzorno ploščo za gostovanje, ne potrebuje Vašega gesla za WordPress.

Brute force in omejevanje poskusov prijave

Odprto spletno mesto WordPress ves dan prejema poskuse prijave na wp-login.php, pogosto z uporabniškim imenom admin in seznami pogosto uporabljenih gesel. Z dolgim geslom in 2FA ne pridejo notri, vendar vsak poskus stane Vaš strežnik računsko moč (celoten zagon WordPressa). Pri velikem valu poskusov Vaše spletno mesto postane počasno.

WordPress sam ne omejuje števila poskusov. Kar pomaga, v vrstnem redu od "ustavi čim prej":

  1. Na strežniku: veliko ponudnikov gostovanja blokira IP-naslov, ki v kratkem času opravi veliko neuspelih poskusov, še preden se WordPress zažene (z požarnim zidom ali funkcijo spletnega strežnika). Vprašajte svojega ponudnika gostovanja, kaj se dogaja.
  2. wp-login.php samo za Vaš IP-naslov: z nekaj vrsticami v .htaccess (pri LiteSpeed in Apache):
<Files wp-login.php>
Require ip 192.0.2.10
</Files>

To dobro deluje, če imate stalen IP-naslov. Če ga nimate (doma, na telefonu), se lahko sami zaklenete zunaj, ko se Vaš naslov spremeni. Alternativa je dodatno geslo na strani za prijavo ("zaščitena mapa", osnovna avtentikacija) z drugačnim geslom kot je Vaše geslo za WordPress.

  1. Vtičnik, ki omejuje poskuse: po petih neuspelih poskusih je IP-naslov za nekaj časa blokiran. Deluje, vendar šele ko WordPress že teče, zato računsko delo ostane.

Skrivanje ali preimenovanje strani za prijavo (na primer /mojprijava namesto /wp-login.php) zmanjša šum v Vašem dnevniku. Ni prava zaščita in nekateri vtičniki in teme pričakujejo privzeti naslov. V redu kot dodatek, nikoli namesto dobrega gesla in 2FA.

xmlrpc.php

xmlrpc.php je stara povezava iz časa pred REST API, prek katere aplikacije in druga spletna mesta komunicirajo z WordPressom. Še vedno jo uporabljajo nekatere aplikacije, Jetpack in nekaj povezav. Za večino spletnih mest je odveč.

Vlomilci imajo radi xmlrpc.php, ker lahko v enem samem zahtevku poskusijo stotine gesel hkrati (s funkcijo system.multicall), in ker jo je mogoče zlorabiti za napade na druga spletna mesta (pingback). Kaj storite:

  • Je ne uporabljate: jo blokirajte. Nekateri ponudniki gostovanja, med njimi WebOké, privzeto blokirajo xmlrpc.php na strežniku. Sicer z vrstico v .htaccess ali z varnostnim vtičnikom.
  • Jo uporabljate (na primer za aplikacijo, ki jo potrebuje): pustite jo odprto, vendar poskrbite za močna gesla, 2FA in omejitev poskusov. Sodobne aplikacije praviloma uporabljajo REST API z aplikacijskim geslom (lekcija 3.3).

Uhajanje uporabniških imen

V lekciji 3.3 ste videli, da WordPress prikaže izpeljanko iz uporabniških imen:

  • https://example.com/?author=1 preusmeri na /author/<ime>/;
  • https://example.com/wp-json/wp/v2/users prikaže seznam slugov vseh, ki so kaj objavili.

Je to hudo? Uporabniško ime ni geslo. Z dolgim edinstvenim geslom in 2FA to malo spremeni. Vendar daje vlomilcu polovico prijavnih podatkov in olajša ciljno usmerjeno lažno predstavljanje (phishing). Razumni ukrepi:

  • skrbnikom dajte uporabniško ime, ki ni enako njihovemu javnemu imenu, in ne objavljajte z računom skrbnika (lekcija 3.3);
  • omejite seznam uporabnikov v REST API z varnostnim vtičnikom ali nekaj vrsticami kode, če ga ne potrebujete. REST API ne zapirajte popolnoma: urejevalnik blokov in veliko vtičnikov ga potrebuje.

Aplikacijska gesla

Aplikacijska gesla (lekcija 3.3) so varen način za dostop aplikacije ali sistema, vendar obidejo Vaše dvostopenjsko preverjanje: aplikacija z aplikacijskim geslom ne potrebuje kode. Ustvarite jih samo, kadar je to res potrebno, na računu z nizko vlogo, in jih prekličite, ko povezave ne uporabljate več.

Povzetek

  • Uporabljajte dolga, edinstvena gesla (geselne fraze) v upravitelju gesel.
  • Vklopite dvostopenjsko preverjanje, z vtičnikom v WordPressu ter tudi v nadzorni plošči za gostovanje, e-pošti in pri registrarju.
  • Poskuse prijave ustavite čim prej: na strežniku, s pravilom IP ali dodatnim geslom, ali z vtičnikom.
  • Blokirajte xmlrpc.php, če je ne uporabljate.
  • Uhajanje uporabniških imen ni katastrofa, je pa opozorilo: ne objavljajte kot skrbnik in omejite seznam uporabnikov v REST API, če ga ne potrebujete.

Kviz

1. Katero geslo je najmočnejše?



2. Zakaj je xmlrpc.php priljubljena med vlomilci?



3. Stran wp-login.php vežete na IP-naslov Vaše pisarne. Kakšno je tveganje?



4. Ali je preimenovanje strani za prijavo v skrivni naslov zadostna zaščita?



Naloga

Naloga A7.3: Kaj Vaše spletno mesto pošlje drugim? Vnesite naslov Vašega spletnega mesta in dokažite, da je to Vaše spletno mesto (s kodo naloge, kot zapis TXT ali kot datoteka). Program preveri tri stvari: ali xmlrpc.php vrne seznam funkcij (odprto) ali je blokirana, ali /wp-json/wp/v2/users prikaže uporabniška imena (sluge), in kam preusmeri /?author=1. Navedite, ali potrebujete xmlrpc.php; če ne, je odprta xmlrpc.php rdeča. Razkrite sluge so oranžne z razlago.

Naloga A7.3: Kaj razkrije Vaše spletno mesto ob prijavi?

Ta preverba zahteva poti, ki jih omogočite le za preverjanje lastnega spletnega mesta. Najprej kliknite »Prikaži mojo kodo« in to kodo nastavite kot zapis TXT na _weboke-cursus.<vaša domena> ali kot datoteko na svojem spletnem mestu (glejte razlago ob kodi).



Tega, kar vnesete, in tega, kar najdemo, ne shranjujemo. Vaš brskalnik si zapomni Vaše odgovore in to, ali ste nalogo opravili. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo (skoraj) pravilno opravili; tudi to lahko tam izbrišete.

Naloga D7.3: Vklopite dvostopenjsko preverjanje. Vklopite dvostopenjsko preverjanje za vse skrbnike Vašega spletnega mesta WordPress, pa tudi v nadzorni plošči za gostovanje in pri e-pošti. Rezervne kode shranite v upravitelju gesel. Za vsak del označite, da je vklopljen, in zapišite, katero metodo uporabljate (aplikacija, passkey, e-pošta) in kje so shranjene rezervne kode. Zapišite tudi, kako dodatno zaščitite wp-login.php in zakaj ste izbrali ta način.

Naloga D7.3: Vklopite dvostopenjsko preverjanje

To nalogo opravite sami; nihče je ne pregleda. Odkljukajte, kar ste naredili, in nalogo označite kot opravljeno.




Vaše kljukice in zapiski ostanejo samo v tem brskalniku, nikamor jih ne pošiljamo. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo opravili.

Dodatno branje

Ti članki opisujejo korake v nadzornih ploščah WebOké; v drugih nadzornih ploščah delujejo podobno.

Trenutek…

Nastavite svoje domene

Za vsako domeno uredite imenske strežnike, povezavo z gostovanjem in kdo bo imetnik.

Nalaganje Vaših domen…