Prijeđite na sadržaj

Postavke kolačića

Za svaku vrstu odaberite koje kolačiće dopuštate. Svoj odabir uvijek možete promijeniti putem poveznice Postavke kolačića na dnu svake stranice. Izjava o privatnosti

Nužni

Uvijek uključeni

Potrebni za prijavu, čuvanje košarice i pamćenje Vaših odabira. Uvijek su uključeni.

Koji kolačići?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša sesija i to da ostanete prijavljeni
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cijena s PDV-om ili bez njega
  • wok_cookies: Vaš odabir kolačića, 12 mjeseci

Mjeri koji oglas dovodi do posjeta ili narudžbe, kako ne bismo plaćali oglase koji ništa ne donose.

Koji kolačići?
  • Google Ads putem Google Tag Managera (_gcl_au, _gcl_aw), do 90 dana
  • OpenAI Ads, oglasi u ChatGPT-u
  • wok_aff: preko kojeg ste partnera došli k nama (partnerski program), 60 dana

4,6

Država i jezik

Svaka država ima vlastitu stranicu, s cijenama i PDV-om te države.

Pogledajte

Prijava: lozinke, dvofaktorska autentifikacija i brute force napadi

Modul 7: Sigurnost · Vrijeme čitanja: 9 minuta

Cilj učenja: Nakon ove lekcije moći ćete zaštititi prijavu na svoju web-stranicu jakim lozinkama, dvofaktorskom autentifikacijom i ograničavanjem pokušaja prijave, te ćete znati što je xmlrpc.php.

Ključni pojmovi: upravitelj lozinki, lozinka od više riječi (wachtzin), jedinstvena lozinka, dvofaktorska autentifikacija (2FA, TOTP), passkey, brute force napad, ograničavanje pokušaja prijave, wp-login.php na IP adresu, xmlrpc.php, korisnička imena koja procure (REST, ?author=), aplikacijske lozinke

Lozinka: duga i jedinstvena

Dobra lozinka ima dvije osobine:

  1. Duga: duljina je važnija od neobičnih znakova. Lozinka od četiri ili pet nasumičnih riječi (sito-pingvin-listopad-fenjer) jača je i lakše ju je zapamtiti nego W8w00rd!. Nizozemska vladina kampanja Veilig Internetten preporučuje jedinstvenu lozinku od najmanje 12 znakova, po mogućnosti u obliku rečenice sastavljene od više riječi.
  2. Jedinstvena: ne koristi se nigdje drugdje. Credential stuffing (lekcija 7.1) djeluje samo ako ponovno koristite istu lozinku.

Nitko ne pamti desetke dugih jedinstvenih lozinki. Zato koristite upravitelj lozinki: program koji ih za Vas izrađuje, pohranjuje i automatski unosi. Tada trebate zapamtiti samo jednu: lozinku za sam upravitelj, a nju dodatno zaštitite dvofaktorskom autentifikacijom.

Je li Vaša lozinka bila dio poznatog curenja podataka, možete provjeriti na haveibeenpwned.com. Ako se Vaša e-mail adresa pojavljuje u curenju podataka, promijenite lozinku kod svake usluge gdje ste koristili istu lozinku.

Dvofaktorska autentifikacija

Uz dvofaktorsku autentifikaciju (2FA) pri prijavi Vam je, uz lozinku, potrebno još nešto: obično šesteroznamenkasti kod iz aplikacije na Vašem telefonu (autentifikator, prema standardu TOTP). Napadač s Vašom lozinkom tada se još uvijek ne može prijaviti.

WordPress nema ugrađenu dvofaktorsku autentifikaciju. Dodajete je putem dodatka (plugin). Postoji ih mnogo; jednostavan je Two Factor, koji su izradili suradnici samog WordPressa. Sigurnosni dodaci (plugin) također je često sadrže. Pri odabiru obratite pažnju na:

  • TOTP aplikacije i sigurnosne (back-up) kodove (za slučaj da izgubite telefon); kodovi putem e-pošte su slabiji jer Vaš sandučić također može biti hakiran;
  • mogućnost da se autentifikacija učini obveznom za administratore i urednike;
  • passkeyeve: prijava otiskom prsta, licem ili sigurnosnim ključem, bez lozinke. I za to postoje dodaci (plugin). Passkeyevi su otporni na phishing jer rade samo na pravoj web-stranici.

