Mik azok a CORS proxy-k és biztonságosak?

Peter

A CORS hiba az egyik leggyakoribb webhelyfejlesztési probléma, amikor a felhasználók hibás képeket látnak, a videolejátszók nem jelennek meg, vagy a webhely funkciói nem működnek.

Ezek a hibák akkor fordulnak elő, ha a kért tartalmat tároló kiszolgáló a konfigurációja alapján elutasítja a CORS-kérést.

A proxyszerverek, különösen a CORS-proxy-k meg tudják oldani ezt, de néhány figyelmeztetéssel.

Folytassa az olvasást, ha többet szeretne megtudni a CORS-proxyról és a használatukkal kapcsolatos kockázatokról.

🔑 Kulcs elvitelek

  • A CORS-proxy-k segítenek a CORS-hibák megoldásában azáltal, hogy közvetítőként működnek az ügyfél böngészője és a tartalmat tároló szerver között.
  • A CORS-proxykkal kapcsolatos kockázatok közé tartoznak a biztonsági problémák, a lehetséges cookie-szivárgás és a szerveroldali kérés-hamisítás (SSRF) lehetősége.
  • Használjon megbízható fizetős CORS-proxyszolgáltatókat, vagy állítsa be proxykiszolgálóját a biztonsági kockázatok csökkentése érdekében.
  • Az engedélyezési eredetkérelmek megvalósítása segíthet megelőzni az SSRF-támadásokat azáltal, hogy a proxyválaszokat a biztonságos listán szereplő célokra korlátozza.

Mi az a CORS?

Mielőtt belemerülne a CORS-proxy-ba, alapvető fontosságú, hogy megértse, mi az a CORS, és hogyan működik.

A CORS vagy a Cross Origin Resource Sharing egy olyan mechanizmus, amely más eredetű kiszolgálón tárolt tartalom kérésére szolgál.

Az egyértelműség kedvéért álljon itt néhány CORS példa.

  • An kép egy webhelyen használják, de egy másik webhelyen vagy szerveren tárolják
  • JS-szkriptek vagy JSON egy másik szerveren vagy aldomainben tárolva

A CORS-mechanizmust általában rugalmas megoldásként alkalmazzák, mivel a legtöbb webböngésző ugyanazt a származási irányelvet alkalmazza a végfelhasználók biztonsága érdekében.

A Same-Origin házirenddel a webhelyek csak akkor szerezhetnek tartalmat, ha az ugyanabból a tartományból, portszámból és biztonsági protokollból származik. Ez nem mindig van így, így a CORS jön a képbe.

Ha jobban szeretné megérteni, mi az a CORS, nézze meg az alábbi videót:

🎥YouTube-videó: CORS 100 másodpercben (00:00-01:11)

A megtagadott kérésekből eredő hibák kiküszöbölése érdekében a gazdagépnek módosítania kell a CORS-konfigurációját, vagy CORS-proxyt kell használnia.

Mi az a CORS Proxy és Hogyan működik

📖 Definíció
A CORS proxy közvetítőként működik a kérelmező kliens vagy böngésző és a kívánt tartalmat tároló szerver között. A CORS-proxykat a CORS-hibák kiküszöbölésére hozzák létre.

A fenti példa alapján a CORS-proxy a következőképpen fog működni:

  1. A böngésző elküldi a kérést a CORS proxyszervernek.
  2. A CORS proxy ezután továbbítja a kérést a következő címre: example2.com.
  3. A műsorvezetője example2.com elküldi a választ a CORS proxynak.
  4. A CORS proxy megfelelő fejlécekkel továbbítja a választ a böngészőkliensnek.
  5. A böngésző jóváhagyja és megjeleníti a tartalmat.

Lehet, hogy egyszerűnek tűnik, de a CORS-proxy használata biztonsági kockázatokat rejt magában. Ezekről a kockázatokról a következő részben lesz szó.

A használat kockázatai CORS proxyk

Íme a CORS-proxy használatával járó kockázatok és azok kezelésének módjai:

1. A CORS proxy-k mindent tudnak

A CORS-proxy bármire képes a rajtuk áthaladó forgalommal.

