Kumpletong Gabay sa Pagprotekta sa mga Resources at API gamit ang Firebase App Check

  • Sertipikasyon ng pagiging tunay ng mga aplikasyon at device upang mabawasan ang pandaraya at pang-aabuso sa backend.
  • Maraming gamit na integrasyon sa iba't ibang provider tulad ng reCAPTCHA Enterprise, Play Integrity, at App Attest.
  • Kakayahang protektahan ang parehong katutubong serbisyo ng Firebase at proprietary infrastructure gamit ang mga JWT token.

Protektahan ang mga mapagkukunan at API gamit ang Firebase App Check

Kung nagtatrabaho ka sa development, alam mong ang pag-iwan sa iyong mga API na nakalantad ay parang pag-iwan sa iyong pintuan na bukas ang lahat. Minsan, ang isang leaked API key lang ay sapat na para may magsimulang magpalaki ng iyong mga bayarin o abusuhin ang iyong mga serbisyo. Upang maiwasan ang mga problemang ito, naglabas ang Firebase... Pagsusuri ng App, isang tool na partikular na idinisenyo upang matiyak na ang sinumang tumatawag sa iyong server ay ang iyong application talaga at hindi isang bot o isang malisyosong third party.

Ang pinaka-interesante ay ang sistemang ito ay hindi nakatuon sa kung sino ang gumagamit (iyan ang trabaho ng pagpapatunay), kundi sa ang pagiging lehitimo ng aparato o ang app. Sa madaling salita, lumilikha ito ng panangga na nagpapatunay sa pagkakakilanlan ng software bago ito payagan na ma-access ang iyong data, na isang malaking hakbang pasulong para sa i-secure ang backend laban sa phishing at pandaraya sa pagsingil.

Paano nga ba eksaktong gumagana ang mekanismong ito?

Ang proseso ay medyo maayos at nangyayari sa background upang hindi maistorbo ang gumagamit. Karaniwan, kapag in-activate mo ang serbisyo, ang iyong app ay nakikipag-ugnayan sa isang tagapagbigay ng sertipikasyon (tulad ng Play Integrity sa Android o DeviceCheck sa iOS) upang patunayan ang pagiging tunay nito. Kapag naaprubahan na ito ng provider, ipapadala ang sertipikasyong iyon sa App Check server.

Bineberipika ng server na nasa maayos ang lahat at nagbabalik ng mensahe sa iyong aplikasyon. Token ng Pagsusuri ng App na may petsa ng pag-expire. Ang Firebase SDK ang bahala sa pag-cache ng token na ito at awtomatikong pag-attach nito sa bawat kahilingan na gagawin mo sa mga protektadong serbisyo. Sa ganitong paraan, tutugon lamang ang backend kung ang kahilingan ay may kasamang balido at na-update na tokenpagtanggi sa anumang pagtatangka sa panlabas na pag-access.

Pagsusuri ng Gawi ng Gumagamit gamit ang Firebase Analytics
Kaugnay na artikulo:
Kumpletong Gabay sa Pagsusuri ng Gawi ng User gamit ang Firebase Analytics

Pagsusuri ng katatagan at seguridad

Mahalagang huwag mahulog sa patibong ng pag-iisip na ang App Check ay isang mahiwagang bala na nag-aayos ng lahat. Ang seguridad ay direktang nakasalalay sa pagiging maaasahan ng tagapagtustos na pipiliin mong i-certify ang app. Bagama't inaalis nito ang karamihan sa mga pinakakaraniwang sanhi ng pang-aabuso, hindi nito ginagarantiyahan ang 100% na proteksyon laban sa lahat ng posibleng pag-atake, ngunit walang duda, isang mahalagang hakbang sa pag-iwas para sa anumang seryosong proyekto.

Mahalagang makilala ang pagkakaiba ng App Check at Firebase Authentication. Bagama't pinoprotektahan ng authentication ang pagkakakilanlan ng user, ang App Check... pinoprotektahan ang developer tinitiyak na ang app ay hindi napakialaman. Ang parehong sistema ay perpektong nagpupuno sa isa't isa: alam ng isa kung sino ang tao at alam ng isa na ang Ito ang orihinal na app.

Mga provider at mga limitasyon sa paggamit

Depende sa platform na iyong ginagamit, magkakaroon ka ng iba't ibang opsyon para sa pag-verify ng pagiging tunay. Sa ecosystem ng Apple, ang mga sumusunod ay ginagamit: DeviceCheck at App Attest, habang sa Android ang bituin ay Maglaro ng IntegridadPara sa web, ang pinakamatibay na opsyon ay reCAPTCHA Enterprisekahit na mayroon ding bersyon v3.