Uključite dvofaktorsku autentifikaciju i na svemu oko Vaše web-stranice: hosting panelu, e-pošti, registru domena i upravitelju lozinki. Napadač koji preuzme Vaš hosting panel ne treba Vašu WordPress lozinku.

Brute force napadi i ograničavanje pokušaja prijave

Otvorena WordPress web-stranica cijeli dan prima pokušaje prijave na wp-login.php, često s korisničkim imenom admin i popisima najčešće korištenih lozinki. S dugom lozinkom i 2FA napadač se neće prijaviti, ali svaki pokušaj opterećuje Vaš poslužitelj (potpuno pokretanje WordPressa). Kod velikog vala pokušaja Vaša web-stranica postaje spora.

WordPress sam po sebi ne ograničava broj pokušaja. Pomažu, poredano prema tome koliko rano zaustavljaju napad:

  1. Na poslužitelju: mnogi hosting provideri blokiraju IP adresu koja u kratkom vremenu napravi mnogo neuspjelih pokušaja, prije nego što se WordPress uopće pokrene (putem vatrozida ili funkcije web poslužitelja). Pitajte svog hosting providera što se događa.
  2. wp-login.php samo za Vašu IP adresu: s nekoliko redaka u .htaccess datoteci (kod LiteSpeeda i Apachea):
<Files wp-login.php>
Require ip 192.0.2.10
</Files>

To dobro funkcionira ako imate fiksnu IP adresu. Ako je nemate (kod kuće, na telefonu), sami ćete se zaključati van kad se Vaša adresa promijeni. Alternativa je dodatna lozinka na stranici za prijavu ("zaštićena mapa", basic authentication) s drugom lozinkom od Vaše WordPress lozinke.

  1. Dodatak (plugin) koji ograničava pokušaje: nakon pet neuspjelih pokušaja IP adresa se neko vrijeme blokira. Djeluje, ali tek nakon što se WordPress već pokrenuo, pa opterećenje poslužitelja ostaje.

Skrivanje ili preimenovanje stranice za prijavu (na primjer /mijn-login umjesto /wp-login.php) smanjuje šum u Vašem zapisniku (log). To nije stvarna sigurnosna mjera, a neki dodaci (plugin) i teme očekuju standardnu adresu. U redu je kao dodatna mjera, ali nikada umjesto jake lozinke i 2FA.

xmlrpc.php

xmlrpc.php je stara poveznica iz vremena prije REST API-ja, preko koje aplikacije i druge web-stranice komuniciraju s WordPressom. Još je koriste neke aplikacije, Jetpack i nekoliko integracija. Za većinu web-stranica nepotrebna je.

Napadači vole xmlrpc.php jer putem njega u jednom zahtjevu mogu isprobati stotine lozinki odjednom (pomoću funkcije system.multicall), i jer se može zlouporabiti za napade na druge web-stranice (pingbackovi). Što možete učiniti:

  • Ako ga ne koristite: blokirajte ga. Neki hosting provideri, uključujući WebOké, standardno blokiraju xmlrpc.php na poslužitelju. Inače to možete učiniti pravilom u .htaccess datoteci ili sigurnosnim dodatkom (plugin).
  • Ako ga koristite (na primjer za aplikaciju kojoj je potreban): ostavite ga otvorenim, ali pobrinite se za jake lozinke, 2FA i ograničenje pokušaja. Moderne aplikacije obično koriste REST API s aplikacijskom lozinkom (lekcija 3.3).

Korisnička imena koja procure

U lekciji 3.3 vidjeli ste da WordPress prikazuje izvedenicu korisničkih imena:

  • https://example.com/?author=1 preusmjerava na /author/<ime>/;
  • https://example.com/wp-json/wp/v2/users prikazuje popis slugova svih koji su nešto objavili.

