Kada preglednik podnese zahtjev lokalnom poslužitelju, prilaže dodatna zaglavlja, kao što su zaglavlja hosta i izvora, kako bi poslužitelju pružio dodatne informacije. Ova zaglavlja igraju ključnu ulogu u osiguravanju sigurnosti i ispravnog rada web aplikacija. U ovom ćemo odgovoru istražiti kako preglednik prilaže ta zaglavlja i raspravljati o njihovom značaju u kontekstu sigurnosti lokalnog HTTP poslužitelja.
Zaglavlje glavnog računala bitna je komponenta HTTP zahtjeva i koristi se za određivanje ciljnog glavnog računala kojem se zahtjev šalje. Prilikom upućivanja zahtjeva lokalnom poslužitelju, preglednik uključuje zaglavlje hosta kako bi označio naziv hosta ili IP adresu poslužitelja s kojim želi komunicirati. To omogućuje poslužitelju da identificira namjeravano odredište zahtjeva. Na primjer, ako preglednik želi pristupiti web stranici koja se nalazi na lokalnom poslužitelju s IP adresom 192.168.0.1, uključit će zaglavlje hosta na sljedeći način: "Host: 192.168.0.1". Poslužitelj zatim koristi te informacije za usmjeravanje zahtjeva na odgovarajući resurs.
Izvorno zaglavlje, s druge strane, sigurnosni je mehanizam koji implementiraju moderni preglednici za zaštitu od napada s različitim izvorima. Određuje izvor iz kojeg se šalje zahtjev, uključujući protokol, naziv glavnog računala i broj priključka. Preglednik automatski uključuje izvorno zaglavlje u zahtjeve lokalnim poslužiteljima kako bi osigurao da poslužitelj može provjeriti izvor zahtjeva. Na primjer, ako web stranica hostirana na "http://localhost:8080" uputi zahtjev lokalnom poslužitelju na "http://localhost:3000", preglednik bi uključio izvorno zaglavlje na sljedeći način: "Origin: http ://localhost:8080". To omogućuje poslužitelju da potvrdi da zahtjev potječe iz očekivanog izvora i pomaže u sprječavanju neovlaštenog pristupa osjetljivim resursima.
Osim zaglavlja hosta i izvora, postoje i druga zaglavlja koja preglednici mogu priložiti kada postavljaju zahtjeve lokalnim poslužiteljima. Na primjer, zaglavlje korisničkog agenta daje informacije o klijentskoj aplikaciji (tj. pregledniku) koja postavlja zahtjev. Ovo zaglavlje pomaže poslužitelju da razumije mogućnosti i ograničenja klijenta, omogućujući mu da pruži odgovarajuće odgovore.
Važno je napomenuti da, iako preglednici prilažu ova zaglavlja prema zadanim postavkama, ona se također mogu mijenjati ili ukloniti na različite načine. To se može učiniti putem ekstenzija preglednika, proxy poslužitelja ili izravnim manipuliranjem zahtjeva korištenjem tehnika programiranja. Stoga je ključno da administratori poslužitelja provedu odgovarajuće sigurnosne mjere za provjeru valjanosti i dezinfekciju dolaznih zahtjeva, bez obzira na prisutnost ovih zaglavlja.
Kada preglednik podnese zahtjev lokalnom poslužitelju, prilaže dodatna zaglavlja kao što su zaglavlja hosta i izvora. Zaglavlje glavnog računala navodi ciljno glavno računalo zahtjeva, dok zaglavlje izvora pomaže u zaštiti od napada s različitim izvorima. Ova zaglavlja igraju ključnu ulogu u osiguravanju sigurnosti i ispravnog rada web aplikacija. Administratori poslužitelja trebali bi biti svjesni ovih zaglavlja i primijeniti odgovarajuće sigurnosne mjere za provjeru valjanosti i dezinfekciju dolaznih zahtjeva.
Ostala nedavna pitanja i odgovori u vezi Osnove sigurnosti EITC/IS/WASF web aplikacija:
- Što su zaglavlja zahtjeva za dohvaćanje metapodataka i kako se mogu koristiti za razlikovanje zahtjeva istog podrijetla i zahtjeva s više stranica?
- Kako pouzdani tipovi smanjuju površinu napada web aplikacija i pojednostavljuju sigurnosne preglede?
- Koja je svrha zadane politike u pouzdanim tipovima i kako se ona može koristiti za prepoznavanje nesigurnih dodjela nizova?
- Kakav je postupak za stvaranje objekta pouzdanih tipova pomoću API-ja pouzdanih tipova?
- Kako direktiva pouzdanih tipova u politici sigurnosti sadržaja pomaže ublažiti ranjivosti cross-site scripting (XSS) temeljene na DOM-u?
- Što su pouzdani tipovi i kako rješavaju XSS ranjivosti temeljene na DOM-u u web aplikacijama?
- Kako politika sigurnosti sadržaja (CSP) može pomoći u ublažavanju ranjivosti cross-site scripting (XSS)?
- Što je cross-site request forgery (CSRF) i kako ga napadači mogu iskoristiti?
- Kako XSS ranjivost u web aplikaciji ugrožava korisničke podatke?
- Koje su dvije glavne klase ranjivosti koje se obično nalaze u web aplikacijama?
Više pitanja i odgovora pogledajte u Osnovama sigurnosti web aplikacija EITC/IS/WASF