Tungkol sa mga gastos at bayarin, kailangan mong malaman ang mga ito. Halimbawa, ang Play Integrity ay nag-aalok ng karaniwang antas ng 10,000 tawag kada arawSa bahagi nito, ang reCAPTCHA Enterprise ay nag-aalok ng unang 10,000 libreng pagtatasa bawat buwan, ngunit pagkatapos noon ay hindi na libre ang serbisyo. Mayroon itong kaugnay na gastos.Kung sa tingin mo ay lalampas ang iyong trapiko sa mga bilang na ito, pinakamahusay na makipag-ugnayan sa suporta ng Firebase upang taasan ang mga limitasyon.

Implementasyon sa mga pasadyang kapaligiran at backend

Ang App Check ay hindi lang para sa mga serbisyo ng Google; maaari mo rin itong gamitin para sa mga pasadyang mapagkukunan ng backendnasa Cloud Run man sila o nasa sarili mong server. Sa kasong ito, ang token ay karaniwang ipinapadala sa header. X-Firebase-AppCheck at dapat mo itong patunayan sa iyong code.

Kung gumagamit ka ng Node.js, maaari kang magpatupad ng Middleware ng Express.js na gumagamit ng Firebase Admin SDK upang i-verify ang token. Sa ibang mga wika, tulad ng Ruby, ang proseso ay kinabibilangan ng pagpapatunay na ang token ay isang JSON Web Token (JWT) Mag-sign up, siguraduhing RS256 ang algorithm, at beripikahin kung tugma ang nagpadala at tatanggap sa numero ng iyong proyekto sa Firebase. Para ma-optimize ang workflow na ito, inirerekomenda I-download ang Android Studio at maayos na i-configure ang development environment.

Mga pag-aaral ng kaso: Google Maps at FireCMS

Isang napaka-kapaki-pakinabang na halimbawa ang pagprotekta sa Google Maps JavaScript API. Para maiwasan ang pagnanakaw ng iyong API key at paggamit nito sa ibang lugar, maaari mo itong i-link sa App Check. Una, nililimitahan mo ang key sa ang iyong hosting domain at pagkatapos ay i-configure mo ang ReCaptchaV3Provider sa iyong frontend code. Sa huli, maglo-load lamang ang mapa kung balido ang tokenpagharang sa anumang mga kahilingan mula sa mga hindi awtorisadong pahina.

Para sa mga gumagamit FireCMSNapakasimple ng integrasyon dahil pinapayagan ka nitong paganahin ang App Check nang direkta mula sa FireCMS Cloud console o sa pamamagitan ng property. appCheck sa mga setting. Tandaan lamang na idagdag ang FireCMS domain sa payagan ang listahan mula sa iyong reCAPTCHA provider upang maiwasan ang mga error sa koneksyon.

Mga teknikal na detalye tungkol sa pag-verify ng token

Para sa mga kailangang manu-manong ipatupad ang beripikasyon sa Edge (tulad ng Cloudflare Workers) Sa Apigee, ang proseso ay sumusunod sa isang mahigpit na pamantayan. Kinakailangan nito ang pagkuha ng JWK public key set mula sa Firebase endpoint, pag-verify ng token signature, at pagtiyak na hindi pa nag-expire.

Sa Apigee, isinasalin ito sa isang patakaran ng I-verify ang JWT kung saan ang issuer at audience ay tinukoy gamit ang project number. Kung ang token ay hindi wasto o wala sa header, ang request ay agad na tinanggihan na may 401 error, pinapanatiling ligtas ang iyong imprastraktura mula sa mga malisyosong kahilingan.

Mga Alternatibo sa Firebase Dynamic Links at Deeplinking
Kaugnay na artikulo:
Kumpletong Gabay sa Firebase Dynamic Links at mga Alternatibo sa Deeplinking

Ang paggamit ng App Check ay nagbibigay-daan sa iyong baguhin ang isang mahinang pampublikong API tungo sa isang saradong sistema kung saan tanging ang lehitimong software lamang ang may access, pinagsasama ang hardware at software validation kasama ang JWT token management upang lumikha ng isang mas ligtas at matibay sa pandaraya na kapaligiran sa pag-develop. Ibahagi ang impormasyon para malaman ng ibang mga user ang tungkol sa paksa.


Idagdag bilang ginustong mapagkukunan