Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.

Ko želite obiskati spletno mesto, internetni brskalnik, ki ga uporabljate, prejme nekaj podatkov s tega mesta. Posledično pride do dialoga med vašo napravo in spletnim mestom. To se zgodi s protokolom, imenovanim HTTP. S posredovanjem v tem dialogu je mogoče sprejeti nekatere dodatne varnostne ukrepe.

Če upravljate spletno mesto ali si prizadevate za kariero spletnega razvijalca, so varnostne glave HTTP za vas neprecenljive, saj igrajo aktivno vlogo pri varnosti tako uporabnika kot spletnega mesta.

Kaj je HTTP Strict-Transport-Security (HSTS)?

HTTP Strict Transport Security (HSTS) sili uporabnike v uporabo HTTPS za vsako zahtevo, ki jo naredijo v svojem brskalniku. To je dober način za boj proti kibernetskim napadom, kot je znižanje različice, in za zagotavljanje varnosti celotnega prometa.

Aktivacija HSTS je precej enostavna. Razmislite o dialogu med odjemalcem in strežnikom. Ko poskušate dostopati do spletnega mesta prek brskalnika, ste odjemalec. Spletno mesto, ki ga želite odpreti, je odvisno od strežnika. Vaš cilj je strežniku povedati: "Želim odpreti to spletno mesto". To je operacija zahteve. Strežnik pa vas usmeri na stran, če izpolnjujete želene pogoje.

instagram viewer

Upoštevajte to v zvezi s to vzorčno zastavico glave HTTP:

Stroga-Transport-Security: max-age=16070200;

Ko dodate to zastavico informacijam o glavi odgovora HTTP, bodo vse uporabniško ustvarjene zahteve postale HTTPS. Karkoli uporabnik tukaj napiše, bo brskalnik samodejno ovrednotil protokol kot HTTPS in vzpostavil varno povezavo.

Kako uporabljati HSTS

Namesto dodajanja vseh teh informacij glave HTTP v sloj kode, lahko to storite v aplikacijah Apache, IIS, Nginx, Tomcat in drugih spletnih strežnikih.

Če želite omogočiti HSTS v Apache:

LoadModule headers_module modules/mod_headers.so
<VirtualHost *:443>
Glava vedno setStrogo-Transport-Varnost "največja starost=2592000; includeSubDomains"
</VirtualHost>

Če želite omogočiti HSTS v Nginxu:

add_header Strict-Transport-Security max-age=2592000; includeSubdomains

Če želite omogočiti HSTS z IIS web.config:

<system.webServer>
<httpProtocol>
<customHeaders>
<dodaj ime="Stroga transportna varnost" vrednost="največja starost=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Za uporabnike Cloudflare

Cloudflare ponuja brezplačno storitev HTTPS za vse s svojo storitvijo Keyless SSL; preden se prijavite za prednalaganje HSTS, morate vedeti, da vaše potrdilo ne pripada vam. Veliko spletnih mest uporablja SSL certifikate ker so preprost način za varovanje podatkov.

Vendar Cloudflare zdaj podpira funkcijo HSTS. Vse funkcije HSTS, vključno s prednalaganjem, lahko aktivirate prek spletnega vmesnika Cloudflare, ne da bi se mučili s konfiguracijami na spletnem strežniku.

Kaj je X-Frame-Options?

X-Frame-Options je varnostna glava, ki jo podpirajo vsi sodobni brskalniki. Namen X-Frame-Options je zaščititi pred krajo klikov, kot je Clickjacking. Kot že ime pove, gre za delovanje ranljivega inline okvirja, znanega tudi kot iframe. To so elementi na spletnem mestu, ki vdelajo drugo stran HTML v "nadrejeno" spletno mesto, tako da lahko na svojem spletnem mestu uporabljate vsebino iz drugih virov. Toda napadalci uporabljajo iframe pod lastnim nadzorom, da uporabnike prisilijo k dejanjem, ki jih ne želijo.

Iz tega razloga morate napadalcem preprečiti, da bi našli iframe na spletnem mestu.

Kje in kako uporabljati X-Frame-Options?

Kar počne X-Frame-Options, poskušajo nekateri razvijalci narediti z jeziki, kot je JavaScript. To ni povsem napačno. Vendar pa še vedno obstaja tveganje, ker kode, zapisane v mnogih pogledih, niso dovolj. Zato bi bilo pametno to nalogo prepustiti spletnemu brskalniku, ki ga uporabljate.

Vendar pa morate kot razvijalec vedeti o možnostih X-Frame-Options tri parametre:

  • Zanikati: Popolnoma preprečite, da bi bila stran priklicana v katerem koli okviru iframe.
  • SAMEORIGIN: preprečite, da bi katera koli druga domena razen vaše lastne klicala znotraj okvira iframe.
  • DOVOLI-OD uri: Sprejmi klice iframe URI-ja, podanega kot parameter. Blokiraj druge.

Tukaj, SAMEORIGIN funkcija bolj izstopa. Čeprav lahko kličete aplikacije v svojih različnih poddomenah z okvirji iframe drug v drugem, lahko preprečite, da bi bile priklicane prek domene pod nadzorom napadalca.

Tukaj so primeri, kako lahko uporabite SAMEORIGIN in X-Frame-Options z NGINX, Apache in IIS:

Uporaba X-Frame-Options SAMEORIGIN za Nginx:

add_header X-Frame-Options SAMEORIGIN;

Uporaba X-Frame-Options SAMEORIGIN za Apache:

Glava vedno doda X-Frame-Options SAMEORIGIN

Uporaba X-Frame-Options SAMEORIGIN za IIS:

<httpProtocol>
<customHeaders>
<dodaj ime="X-Frame-Možnosti" vrednost="SAMEORIGIN" />
</customHeaders>
</httpProtocol>