Je li to problem? Korisničko ime nije lozinka. S dugom jedinstvenom lozinkom i 2FA to malo utječe. No, napadaču to daje pola podataka za prijavu i olakšava ciljani phishing. Razumne mjere:

  • dajte administratorima korisničko ime koje nije njihovo javno ime, i ne objavljujte sadržaj s administratorskim računom (lekcija 3.3);
  • ograničite popis korisnika u REST API-ju sigurnosnim dodatkom (plugin) ili s nekoliko redaka koda, ako Vam nije potreban. Ne zatvarajte REST API u potpunosti: blok uređivač i mnogi dodaci (plugin) ga trebaju.

Aplikacijske lozinke

Aplikacijske lozinke (lekcija 3.3) sigurna su metoda za davanje pristupa aplikaciji ili sustavu, ali zaobilaze Vašu dvofaktorsku autentifikaciju: aplikaciji s aplikacijskom lozinkom nije potreban kod. Izrađujte ih samo kad je nužno, na računu s niskom ulogom, i opozovite ih kad integraciju više ne koristite.

Sažetak

  • Koristite duge, jedinstvene lozinke (lozinke od više riječi) u upravitelju lozinki.
  • Uključite dvofaktorsku autentifikaciju, dodatkom (plugin) u WordPressu, a i na hosting panelu, e-pošti i kod registra domena.
  • Zaustavljajte pokušaje prijave što ranije: na poslužitelju, pravilom za IP adresu ili dodatnom lozinkom, ili dodatkom (plugin).
  • Blokirajte xmlrpc.php ako ga ne koristite.
  • Procurjela korisnička imena nisu katastrofa, ali su upozorenje: ne objavljujte kao administrator i ograničite popis korisnika u REST API-ju ako Vam nije potreban.

Kviz

1. Koja je lozinka najjača?



2. Zašto je xmlrpc.php popularan među napadačima?



3. Ograničili ste wp-login.php na IP adresu Vašeg ureda. Koji je rizik?



4. Je li preimenovanje stranice za prijavu u tajnu adresu dovoljna sigurnosna mjera?



Zadatak

Zadatak A7.3: Što Vaša web-stranica pokazuje prilikom prijave? Unesite adresu svoje web-stranice i dokažite da je riječ o Vašoj vlastitoj web-stranici (pomoću koda zadatka, kao TXT zapis ili kao datoteka). Program provjerava tri stvari: vraća li xmlrpc.php popis funkcija (otvoreno) ili je blokiran, prikazuje li /wp-json/wp/v2/users korisnička imena (slugove), i kamo preusmjerava /?author=1. Navedite trebate li xmlrpc.php; ako ne trebate, otvoreni xmlrpc.php bit će prikazan crveno. Procurjeli slugovi prikazani su narančasto uz objašnjenje.

Zadatak A7.3: Što Vaša web-stranica otkriva prilikom prijave?

Ova provjera dohvaća putanje koje provjeravate samo na Vašoj vlastitoj web-stranici. Prvo kliknite na "Prikaži moj kod" i postavite taj kod kao TXT zapis na _weboke-cursus.<vaša domena> ili kao datoteku na svojoj web-stranici (pogledajte objašnjenje uz kod).



Ono što unesete i što pronađemo ne spremamo. Vaš preglednik pamti Vaše odgovore i je li zadatak položen. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak (gotovo) uspješno riješili; ondje to možete i izbrisati.

Zadatak D7.3: Uključivanje dvofaktorske autentifikacije. Uključite dvofaktorsku autentifikaciju za sve administratore Vaše WordPress web-stranice, kao i na svom hosting panelu i e-pošti. Pohranite sigurnosne (back-up) kodove u svoj upravitelj lozinki. Za svaki dio označite da je uključen i zabilježite koju metodu koristite (aplikacija, passkey, e-pošta) te gdje se nalaze sigurnosni (back-up) kodovi. Zabilježite i kako dodatno štitite wp-login.php te zašto ste odabrali taj način.

Zadatak D7.3: Uključivanje dvofaktorske autentifikacije

Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.




Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.

Dodatno čitanje

Ovi članci opisuju korake u panelima WebOké; u drugim panelima postupak je sličan.

Trenutak…

Postavite svoje domene

Za svaku domenu odredite nameservere, povezivanje s hostingom i tko postaje vlasnik.

Učitavanje Vaših domena…