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

Vaša spletna stran: https, HSTS in varnostne glave

Modul 4: E-pošta, spletna stran in domena · Čas branja: 11 minut

Cilj učenja: Po tej lekciji boste znali preveriti osnovno zaščito svoje spletne strani: veljaven certifikat, preusmeritev na https, HSTS z ustrezno vrednostjo max-age, najpomembnejše varnostne glave in posodabljanje svojega CMS.
Ključni pojmi: TLS certifikat, https, preusmeritev na https, HSTS, max-age, includeSubDomains, preload, HTTP glava, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Kaj se zgodi, ko nekdo odpre Vašo stran

Če stranka v naslovno vrstico vtipka example.com, brskalnik zahteva stran od Vašega spletnega strežnika. Ta pogovor poteka prek HTTP. Pri https je okoli tega šifrirana povezava: TLS. Za to Vaša spletna stran potrebuje TLS certifikat (pogosto še vedno imenovan SSL certifikat). Certifikat dokazuje, da strežnik res pripada example.com, šifriranje pa poskrbi, da nihče po poti ne more brati ali spreminjati vsebine. To je pomembno na javnem wifiju, kjer ne veste, kdo upravlja omrežje (lekcija 5.3).

Pri vsakem odgovoru strežnik poleg same strani pošlje tudi niz glav (headers): kratke vrstice z informacijami in navodili za brskalnik. Na zaslonu jih ne vidite, a v veliki meri določajo, kako varno brskalnik ravna z Vašo stranjo. Del teh glav so varnostne glave. V tej lekciji si bomo ogledali štiri plasti: certifikat, preusmeritev, HSTS in glave. Nato se na kratko posvetimo posodabljanju Vaše spletne strani.

Plast 1: veljaven certifikat

