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

Vaša web stranica: https, HSTS i sigurnosna zaglavlja

Modul 4: E-pošta, web stranica i domena · Vrijeme čitanja: 11 minuta

Cilj učenja: Nakon ove lekcije moći ćete provjeriti osnovnu sigurnost svoje web stranice: valjani certifikat, preusmjeravanje na https, HSTS s dobrim max-age, najvažnija sigurnosna zaglavlja i ažuriranje Vašeg CMS-a.
Ključni pojmovi: TLS certifikat, https, preusmjeravanje na https, HSTS, max-age, includeSubDomains, preload, HTTP zaglavlje, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Što se događa kad netko otvori Vašu stranicu

Kad klijent u adresnu traku upiše example.com, preglednik zatraži stranicu od Vašeg web poslužitelja. Ta komunikacija odvija se putem HTTP-a. Kod https ta je veza šifrirana: TLS. Za to je Vašoj web stranici potreban TLS certifikat (često se još naziva SSL certifikat). Certifikat dokazuje da poslužitelj doista pripada domeni example.com, a šifriranje osigurava da nitko usput ne može čitati ili mijenjati podatke. To je važno na javnom Wi-Fi-ju, gdje ne znate tko upravlja mrežom (lekcija 5.3).

Uz svaki odgovor poslužitelj, osim same stranice, šalje i niz zaglavlja: kratke retke s informacijama i uputama za preglednik. Njih ne vidite na zaslonu, ali uvelike određuju koliko sigurno preglednik postupa s Vašom stranicom. Dio tih zaglavlja čine sigurnosna zaglavlja. U ovoj lekciji proći ćemo kroz četiri razine: certifikat, preusmjeravanje, HSTS i zaglavlja. Zatim ćemo ukratko pogledati ažuriranje same web stranice.

Razina 1: valjani certifikat

