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

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

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:

https://www.youtube.com/watch?v=4KHiSt0oLJ0

🎥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.