Preprosto dodajanje glave SAMEORIGIN bo zagotovilo večjo varnost za vaše obiskovalce.

Kaj je zaščita X-XSS?

Uporaba informacij o glavi X-XSS-Protection lahko zaščiti uporabnike pred napadi XSS. Najprej morate odpraviti XSS ranljivosti na strani aplikacije. Po zagotavljanju varnosti na osnovi kode so potrebni dodatni ukrepi, tj. glave X-XSS-Protection, proti ranljivostim XSS v brskalnikih.

Kako uporabljati zaščito X-XSS

Sodobni brskalniki lahko zaznajo potencialno koristno obremenitev XSS s filtriranjem vsebine, ki jo ustvari aplikacija. To funkcijo je mogoče aktivirati z informacijami o glavi X-XSS-Protection.

Če želite omogočiti glavo X-XSS-Protection v Nginxu:

add_header X-Frame-X-XSS-Protection 1;

Če želite omogočiti glavo X-XSS-Protection v Apache:

Glava vedno doda X-XSS-Protection 1

Če želite omogočiti glavo X-XSS-Protection v IIS:

<httpProtocol>
<customHeaders>
<dodaj ime="Zaščita X-XSS" vrednost="1" />
</customHeaders>
</httpProtocol>

Če želite preprečiti zagon kodnega bloka s privzetim napadom XSS, lahko uporabite nekaj takega:

X-XSS-zaščita: 1; način=blok

To manjšo spremembo je treba narediti, če obstaja potencialno nevarna situacija in želite preprečiti upodobitev vse vsebine.

Kaj je X-Content-Type-Options?

Brskalniki izvedejo analizo, imenovano MIME Type Sniffing, na vsebini, ki jim jo predstavi spletna aplikacija. Na primer, če obstaja zahteva za dostop do datoteke PDF ali PNG, brskalniki, ki analizirajo odziv HTTP, sklepajo o vrsti datoteke.

Razmislite o datoteki s pripono jpeg, ki pa dejansko vsebuje vsebino Text/HTML. Po uporabi razširitev in posredovanju zaščit v modulu za nalaganje je datoteka uspešno naložena. Naložena datoteka se prikliče prek URL-ja in vohanje vrste MIME kot rezultat vrne besedilo/HTML. Vsebino upodablja kot HTML. Takrat se pojavi ranljivost XSS.

Zato morate preprečiti, da bi brskalniki odločali o vsebini z vohanjem vrste MIME. Če želite to narediti, lahko uporabite nosniff.

Glava X-Content-Type-Options za Nginx:

add_header X-Content-Type-Options nosniff;

Glava X-Content-Type-Options za Apache:

Glava vedno X-Content-Type-Options nosniff

Glava X-Content-Type-Options za IIS:

<httpProtocol>
<customHeaders>
<dodaj ime="X-Content-Type-Options" vrednost="nosniff" />
</customHeaders>
</httpProtocol>

Kaj je zastavica piškotkov HttpOnly?

Spletne aplikacije sledijo sejam uporabnikov prek ID-ja seje. Brskalniki bodo to shranili in samodejno dodali vsaki zahtevi HTTP v obsegu piškotka.

Je mogoče za uporabo piškotkov za namene razen prenosa sejnega ključa. Hekerji lahko odkrijejo uporabniške podatke z uporabo zgoraj omenjene ranljivosti XSS ali z napadom CSRF (Cross-Site Request Forgery). Kateri piškotki so torej najpomembnejši z vidika varnosti?

Podatke, ki jih vsebuje zadnja slika, ki ste jo kliknili v galeriji slik, lahko upoštevate kot primer. Na ta način je promet HTTP manjši in del obremenitve lahko razreši uporabnikov spletni brskalnik s skriptiranjem na strani odjemalca.

To je kje HttpOnly pride noter. Spodaj je primer, kako mora biti dodeljen piškotek:

Set-Piškotek: uporabnik=t=cdabe8a1c2153d726; pot=/; HttpOnly

Upoštevajte vrednost HttpOnly, poslano v Set-Piškotek delovanje. Brskalnik bo to videl in ne bo obdelal vrednosti z zastavico HttpOnly, ko se do piškotka dostopa prek dokument.piškotek spremenljivka. Druga zastavica, ki se uporablja v procesu Set-Cookie, je zastavica Secure. To pomeni, da bo vrednost piškotka dodana v glavo samo za zahteve HTTPS. Spletna mesta za e-trgovino ga običajno uporabljajo, ker želijo zmanjšati omrežni promet in povečati zmogljivost.

S to metodo lahko skrijete kritične podatke uporabnikov, kot so uporabniška imena, gesla in podatki o kreditni kartici. Vendar obstaja problem. Uporabnikom, ki dokončajo postopek prijave, se dodeli vrednost piškotka brez zastavice Secure. Uporabnik ima lahko ključ seje, ko naredi zahtevo HTTP za povezave, ki niso HTTPS. Dodajanje varne zastavice je enostavno:

Set-Piškotek: uporabnik=t=cdabe8a1c2153d726; pot=/; Varno

Kdaj ne bi smeli uporabljati HttpOnly? Če se zanašate na Javascript, bodite previdni, saj lahko zaradi tega postane vaše spletno mesto manj varno.

Majhni koraki delujejo za širšo spletno varnost

Za povečanje varnosti spletnih aplikacij ne potrebujete naprednega znanja programske opreme in strežnika. Če spremenite le nekaj vrstic, lahko preprečite nekaj resnih napadov. Seveda to ni dovolj. Vendar je to majhen, a učinkovit korak za varnost spletnega mesta. Znanje je najboljša preventiva, zato je koristno poznati tudi subtilne nianse, kako HTTPS ščiti podatke med prenosom.