Certifikat je v redu, če izpolnjuje tri pogoje:

  1. ni potekel;
  2. izdal ga je zaupanja vreden izdajatelj (overitelj, ki ga brskalniki poznajo, kot je Let's Encrypt ali komercialni ponudnik);
  3. velja za točno to ime, ki ga obiskovalec odpre: example.com in www.example.com, če uporabljate oba.

Skoraj vsak ponudnik gostovanja danes samodejno uredi brezplačen certifikat, ki se samodejno podaljšuje. Če kaj ne deluje, je to običajno zato, ker domensko ime kaže na drug strežnik ali ker zapis CAA blokira izdajatelja (lekcija 4.3).

Pomembno je vedeti: ključavnica nič ne pove o zanesljivosti strani. Pove le, da je povezava šifrirana in da certifikat ustreza imenu v naslovni vrstici. Lažne (phishing) strani na mijnbank-veilig.example imajo prav tako ključavnico. Zato se v lekciji 3.2 naučite brati domeno.

Plast 2: vedno preusmerite na https

Sam certifikat ne zadošča. Kdor odpre http://example.com, na primer prek stare povezave ali z vpisom samo imena, mora samodejno priti na različico https. Temu rečemo preusmeritev (angl. redirect, običajno s statusno kodo 301).

Pravilno zaporedje je:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (samo če www uporabljate kot glavni naslov)
http://www.example.com  ->  https://www.example.com

Bodite pozorni na prvo vrstico: s http najprej preusmerite na https na istem imenu, šele nato po potrebi na www. Tako lahko brskalnik prejme tudi navodilo HSTS za golo ime. Internet.nl natanko to preverja.

Pogosta napaka je dvojna preusmeritev: v nadzorni plošči gostovanja in hkrati v vtičniku ali v .htaccess. To lahko povzroči neskončno zanko ("preveč preusmeritev"). Uporabite samo eno mesto.

Plast 3: HSTS

Preusmeritev ima šibko točko: prva zahteva gre še vedno nešifrirano prek http. Napadalec v istem omrežju lahko to prvo zahtevo prestreže in obiskovalca zadrži na ponarejeni, nešifrirani različici. Za to je namenjen HSTS (HTTP Strict Transport Security, RFC 6797).

S HSTS Vaša stran prek https pošlje glavo:

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

Brskalnik si potem zapomni: "to stran odpiraj samo prek https, naslednjih 31.536.000 sekund (eno leto)". Če obiskovalec kasneje vtipka http://example.com, brskalnik sam spremeni naslov v https, še preden gre karkoli prek omrežja. Šibka prva zahteva tako odpade.

DelPomen
max-age=Kako dolgo si brskalnik to zapomni, v sekundah. Internet.nl kot zadostno šteje vsaj eno leto (max-age=31536000); kratko obdobje ne ščiti ljudi, ki Vašo stran obiščejo le občasno.
includeSubDomainsVelja tudi za vse poddomene, kot sta shop.example.com in mail.example.com.
preloadZaprosite za vključitev na seznam, ki je vgrajen v brskalnike (hstspreload.org). Tako je zaščiten tudi čisto prvi obisk. Pogoji: med drugim max-age vsaj eno leto, includeSubDomains in vse poddomene na https. Odstranitev s seznama traja dolgo.
max-age=0Izbriše zapomnjeno navodilo.

Tri stvari, ki jih morate vedeti, preden vklopite HSTS:

  • Najprej mora https delovati povsod. Brskalnik, ki si je zapomnil HSTS in zazna napako certifikata, obiskovalcu ne ponudi gumba za nadaljevanje kljub temu (RFC 6797, odstavek 12.1). Če Vaš certifikat poteče ali ne velja za www, je Vaša stran za te obiskovalce nedosegljiva, dokler težave ne odpravite.
  • includeSubDomains vpliva na vse pod Vašo domeno. Stara poddomena brez certifikata, na primer stran tiskalnika ali kamere na camera.example.com, potem ni več dosegljiva.
  • Gradite postopno. Začnite s kratkim max-age (na primer en dan), preverite, ali vse deluje, in postopno povečujte do enega leta. Pri vsakem koraku počakajte celotno obdobje.

Glavo HSTS, ki pride prek navadnega http, brskalnik prezre. Zato jo vidite samo v odgovoru https.

Plast 4: varnostne glave

Poleg HSTS obstaja še nekaj glav, ki brskalniku povedo, kaj sme in česa ne sme početi z Vašimi stranmi. Vseh Vam ni treba imeti popolnih, a prve tri so preproste in brez tveganja.

GlavaProti čemuDobra vrednost
X-Content-Type-OptionsBrskalnik sam ugiba, kakšna je vrsta datoteke, zaradi česar se naložena "slika" lahko izvede kot skripta.nosniff (edina veljavna vrednost)
Content-Security-Policy: frame-ancestors ... ali X-Frame-OptionsClickjacking: druga stran nevidno naloži Vašo stran v okvir (frame) in obiskovalce zavede, da nevede kliknejo na Vaše gumbe.frame-ancestors 'self' ali 'none'; starejša glava X-Frame-Options: SAMEORIGIN ali DENY
Referrer-PolicyOb kliku na povezavo do druge strani brskalnik posreduje naslov prejšnje strani. V njem je lahko občutljiv podatek, kot je iskalni niz ali številka naročila.no-referrer ali same-origin (strogo), strict-origin-when-cross-origin (običajno; internet.nl tu prikaže opozorilo)
Content-Security-Policy (celotna)Omeji, od kod se smejo nalagati skripte, slogi in slike. Veliko oteži vrinjene zlonamerne skripte (XSS).Prilagojeno vsaki strani posebej. Izogibajte se unsafe-inline, unsafe-eval in nadomestnim znakom.

Celotna Content-Security-Policy je najmočnejša, a tudi najzahtevnejša: preveč strogo pravilo lahko pokvari Vaše statistike, gumb za plačilo ali okno za klepet. Z različico Content-Security-Policy-Report-Only lahko najprej izmerite, kaj bi bilo blokirano, ne da bi karkoli pokvarili. To prepustite svojemu spletnemu razvijalcu ali začnite le s frame-ancestors.

Ogled glav

Odprite svojo stran v brskalniku, pritisnite F12 (ali izberite "Preglej"), pojdite na zavihek Omrežje (Network), znova naložite stran in kliknite na prvo zahtevo. Pod "Glave odgovora" (Response Headers) vidite vse, kar strežnik pošlje. Z ukazno vrstico je mogoče tudi takole:

curl -sI https://example.com/

Spletna stran sama: CMS, vtičniki in teme

Najboljše glave ne pomagajo, če je programska oprema za Vašo stranjo ranljiva. Večina vdrtih strani malih podjetij ni bila ogrožena prek spletnega strežnika, temveč prek zastarelega vtičnika, teme, ki je že leta nihče ne posodablja, ali šibkega skrbniškega gesla.

  • Vklopite samodejne posodobitve za svoj CMS (na primer WordPress, Joomla ali drug sistem) in za vtičnike, kjer je to mogoče.
  • Odstranite vtičnike in teme, ki jih ne uporabljate; onemogočeno ni dovolj, saj datoteke še vedno obstajajo.
  • Za skrbniško prijavo uporabite močno, edinstveno geslo in dvostopenjsko preverjanje (2FA) (modul 2) ter omejite število poskusov prijave.
  • Različico PHP (ali drugega jezika) svojega paketa ohranjajte na ravni, ki še vedno prejema posodobitve (lekcija 5.1).

V praksi: tako je videti

V DirectAdmin, nadzorni plošči, ki jo uporablja WebOké, pri svoji domeni najprej vklopite Varen SSL, nato pa Prisilite SSL s https preusmeritvijo. Na istem mestu je stikalo za HSTS; vklopite ga šele, ko certifikat deluje za vsa imena. Pri drugih ponudnikih deluje podobno, ali pa to uredite v nastavitvah svojega CMS.

Če Vaša stran teče na Apache ali LiteSpeed, lahko glave nastavite tudi v .htaccess:

<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 šele, ko ste prepričani, da ima vsaka poddomena https. Po vsaki spremembi preverite s testom spletne strani internet.nl ali z razvijalskimi orodji svojega brskalnika.

Povzetek

  • Ključavnica pomeni: šifrirano in pravo ime. Ne pomeni: zanesljivo.
  • Http vedno preusmerite na https, najprej na istem imenu, in na enem samem mestu.
  • HSTS poskrbi, da si brskalnik zapomni, da Vaša stran deluje samo prek https; internet.nl kot dobro šteje max-age vsaj eno leto (31536000). Vklopite ga šele, ko https deluje povsod, in ga gradite postopoma.
  • X-Content-Type-Options: nosniff, frame-ancestors (ali X-Frame-Options) in Referrer-Policy so preproste; celotna Content-Security-Policy je prilagojena vsaki strani posebej.
  • Posodobitve Vašega CMS, vtičnikov in tem so vsaj tako pomembne kot glave.

Kviz

1. Pred čim natanko varuje HSTS?



2. Vklopite Strict-Transport-Security: max-age=31536000; includeSubDomains. Teden dni kasneje poteče certifikat za shop.example.com. Kaj opazijo stalni obiskovalci?



3. Katero vrednost max-age internet.nl šteje kot minimalno zadostno za HSTS?



4. Pred čim ščiti Content-Security-Policy: frame-ancestors 'self'?



5. V naslovni vrstici vidite ključavnico pri mijnbank-veilig.example. Kaj s tem zagotovo veste?



Naloga

Naloga A4.2: Preverjanje https, HSTS in glav Vaše spletne strani. Vnesite domensko ime svoje spletne strani (če ga nimate, uporabite internet.nl). Program odpre http:// in https:// različico Vaše domene ter preveri certifikat, preusmeritev na https, HSTS in varnostne glave. Za vsako točko prejmete oceno zeleno, oranžno ali rdeče z razlago.

Naloga A4.2: Preverjanje https, HSTS in glav Vaše spletne strani

Vnesite ime domene Vaše spletne strani (če je nimate, uporabite internet.nl). Program odpre http:// in https:// Vaše domene ter preveri potrdilo, preusmeritev na https, HSTS in varnostne glave. Nato vnesite max-age HSTS.



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 D4.2: Posodabljanje in čiščenje Vašega spletnega mesta. Prijavite se v nadzorno ploščo svoje spletne strani, preverite različico svojega CMS, vtičnikov in tem, odstranite tisto, česar ne uporabljate, in vklopite samodejne posodobitve, kjer je to mogoče. Odkljukajte kontrolni seznam in odgovorite na refleksijsko vprašanje.

Naloga D4.2: Posodabljanje in čiščenje Vašega spletnega mesta

Tako se lotite naloge: (1) Prijavite se v upravljanje Vašega spletnega mesta (ali prosite svojega spletnega razvijalca, da to opravi skupaj z Vami). (2) Zabeležite različico Vašega CMS in preverite, ali so na voljo posodobitve. (3) Izdelajte varnostno kopijo (lekcija 6.1), namestite posodobitve CMS, vtičnikov in tem. (4) Odstranite vtičnike in teme, ki jih ne uporabljate. (5) Kjer je mogoče, vklopite samodejne posodobitve. (6) Preverite, kateri skrbniški računi obstajajo, in odstranite račune oseb, ki tam ne delajo več. (7) Vklopite dvostopenjsko preverjanje (2FA) za vsak skrbniški račun.




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.

Za dodatno branje

Koraki v člankih WebOké veljajo za okolje WebOké; pri drugih ponudnikih deluje podobno.

Trenutek…

Nastavite svoje domene

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

Nalaganje Vaših domen…