A forgalom CORS-proxyra küldése azt jelenti, hogy teljes mértékben megbízik a proxyban. Szinte kivétel nélkül minden adatot beolvas, amelyen áthalad.

Az ingyenes proxyk veszélyesek, nemhogy az ingyenes CORS-proxy.

Például, ha webhelye úgy van beállítva, hogy más forrásból származó JavaScript-tartalmat kapjon, akkor a CORS-proxy számára is engedélyezheti bármely JS-szkript futtatását.

Félelmetes lehet, ha hagyja, hogy mások átvegyék az irányítást webhelye funkciói felett. Jobb, ha saját proxyszervert hoz létre a CORS számára, vagy jobb, ha megbízható fizetős szolgáltatóra támaszkodik.

✅ Pro-tipp:
Mindig alaposan ellenőrizze, mielőtt proxyszolgáltatót választana, még akkor is, ha fizetős szolgáltatót szeretne használni. Ez nagyobb biztonságot biztosít és minimalizálja a kapcsolódó kockázatokat.

2. A cookie-k nem kívánt célhelyre szivároghatnak

A kért szerverek válaszai cookie-kat tartalmazhatnak. Előfordulhat, hogy a böngészők nem tudják megkülönböztetni tervezett felhasználásukat, mivel csak a CORS proxyszerverrel lépnek kapcsolatba.

mondjuk example.com innen kell tartalmat beszerezni example2.com.

A böngésző kérést küld a CORS proxyszervernek, és a válasz egy „set-cookie” fejlécet jelez. A süti célja example2.com el van mentve a böngészőben.

Egy másik webhelyrészen example.com innen kell tartalmat beszerezni example3.com.

A böngésző kérelmet küld a CORS proxynak, de tartalmazza az erre szánt sütiket example2.com. Csak a CORS proxyval működik együtt, így nem ismeri a különbséget.

Minden azon múlik, hogy mennyire bízik meg a proxyszerverben és a szükséges tartalmat tároló szerverekben.

Ha Ön irányítja a CORS proxyszervert, jobb lehet a cookie-fejlécek teljes eltávolítása. Ugyanez igaz a hitelesítő adatok átadásának engedélyezésére is.

✅ Pro-tipp:
Annak elkerülése érdekében, hogy a cookie-k nem kívánt célhelyekre kerüljenek, fontolja meg a cookie-fejlécek eltávolítását, és értékelje a proxy- és tartalomszolgáltató szerverek megbízhatóságát.

3. Szerveroldali kérelem-hamisítás

Ha úgy dönt, hogy belső CORS-proxyt használ, fennáll annak a veszélye, hogy belső hálózata külső felhasználóknak lesz kitéve.

Ezt a támadást más néven szerveroldali kéréshamisítás (SSRF). Ezt úgy teheti meg, hogy kérést küld a proxyn keresztül a belső erőforrásokhoz való hozzáférésre.

A felhasználó beállíthatja a célhelyet a 127.0.0.1-re vagy a localhost-ra, hogy utasítsa a proxyt, hogy nézzen vissza a hálózatára.

Ez a támadás hozzáférést szerezhet a rendszergazdai felülethez, vagy bizalmas információkat szerezhet.

✅ Pro-tip:
Az eredetkérelmek engedélyezési listája segíthet ennek elkerülésében. A csak megbízható forrásokból származó kérések engedélyezésével csökkentheti az érzékeny belső erőforrásokhoz való jogosulatlan hozzáférés kockázatát.

A legjobb CORS proxy Használhatod

Bár a CORS-proxy használata kockázatokkal jár, vannak módok ezek csökkentésére is.

Mindaddig, amíg óvatosan használják őket, a CORS-proxyk hosszú távú megoldást jelenthetnek a CORS-hibákra.

Ezt szem előtt tartva az alábbiakban felsoroljuk azokat a CORS-proxykat, amelyeket használhat:

1. Cloudflare

Ár: Ingyenes csomag – napi 100 000 kérés 5 USD/hó – 10 millió kérés havonta
Főbb jellemzők:
Mik azok a CORS proxy-k és biztonságosak? Tartalom gyorsítótárazása
Mik azok a CORS proxy-k és biztonságosak? CDN előnyei
Mik azok a CORS proxy-k és biztonságosak? Ingyenes terv

