
Kui töötad arenduses, siis tead, et API-de paljastamata jätmine on nagu ukse pärani lahti jätmine. Mõnikord piisab vaid ühest lekkinud API-võtmest, et keegi hakkaks sinu arveid paisutama või sinu teenuseid kuritarvitama. Nende probleemide vältimiseks on Firebase välja andnud rakenduse kontrollimise tööriista, mis on spetsiaalselt loodud tagamaks, et serverile helistaja on tegelikult sinu rakendus, mitte bot või pahatahtlik kolmas osapool.
Kõige huvitavam on see, et see süsteem ei keskendu kasutaja olemusele (see on autentimise ülesanne), vaid pigem seadme või rakenduse õiguspärasusele. Teisisõnu, see loob kaitsekilbi, mis kontrollib tarkvara identiteeti enne teie andmetele juurdepääsu lubamist, mis kujutab endast hiiglaslikku sammu edasi andmepüügi ja arvelduspettuste eest kaitsmisel .
Kuidas see mehhanism täpselt töötab?
Protsess on üsna sujuv ja toimub taustal, et mitte kasutajat häirida. Põhimõtteliselt võtab teie rakendus teenuse aktiveerimisel ühendust sertifitseerimisteenuse pakkujaga (näiteks Play Integrity Androidis või DeviceCheck iOS-is), et tõestada selle autentsust. Kui pakkuja selle heaks kiidab, saadetakse see sertifikaat rakenduse kontrollimise serverisse.
Server kontrollib, kas kõik on korras, ja tagastab teie rakendusele rakenduse kontrollimise tokeni koos aegumiskuupäevaga. Firebase SDK salvestab selle tokeni vahemällu ja lisab selle automaatselt igale päringule, mille teete kaitstud teenustele. Sel viisil vastab taustsüsteem ainult siis, kui päringule on lisatud kehtiv ja ajakohane token , lükates tagasi kõik välised juurdepääsukatsed.
Töökindluse ja turvalisuse analüüs
Oluline on mitte langeda lõksu, arvates, et App Check on imerohi, mis kõik parandab. Turvalisus sõltub otseselt rakenduse sertifitseerimiseks valitud teenusepakkuja usaldusväärsusest . Kuigi see kõrvaldab enamiku levinud kuritarvitusvektoritest, ei taga see 100% kaitset kõigi võimalike rünnakute eest, kuid on kahtlemata iga tõsise projekti puhul oluline ennetav meede .
Oluline on eristada rakenduse kontrolli ja Firebase'i autentimist. Kuigi autentimine kaitseb kasutaja identiteeti, kaitseb rakenduse kontroll arendajat , tagades, et rakendust pole muudetud. Need kaks süsteemi täiendavad teineteist ideaalselt: üks teab, kes on kasutaja, ja teine teab, et rakendus on ehtne.
Teenusepakkujad ja kasutuspiirangud
Sõltuvalt kasutatavast platvormist on autentsuse kontrollimiseks erinevad valikud. Apple'i ökosüsteemis kasutatakse DeviceChecki ja App Attesti , Androidis aga Play Integrity't . Veebi jaoks on kõige töökindlam valik reCAPTCHA Enterprise , kuigi olemas on ka versioon v3.
Kulude ja tasude osas on oluline tähelepanu pöörata. Näiteks Play Integrity pakub standardset taset 10 000 kõnet päevas . reCAPTCHA Enterprise seevastu pakub esimesed 10 000 hindamist tasuta kuus, kuid pärast seda on teenusel tasu . Kui arvate, et teie liiklus ületab need arvud, on limiitide suurendamiseks kõige parem võtta ühendust Firebase'i toega.
Rakendamine kohandatud keskkondades ja taustsüsteemis
Rakenduste kontroll pole mõeldud ainult Google'i teenuste jaoks; saate seda kasutada ka järgmiste teenuste jaoks kohandatud taustaressursidolenemata sellest, kas need asuvad Cloud Runis või teie enda serveris. Sellisel juhul saadetakse tunnus tavaliselt päises. X-Firebase-AppCheck ja peate selle oma koodis valideerima.
Kui kasutate Node.js-i, saate rakendada Express.js-i vahevara , mis kasutab tokeni kontrollimiseks Firebase Admin SDK-d. Teistes keeltes, näiteks Rubys, hõlmab protsess tokeni kinnitamist allkirjastatud JSON Web Token (JWT) olemasolul , algoritmi RS256-koodi kontrollimist ning väljastaja ja sihtrühma vastavuse kinnitamist teie Firebase'i projekti numbrile. Selle töövoo optimeerimiseks on soovitatav alla laadida Android Studio ja seadistada oma arenduskeskkond õigesti.
Juhtumiuuringud: Google Maps ja FireCMS
Väga kasulik näide on Google Mapsi JavaScript API kaitsmine. Et keegi ei saaks teie API-võtit varastada ja seda mujal kasutada, saate selle linkida rakendusega App Check. Esmalt piirate võtme teie hostingu domeen ja seejärel konfigureerite ReCaptchaV3Provider teie esiotsa koodis. Lõppkokkuvõttes laadib kaart ainult siis, kui märk on kehtivvolitamata lehtedelt tulevate päringute blokeerimine.
Neile, kes kasutavad FireCMSIntegratsioon on väga lihtne, kuna see võimaldab teil rakenduse kontrollimise lubada otse FireCMS-i pilvekonsoolist või vara kaudu. appCheck seadetes. Lihtsalt ärge unustage lisada FireCMS-i domeeni lubatud nimekiri teie reCAPTCHA pakkujalt, et vältida ühenduse vigu.
Tokeni kinnitamise tehnilised üksikasjad
Neile, kes peavad servas (näiteks Cloudflare Workers) või Apigees käsitsi verifitseerima , järgib protsess ranget standardit. See nõuab JWK avaliku võtme komplekti hankimist Firebase'i lõpp-punktist, tokeni allkirja kontrollimist ja veendumist, et see pole aegunud.
Apigees tähendab see Verify JWT poliitikat , kus väljastaja ja sihtrühm defineeritakse projekti numbri abil. Kui token on kehtetu või päises puudub, lükatakse päring kohe 401 veaga tagasi, hoides teie infrastruktuuri pahatahtlike päringute eest kaitstuna.
Rakenduse kontrolli kasutamine võimaldab teil muuta haavatava avaliku API suletud süsteemiks, millele pääseb ligi ainult legitiimne tarkvara, kombineerides riist- ja tarkvara valideerimise JWT tokenihaldusega, et luua palju turvalisem ja pettusekindlam arenduskeskkond. Jagage seda teavet, et ka teised kasutajad saaksid sellest teada.
