Sigurnosna zaglavlja

Sigurnosna zaglavlja za poslovni web.

Nekoliko redaka u svakom odgovoru poslužitelja govori pregledniku da koristi HTTPS, da ne pogađa vrstu datoteke i da vaše stranice ne učitava unutar drugih webova. Ovaj vodič pokazuje koja zaglavlja šalje naš web, zašto, i što još nismo postavili.

Što su

Upute koje preglednik provodi umjesto vas.

Sigurnosna zaglavlja dio su HTTP odgovora, a ne sadržaja stranice. Posjetitelji ih ne vide, ali preglednik ih primjenjuje prije nego što išta prikaže. Možete ih ispisati naredbom curl -I i adresom stranice ili na kartici Network u alatima za razvojne programere u pregledniku.

Ne zamjenjuju nadogradnje, sigurnosne kopije ni jake lozinke. Zatvaraju nekoliko čestih praznina koje bi web inače ostavio otvorenima. OWASP Secure Headers Project (na engleskom) održava pregled zaglavlja i preporučenih vrijednosti.

Što šaljemo

Pet zaglavlja na svakoj stranici.

01

Strict-Transport-Security

Preglednik se tijekom zadanog razdoblja spaja samo preko HTTPS-a, čak i ako netko upiše ili otvori adresu s http://.

02

X-Content-Type-Options: nosniff

Preglednik koristi vrstu datoteke koju poslužitelj navodi i ne pogađa je, pa se prenesena datoteka ne može izvršiti kao skripta.

03

X-Frame-Options: SAMEORIGIN

Drugi webovi ne mogu prikazati vaše stranice unutar okvira, što sprječava trikove koji vaše gumbe skrivaju ispod tuđe stranice.

04

Referrer-Policy

Uz strict-origin-when-cross-origin drugi webovi pri kliku na poveznicu saznaju samo vašu domenu, a ne punu adresu stranice.

05

Permissions-Policy

Web ne koristi kameru, mikrofon, lokaciju, plaćanja ni USB, pa zaglavlje te mogućnosti isključuje na svakoj stranici.

HSTS u koracima

Razdoblje produžite tek kad ste sigurni.

Preglednik pamti Strict-Transport-Security (na engleskom) tijekom cijelog zadanog razdoblja. Ako HTTPS u tom razdoblju prestane raditi, posjetitelji se ne mogu vratiti na HTTP. Zato smo ga produživali u koracima: prvo jedan dan, zatim šest mjeseci, pa godinu, svaki put nakon provjere da web i certifikat rade.

  • includeSubDomains primjenjuje pravilo na svaku poddomenu. Dodajte ga tek kad svaka vaša poddomena, sada i ubuduće, radi preko HTTPS-a. Na poddomenama naše domene rade drugi projekti, pa ga nismo uključili.
  • Popis za preload ugrađuje HTTPS u same preglednike. Traži includeSubDomains, a uklanjanje dugo traje, pa je to odluka za cijelu domenu, a ne za jedan web.

Trebate pomoć da ovo primijenite na svom webu? Pogledajte Sigurnost weba i webshopa ili zatražite besplatnu provjeru weba ↗

Gdje ih postaviti

Jedno mjesto za svako zaglavlje.

Naša zaglavlja za HTTPS, okvire, vrstu datoteke i referrer dolaze s CDN-a ispred poslužitelja, pa vrijede i za slike, stilove i skripte. Permissions-Policy (na engleskom) dolazi iz WordPress teme, jer je važan samo za stranice.

Koje god mjesto odaberete, zapišite ga i provjerite pojavljuje li se svako zaglavlje jednom. Dvije različite vrijednosti istog zaglavlja, jedna s poslužitelja i jedna iz dodatka, otežavaju utvrditi koju preglednik primjenjuje.

Što još nedostaje

Pravila za sadržaj traže zaseban projekt.

Content-Security-Policy (na engleskom) navodi izvore s kojih stranica smije učitavati skripte, stilove i slike. Najjače je od ovih zaglavlja i najlakše ga je pogrešno postaviti: izvor koji nedostaje pokvari obrazac ili izbornik, a vlasnik weba ne dobije nikakvo upozorenje.

Počeli smo s inačicom samo za izvještavanje, koja u pregledniku pokazuje što bi bilo blokirano, a ništa ne blokira. Popisujemo vlastite izvore, provjeravamo svaku vrstu stranice i na zaglavlje koje stvarno blokira prelazimo tek kad nijedna stranica ne prijavi problem.

Kontrolni popis

Za vaš web.

  • Vraćaju li sve stranice i sve statične datoteke zaglavlje za HTTPS?
  • Jeste li HSTS razdoblje produživali u koracima, nakon provjere da HTTPS radi posvuda?
  • Je li includeSubDomains postavljen samo ako svaka poddomena radi preko HTTPS-a?
  • Šalju li stranice nosniff, pravilo za okvire i pravilo za referrer?
  • Isključuje li Permissions-Policy mogućnosti koje web ne koristi?
  • Je li zapisano gdje se postavlja svako zaglavlje i pojavljuje li se svako jednom?
  • Skrivaju li odgovori verzije poslužitelja i CMS-a?
  • Jeste li Content-Security-Policy počeli u načinu samo za izvještavanje i provjerili svaku vrstu stranice?

Zaglavlja su dio redovitog održavanja. Vodič o održavanju WordPress weba opisuje provjere prije i nakon nadogradnji.

Želite provjeru zaglavlja?

Naše održavanje weba uključuje osnovne sigurnosne provjere. Ako planirate novi web, zaglavlja mogu biti dio dogovorenog postavljanja.