A Cloudflare a világ egyik vezető CDN-je. Ami népszerűvé teszi, az az ingyenes, időkorlát nélküli terv.

CORS-proxyja a Cloudflare Workers-en keresztül működik. Egyik figyelemre méltó funkciója a tartalom gyorsítótárazása. A proxy készen áll a kézbesítésre ugyanazon fejléc későbbi kérésére.

Ne feledje, hogy fizetnie kell a funkciók bővítéséért és a kérések számának növeléséért.

Azonban garantáltan megéri a pénzt – tekintve, hogy a CloudFlare egy megbízható márka, amely több mint 27 millió webhelyet támogat világszerte.

2. CORS Bárhol

Ár: INGYENES
Főbb jellemzők:
Mik azok a CORS proxy-k és biztonságosak? Nyílt forráskódú
Mik azok a CORS proxy-k és biztonságosak? Helyi proxy létrehozása

CORS Bárhol egy vírusos nyílt forráskódú modul a Node.js számára.

Lehetővé teszi a CORS proxykiszolgáló helyi futtatását. Ez megkerüli a böngésző által előírt CORS-korlátozást, mivel a CORS a böngésző szabályzata.

Ez az eszköz átirányítja a kérést a helyi proxyhoz. A proxy lekéri az adatokat a célforrástól, majd megfelelő fejlécekkel továbbítja a böngészőnek.

A CORS Anywhere egy ingyenes eszköz, amely vonzó a fejlesztők és a webhelytulajdonosok számára. A hátránya, hogy mindig futnia kell a Node.js fájlnak, hogy működjön.

3. CORS.SH

Ár: 4 USD/hó – 500 000 kérés havonta
Főbb jellemzők:
Mik azok a CORS proxy-k és biztonságosak? 500 GB sávszélesség
Mik azok a CORS proxy-k és biztonságosak? Korlátlan számú projekt
Mik azok a CORS proxy-k és biztonságosak? Nincs órakorlát
Mik azok a CORS proxy-k és biztonságosak? Maximum 6 MB kérésenként

Egy másik fizetős CORS proxy szolgáltatás CORS.SH. Az itt található kód a CORS Anywhere-n alapul, de hozzáadott játszótérrel.

Az alapterv havonta akár 500 000 kérelmet is támogathat órakorlát nélkül.

A CORS.SH megóvja Önt a Node.js állandó futtatásától, hogy a proxy működjön.

Azonban ne feledje a CORS-proxy alapvető óvintézkedéseit, ha valaki más CORS-proxyját használja.

Következtetés

A CORS-proxyknak komoly biztonsági problémái vannak, de a szükséges óvintézkedések megtétele megbízható megoldást jelenthet a CORS-hibák kiküszöbölésére.

Egyes CORS-proxy csak teszthasználatra és nem gyártásra korlátozódik. Tartsa szemmel a használati esetekre vonatkozó ajánlásokat minden megtalálható CORS-proxyn.

GYIK

  1. Mi történik, ha engedélyezi a CORS-t?

    Ez azt jelenti, hogy engedélyezi a HTTP-kérések számára, hogy tartalmat forrásoljanak a szerveréről. A kéréseket küldő domaineket engedélyezőlistára helyezheti, így nem lehet probléma.

  2. Milyen problémákat akadályoz meg a CORS?

    A CORS megakadályozza az önkényes és korlátlan kéréseket bármely webhely vagy szerver erőforrásaihoz. Figyelembe veszi a rosszindulatú szkriptektől származó kérések létezését, amelyek célja érzékeny adatok ellopása.

  3. Milyen hatással van a CORS sebezhetősége?

    Ha a CORS rosszul van konfigurálva, a szerverek szinte bármilyen kérésre válaszolhatnak, és érzékeny adatok szivároghatnak ki.

A szerzőről

Peter, az eOldal.hu tapasztalt SEO szakértője és tartalomgyártója. Több mint 10 éve foglalkozik keresőoptimalizálással és online marketinggel, amelyek révén számos magyar vállalkozás sikerét segítette elő. Cikkeiben részletes és naprakész információkat nyújt az olvasóknak a legfrissebb SEO trendekről és stratégiákról.