Certifikat je ispravan ako zadovoljava tri uvjeta:

  1. nije istekao;
  2. izdao ga je pouzdani izdavatelj (certifikacijsko tijelo koje preglednici prepoznaju, poput Let's Encrypt ili komercijalnog pružatelja);
  3. vrijedi za točno onaj naziv koji posjetitelj otvara: example.com i www.example.com ako koristite oba.

Gotovo svaki pružatelj hostinga danas automatski osigurava besplatan certifikat koji se sam obnavlja. Ako nešto krene po zlu, obično je razlog taj što naziv domene pokazuje na drugi poslužitelj, ili što CAA zapis blokira izdavatelja (lekcija 4.3).

Važno je znati: lokot u adresnoj traci ništa ne govori o pouzdanosti stranice. On samo znači da je veza šifrirana i da certifikat odgovara nazivu u adresnoj traci. Phishing stranice na mijnbank-veilig.example jednako tako imaju lokot. Zato u lekciji 3.2 učite kako čitati domenu.

Razina 2: uvijek preusmjeriti na https

Sam certifikat nije dovoljan. Tko otvori http://example.com, primjerice putem starog poveznice ili jednostavnim upisivanjem naziva, mora automatski biti preusmjeren na https verziju. To se naziva preusmjeravanje (redirect, obično sa statusnim kodom 301).

Ispravan redoslijed izgleda ovako:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (samo ako www koristite kao glavnu adresu)
http://www.example.com  ->  https://www.example.com

Obratite pažnju na prvi redak: s http prvo preusmjerite na https na istom nazivu, tek zatim eventualno na www. Tako preglednik može primiti HSTS uputu i na goloj domeni. Internet.nl upravo to provjerava.

Česta je pogreška dvostruko preusmjeravanje: u hosting panelu i u dodatku (pluginu) ili u .htaccess datoteci. To može izazvati beskonačnu petlju ("previše preusmjeravanja"). Koristite samo jedno mjesto.

Razina 3: HSTS

Preusmjeravanje ima slabu točku: sam prvi zahtjev još uvijek ide nešifrirano putem http-a. Napadač na istoj mreži može presresti upravo taj zahtjev i zadržati posjetitelja na lažnoj, nešifriranoj verziji. Za to postoji HSTS (HTTP Strict Transport Security, RFC 6797).

Uz HSTS Vaša stranica putem https-a šalje zaglavlje:

Strict-Transport-Security: max-age=31536000; includeSubDomains

Preglednik tada pamti: "ovu stranicu otvaraj isključivo putem https-a, sljedećih 31.536.000 sekundi (godinu dana)". Ako posjetitelj kasnije upiše http://example.com, preglednik sam to pretvara u https, prije nego što bilo što ode preko mreže. Slabi prvi zahtjev time otpada.

DioZnačenje
max-age=Koliko dugo preglednik pamti uputu, u sekundama. Internet.nl smatra dovoljnim najmanje godinu dana (max-age=31536000); kratko razdoblje ne štiti osobe koje Vašu stranicu posjećuju samo povremeno.
includeSubDomainsVrijedi i za sve poddomene, poput shop.example.com i mail.example.com.
preloadTražite uvrštenje u popis ugrađen u preglednike (hstspreload.org). Tada je zaštićen čak i prvi posjet. Uvjeti uključuju: max-age od najmanje godinu dana, includeSubDomains i sve poddomene na https-u. Uklanjanje s popisa traje dugo.
max-age=0Briše zapamćenu uputu.

Tri stvari koje morate znati prije nego što uključite HSTS:

  • Https prvo mora raditi posvuda. Preglednik koji je zapamtio HSTS, a naiđe na grešku certifikata, posjetitelju ne nudi gumb za nastavak unatoč tome (RFC 6797, odlomak 12.1). Ako Vaš certifikat istekne ili ne odgovara za www, stranica postaje nedostupna tim posjetiteljima dok se problem ne riješi.
  • includeSubDomains utječe na sve ispod Vaše domene. Stara poddomena bez certifikata, primjerice stranica pisača ili kamere na camera.example.com, nakon toga više se ne može otvoriti.
  • Gradite postupno. Počnite s kratkim max-age (primjerice jedan dan), provjerite radi li sve ispravno, pa postupno povećavajte do godinu dana. Kod svakog koraka pričekajte da prođe cijelo razdoblje.

HSTS zaglavlje koje stigne putem običnog http-a preglednik zanemaruje. Vidjet ćete ga, dakle, samo u https odgovoru.

Razina 4: sigurnosna zaglavlja

Osim HSTS-a postoji nekoliko zaglavlja koja pregledniku govore što smije, a što ne smije činiti s Vašim stranicama. Ne morate ih sve imati savršeno postavljene, no prva tri jednostavna su i bez rizika.

ZaglavljeProtiv čegaDobra vrijednost
X-Content-Type-OptionsPreglednik sam nagađa što je neka datoteka, zbog čega se učitana "slika" može izvršiti kao skripta.nosniff (jedina valjana vrijednost)
Content-Security-Policy: frame-ancestors ... ili X-Frame-OptionsClickjacking: druga stranica nevidljivo učitava Vašu stranicu u okviru (frame) i navodi posjetitelje da neprimjetno kliknu na Vaše gumbe.frame-ancestors 'self' ili 'none'; starije zaglavlje X-Frame-Options: SAMEORIGIN ili DENY
Referrer-PolicyKod klika na drugu stranicu preglednik šalje adresu prethodne stranice. U njoj se mogu nalaziti osjetljivi podaci, poput pojma za pretraživanje ili broja narudžbe.no-referrer ili same-origin (strogo), strict-origin-when-cross-origin (uobičajeno, internet.nl ovdje daje upozorenje)
Content-Security-Policy (potpuna)Ograničava s kojih se mjesta smiju učitavati skripte, stilovi i slike. Znatno otežava ubacivanje zlonamjernih skripti (XSS).Prilagođava se svakoj stranici posebno. Izbjegavajte unsafe-inline, unsafe-eval i zamjenske znakove (wildcards).

Potpuna Content-Security-Policy najsnažnija je, ali i najsloženija: prestrogo pravilo može pokvariti Vašu statistiku, gumb za plaćanje ili prozor za chat. Varijantom Content-Security-Policy-Report-Only možete najprije izmjeriti što bi bilo blokirano, bez da bilo što pokvarite. To prepustite svom izrađivaču web stranice, ili počnite samo s frame-ancestors.

Samostalni pregled zaglavlja

Otvorite svoju stranicu u pregledniku, pritisnite F12 (ili odaberite "Inspektiraj"), idite na karticu Mreža (Network), ponovno učitajte stranicu i kliknite na prvi zahtjev. Pod "Odgovor zaglavlja" (Response Headers) vidite sve što poslužitelj šalje. To je moguće i putem naredbenog retka:

curl -sI https://example.com/

Sama web stranica: CMS, dodaci i teme

Najbolja zaglavlja ne pomažu ako je softver iza Vaše stranice ranjiv. Većina hakiranih stranica malih poduzeća nije probijena preko web poslužitelja, nego putem zastarjelog dodatka (plugina), teme koja se godinama ne ažurira, ili slabe administratorske lozinke.

  • Uključite automatska ažuriranja za Vaš CMS (primjerice WordPress, Joomla ili drugi sustav) i za dodatke gdje je to moguće.
  • Uklonite dodatke i teme koje ne koristite; onemogućeno nije dovoljno, datoteke i dalje postoje na poslužitelju.
  • Za administratorsku prijavu koristite jaku, jedinstvenu lozinku i dvofaktorsku autentifikaciju (modul 2), te ograničite broj pokušaja prijave.
  • Držite verziju PHP-a (ili drugog jezika) Vašeg paketa na verziji koja još prima ažuriranja (lekcija 5.1).

U praksi: ovako to izgleda

U DirectAdmin, panelu koji koristi WebOké, kod svoje domene najprije uključite Secure SSL, a zatim Force SSL with https redirect. Na istom se mjestu nalazi prekidač za HSTS; njega uključite tek kada certifikat radi za sve nazive. Kod drugih pružatelja postupak je sličan, ili to podesite u postavkama svog CMS-a.

Ako Vaša stranica radi na Apache ili LiteSpeed poslužitelju, zaglavlja možete postaviti i u .htaccess datoteci:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000"
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

includeSubDomains dodajte tek kada ste sigurni da svaka poddomena ima https. Nakon svake promjene provjerite pomoću testa web stranice na internet.nl ili pomoću razvojnih alata svog preglednika.

Sažetak

  • Lokot znači: šifrirano i ispravan naziv. Ne znači: pouzdano.
  • Http uvijek preusmjerite na https, prvo na istom nazivu, i to na jednom mjestu.
  • HSTS omogućuje pregledniku da zapamti da Vaša stranica ide isključivo putem https-a; internet.nl smatra dobrim max-age od najmanje godinu dana (31536000). Uključite ga tek kada https posvuda radi, i gradite postupno.
  • X-Content-Type-Options: nosniff, frame-ancestors (ili X-Frame-Options) i Referrer-Policy jednostavni su; potpuna Content-Security-Policy prilagođava se svakom slučaju posebno.
  • Ažuriranja Vašeg CMS-a, dodataka i tema barem su jednako važna kao i zaglavlja.

Kviz

1. Što točno HSTS sprječava?



2. Uključite Strict-Transport-Security: max-age=31536000; includeSubDomains. Tjedan dana kasnije istekne certifikat za shop.example.com. Što primjećuju stalni posjetitelji?



3. Koji max-age internet.nl smatra minimalno dovoljnim za HSTS?



4. Od čega štiti Content-Security-Policy: frame-ancestors 'self'?



5. U adresnoj traci vidite lokot na mijnbank-veilig.example. Što time sa sigurnošću znate?



Zadatak

Zadatak A4.2: Provjera https, HSTS i zaglavlja Vaše web stranice. Unesite naziv domene svoje web stranice (ako je nemate, koristite internet.nl). Program otvara http:// i https:// verziju Vaše domene i provjerava certifikat, preusmjeravanje na https, HSTS i sigurnosna zaglavlja. Za svaku stavku dobivate oznaku zeleno, narančasto ili crveno, s objašnjenjem.

Zadatak A4.2: Provjera https, HSTS i zaglavlja Vaše web stranice

Unesite naziv domene Vaše web stranice (ako je nemate, upotrijebite internet.nl). Program otvara http:// i https:// inačicu Vaše domene i provjerava certifikat, preusmjeravanje na https, HSTS i sigurnosna zaglavlja. Zatim unesite max-age vrijednost HSTS-a.



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 D4.2: Ažuriranje i čišćenje Vaše web stranice. Prijavite se u administraciju svoje web stranice, provjerite verziju CMS-a, dodataka i tema, uklonite ono što ne koristite i uključite automatska ažuriranja gdje je to moguće. Označite stavke na popisu za provjeru i odgovorite na pitanje za razmišljanje.

Zadatak D4.2: Ažuriranje i čišćenje Vaše web stranice

Pristupite ovako: (1) Prijavite se u administraciju Vaše web stranice (ili zamolite izrađivača web stranice da to učini zajedno s Vama). (2) Zabilježite verziju Vašeg CMS-a i provjerite postoje li dostupna ažuriranja. (3) Izradite sigurnosnu kopiju (lekcija 6.1), instalirajte ažuriranja CMS-a, dodataka i tema. (4) Uklonite dodatke i teme koje ne koristite. (5) Uključite automatska ažuriranja gdje je to moguće. (6) Provjerite koji administratorski računi postoje i uklonite račune osoba koje više ne rade kod Vas. (7) Uključite dvofaktorsku autentifikaciju za svaki administratorski račun.




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.

Dodatna literatura

Koraci opisani u WebOké člancima vrijede za okruženje WebOké; kod drugih pružatelja 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…