Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju.
Kada želite posjetiti web stranicu, internetski preglednik koji koristite prima neke podatke s te stranice. Kao rezultat toga, dolazi do dijaloga između vašeg uređaja i web stranice. To se događa s protokolom koji se zove HTTP. Moguće je poduzeti neke dodatne sigurnosne mjere intervencijom u ovom dijalogu.
Ako imate web stranicu ili ciljate na karijeru web programera, HTTP sigurnosna zaglavlja su vam neprocjenjiva jer igraju aktivnu ulogu u sigurnosti i korisnika i web stranice.
Što je HTTP Strict-Transport-Security (HSTS)?
HTTP Strict Transport Security (HSTS) prisiljava korisnike da koriste HTTPS za svaki zahtjev koji postave u svom pregledniku. Ovo je solidan način za borbu protiv kibernetičkih napada kao što su degradacije i osiguravanje sigurnosti cjelokupnog prometa.
Aktivacija HSTS-a je prilično jednostavna. Razmotrite dijalog između klijenta i poslužitelja. Kada pokušate pristupiti stranici putem svog preglednika, vi ste klijent. Stranica koju želite otvoriti ovisi o poslužitelju. Vaš cilj je reći poslužitelju: "Želim otvoriti ovu stranicu". Ovo je operacija zahtjeva. Poslužitelj vas, s druge strane, usmjerava na stranicu ako ispunjavate željene uvjete.
Imajte ovo na umu u vezi s ovom oglednom zastavom HTTP zaglavlja:
Strict-Transport-Security: max-age=16070200;
Kada dodate ovu oznaku informacijama zaglavlja HTTP odgovora, svi korisnički generirani zahtjevi postat će HTTPS. Što god korisnik ovdje napisao, preglednik će automatski procijeniti protokol kao HTTPS i uspostaviti sigurnu vezu.
Kako koristiti HSTS
Umjesto dodavanja svih ovih informacija HTTP zaglavlja u sloj koda, to možete učiniti na aplikacijama Apache, IIS, Nginx, Tomcat i drugim web poslužiteljima.
Da biste omogućili HSTS u Apacheu:
LoadModule headers_module modules/mod_headers.so
<Virtualni host *:443>
Zaglavlje uvijek postavitiStrog-Prijevoz-Sigurnost "max-age=2592000; uključi poddomene"
</VirtualHost>
Da biste omogućili HSTS u Nginxu:
add_header Strict-Transport-Security max-age=2592000; uključite poddomene
Da biste omogućili HSTS s IIS web.config:
<sustav.webServer>
<httpProtocol>
<customHeaders>
<dodaj ime="Stroga-transportna-sigurnost" vrijednost="max-dob=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>
Za korisnike Cloudflarea
Cloudflare pruža besplatnu HTTPS uslugu za sve sa svojom Keyless SSL uslugom; prije podnošenja zahtjeva za HSTS predload, trebali biste znati da vaš certifikat ne pripada vama. Mnoga mjesta koriste SSL certifikate jer predstavljaju jednostavan način za zaštitu podataka.
Međutim, Cloudflare sada podržava značajku HSTS. Možete aktivirati sve HSTS značajke, uključujući predučitavanje, putem Cloudflare web sučelja bez muke s konfiguracijama na web poslužitelju.
Što je X-Frame-Options?
X-Frame-Options je sigurnosno zaglavlje koje podržavaju svi moderni preglednici. X-Frame-Options ima za cilj zaštitu od krađe klikova kao što je Clickjacking. Kao što naziv sugerira, radi se o radu ranjivog inline okvira, također poznatog kao iframe. To su elementi na web-mjestu koji ugrađuju drugu HTML stranicu unutar "nadređenog" web-mjesta, tako da možete koristiti sadržaj iz drugih izvora na svom web-mjestu. Ali napadači koriste iframeove pod vlastitom kontrolom kako bi natjerali korisnike na radnje koje ne žele.
Iz tog razloga morate spriječiti napadače da pronađu okvire iframe na stranici.
Gdje i kako koristiti X-Frame-Options?
Ono što radi X-Frame-Options, neki programeri pokušavaju učiniti s jezicima poput JavaScripta. Ovo nije sasvim pogrešno. Međutim, još uvijek postoji rizik jer kodovi napisani u mnogim aspektima nisu dovoljni. Stoga bi bilo pametno ovaj zadatak prepustiti internetskom pregledniku koji koristite.
Međutim, kao programer, postoje tri parametra koja treba znati o X-Frame-Options:
- poreći: potpuno spriječiti pozivanje stranice u bilo kojem iframeu.
- ISTO PORIJEKLO: Spriječite pozivanje bilo koje domene osim vaše unutar iframea.
- DOPUST-OD uri: Prihvatite iframe pozive URI-ja danog kao parametar. Blokiraj druge.
Evo, ISTO PORIJEKLO značajka se više ističe. Dok možete pozivati aplikacije u svojim različitim poddomenama s iframeovima unutar drugih, možete spriječiti njihovo pozivanje preko domene pod kontrolom napadača.
Evo primjera kako možete koristiti SAMEORIGIN i X-Frame-Options s NGINX-om, Apacheom i IIS-om:
Korištenje X-Frame-Options SAMEORIGIN za Nginx:
add_header X-Frame-Options SAMEORIGIN;
Korištenje X-Frame-Options SAMEORIGIN za Apache:
Zaglavlje uvijek dodaje X-Frame-Options SAMEORIGIN
Korištenje X-Frame-Options SAMEORIGIN za IIS:
<httpProtocol>
<customHeaders>
<dodaj ime="X-Frame-Opcije" vrijednost="ISTO PORIJEKLO" />
</customHeaders>
</httpProtocol>
Jednostavno dodavanje samo zaglavlja SAMEORIGIN pružit će veću sigurnost vašim posjetiteljima.
Što je X-XSS-zaštita?
Korištenje informacija zaglavlja X-XSS-Protection može zaštititi korisnike od XSS napada. Prvo, morate eliminirati XSS ranjivosti na strani aplikacije. Nakon pružanja sigurnosti temeljene na kodu, potrebne su daljnje mjere, tj. zaglavlja X-XSS-Protection protiv XSS ranjivosti u preglednicima.
Kako koristiti X-XSS zaštitu
Moderni preglednici mogu detektirati potencijalne XSS sadržaje filtriranjem sadržaja koji generiraju aplikacije. Moguće je aktivirati ovu značajku pomoću informacija zaglavlja X-XSS-Protection.
Da biste omogućili zaglavlje X-XSS-Protection u Nginxu:
add_header X-Frame-X-XSS-Protection 1;
Da biste omogućili zaglavlje X-XSS-Protection u Apacheu:
Zaglavlje uvijek dodaje X-XSS-Protection 1
Da biste omogućili zaglavlje X-XSS-Protection u IIS-u:
<httpProtocol>
<customHeaders>
<dodaj ime="X-XSS-Zaštita" vrijednost="1" />
</customHeaders>
</httpProtocol>
Kako biste spriječili pokretanje bloka koda s XSS napadom prema zadanim postavkama, možete upotrijebiti nešto poput ovoga:
X-XSS-Zaštita: 1; mod=blok
Ovu manju promjenu potrebno je napraviti ako postoji potencijalno opasna situacija i želite spriječiti renderiranje cijelog sadržaja.
Što je X-Content-Type-Options?
Preglednici provode analizu pod nazivom MIME Type Sniffing na sadržaju koji im prezentira web aplikacija. Na primjer, ako postoji zahtjev za pristup PDF datoteci ili PNG datoteci, preglednici koji vrše analizu HTTP odgovora zaključuju vrstu datoteke.
Razmotrite datoteku s ekstenzijom jpeg, ali koja zapravo ima tekstualni/HTML sadržaj. Nakon korištenja proširenja i zaštite u modulu za učitavanje, datoteka je uspješno učitana. Učitana datoteka poziva se putem URL-a, a njuškanje tipa MIME vraća tekst/HTML kao rezultat. Prikazuje sadržaj kao HTML. Tada se javlja XSS ranjivost.
Stoga morate spriječiti preglednike da odlučuju o sadržaju njuškanjem tipa MIME. Da biste to učinili, možete koristiti nosniff.
Zaglavlje X-Content-Type-Options za Nginx:
add_header X-Content-Type-Options nosniff;
Zaglavlje X-Content-Type-Options za Apache:
Zaglavlje uvijek X-Content-Type-Options nosniff
Zaglavlje X-Content-Type-Options za IIS:
<httpProtocol>
<customHeaders>
<dodaj ime="X-Content-Type-Options" vrijednost="njuškati" />
</customHeaders>
</httpProtocol>
Što je HttpOnly Cookie Flag?
Web aplikacije prate sesije korisnika putem ID-a sesije. Preglednici će to pohraniti i automatski dodati svakom HTTP zahtjevu unutar opsega kolačića.
Moguće je koristiti kolačiće u svrhu međutim, osim prijenosa ključa sesije. Hakeri bi mogli saznati korisničke podatke koristeći gore spomenutu XSS ranjivost ili putem Cross-Site Request Forgery (CSRF) napada. Dakle, koji su kolačići najvažniji u smislu sigurnosti?
Kao primjer možete uzeti u obzir podatke sadržane u posljednjoj slici koju ste kliknuli u galeriji slika. Na taj je način HTTP promet manji, a dio opterećenja može riješiti korisnikov internetski preglednik skriptiranjem na strani klijenta.
To je gdje HttpOnly ulazi. Dolje je primjer kako bi trebala biti dodjela kolačića:
set-Kolačić: korisnik=t=cdabe8a1c2153d726; put=/; HttpOnly
Primijetite vrijednost HttpOnly poslanu u Set-Kolačić operacija. Preglednik će to vidjeti i neće obraditi vrijednosti s oznakom HttpOnly kada se kolačiću pristupi putem dokument.kolačić varijabla. Još jedna oznaka koja se koristi u procesu Set-Cookie je oznaka Secure. To znači da će vrijednost kolačića biti dodana u zaglavlje samo za HTTPS zahtjeve. Web-mjesta za e-trgovinu obično ga koriste jer žele smanjiti mrežni promet i povećati performanse.
Pomoću ove metode možete sakriti kritične korisničke podatke kao što su korisnička imena, lozinke i podaci o kreditnoj kartici. Ali postoji problem. Korisnicima koji dovrše postupak prijave dodjeljuje se vrijednost kolačića bez sigurnosne oznake. Korisnik može imati ključ sesije kada uputi HTTP zahtjev na veze koje nisu HTTPS. Dodavanje sigurne oznake je jednostavno:
set-Kolačić: korisnik=t=cdabe8a1c2153d726; put=/; Siguran
Kada ne biste trebali koristiti HttpOnly? Ako se oslanjate na Javascript, trebali biste biti oprezni jer to može učiniti vašu web-lokaciju manje sigurnom.
Mali koraci rade za širu web sigurnost
Za povećanje sigurnosti web aplikacija nije vam potrebno napredno znanje o softveru i poslužitelju. Promjenom samo nekoliko redaka možete spriječiti ozbiljne napade. Naravno, to nije dovoljno. Međutim, to je mali, ali učinkovit korak za sigurnost web stranice. Znanje je najbolja preventiva, stoga je također korisno znati suptilne nijanse načina na koji HTTPS štiti podatke tijekom prijenosa.