App ɗin Expo ya kasa HTTP a Android 9: cleartext ne, ba VPN ba
Build ɗin Expo da ke kiran API na HTTP mai sauƙi ya kasa a Android 9 da bayansa. Ramin ba shi da laifi: alamar cleartext tana cikin tsarin build ɗin.
Kun fitar da sabon build, kun koma VPN, kuma wannan allon ya daina lodawa. A Android 9 da bayansa bayani mafi yawan lokaci ya fi ban sha’awa: dandali ya ƙi HTTP mai sauƙi ga manhajoji da ke nufin API 28 ko sama da haka, kuma VPN ya canza isasshen mahallin don ya bayyana shi. Kuskuren da kuke gani ya dogara da abokin ciniki na HTTP, shi ya sa ba kasafai yake cewa cleartext ba.
Menene wannan kasawa a haƙiƙa
Daga Android 9 zuwa gaba dandali yana toshe cleartext bisa tsoho da zarar manhaja ta nufi matakin API 28 ko sama da haka. Dandali yana ƙin buƙatar zuwa adireshin HTTP mai sauƙi kafin ko fakiti ɗaya ya bar na’urar. Wane kuskure kuke gani ya dogara da ɗakin karatu na HTTP: wani lokaci kasawar cibiyar sadarwa ta gama gari, wani lokaci ƙarewar lokaci, wani lokaci saƙon da ke ambaton cleartext kai tsaye. Abin da ba ya yi sau ɗaya shi ne isa uwar garkenku. Android yana rubuta tsoho da madadin da aka iyakance ga yanki a cikin jagorar tsarin tsaro.
Browser a kan wannan na’urar zai iya loda shafin har yanzu, kuma wannan shi ne alamar da yawancin mutane ke wucewa. Browser ba sa ƙarƙashin manufar tsaron cibiyar sadarwar manhajarku.
Me ya sa ake zargi VPN
Abubuwa uku sukan canza lokaci ɗaya. Manhaja na iya warware wani sunan mai masauki daban bayan VPN ya haɗa, na’urar na iya zama sabuwa da sabon build, ko build ɗin kansa ya koma matakin API da ke kunna tsoho. VPN ana iya gani kuma ba a ganin SDK ɗin da ake nufi, don haka VPN ke samun tikitin.
Kwatanta matakan da ake nufi na tsohon build da sabon build kafin ku taɓa tsarin cibiyar sadarwa. Manhajar da ke nufin 27 ko ƙasa da haka an keɓe ta, wanda ke bayyana kowane rahoton «yana aiki a wayata ta da».
Inda alamar Expo take tsayawa a haƙiƙa
A cikin aikin Expo da ake sarrafawa, ƙara saiti a app.json ba ya gyara manifest na Android, domin prebuild da build ɗin ci gaba ne ke samar da manifest ɗin. Ƙarin tsari ne ke rubuta saitin a wannan matakin. Hanyar da aka tallafa ita ce expo-build-properties, wanda aka saita a tsarin manhaja tare da zaɓin cleartext a ƙarƙashin android.
{
"plugins": [
["expo-build-properties", {
"android": { "usesCleartextTraffic": true }
}]
]
}Yankin yana saita zaɓin ƙarin ne kawai; ana samar da manifest ɗin daga baya. Gudanar da prebuild ko sabon build na abokin ciniki na ci gaba, sannan kafin sake gwadawa duba AndroidManifest.xml da aka samar don android:usesCleartextTraffic, domin sake lodawa da JS kawai yana kiyaye tsohon manifest. Daidaita sigar ƙarin da Expo SDK da aikin ke gudana a kai. Zaɓuɓɓukan ƙarin suna motsi tsakanin fitowa, kuma yankin da aka kwafa daga wani SDK wata tabbatacciyar hanyar samun aikin da ba ya komai cikin shiru.
Bare workflow da ƙaramin zaɓi
Ga bare React Native makamancin shi ne android:usesCleartextTraffic a kan element ɗin application, ko tsarin tsaron cibiyar sadarwa da ke ba da izinin cleartext ga ƙayyadaddun yankuna kawai. Siffar da aka iyakance ga yanki ita ce wacce ya kamata a fifita, domin tana ba da izinin API na ciki kuma tana barin komai a kan HTTPS. Har ila yau tana rubuta jerin keɓe nata, kuma wannan shi ne ɓangaren da mai bita zai tambaya.
Babu ɗaya daga cikin hanyoyin biyu da ke canza tsohon dandali ga duk wani abu da ba ku ambata ba.
Fara tabbatar da shi daga log ɗin na’urar
Kafin gyara tsarin, sami ainihin kasawar. adb logcat a na’urar da aka haɗa yana nuna ƙin cleartext na dandali kuma yana ambaton ɓangaren da ya haifar da shi. Ƙin socket, sunan da ba ya warwarewa ko gazawar musafaha na TLS suna nuni zuwa wani wuri daban, kuma kunna cleartext zai raunana manhajar ne kawai a banza.
Sannan ku riƙe samarwa da gaskiya. Cleartext abin karɓa ne ga ƙarshen dakin gwaji wanda ba zai iya bayar da TLS ba, kuma kawai ga mafi ƙanƙanin lokacin da za ku iya tsarawa. Idan API zai iya ƙare TLS cikin cibiyar sadarwar sirri, sanya takardar shaidar a cikin ma’ajiyar amana ta na’urar kuma bar cleartext a kashe, domin ramin yana ɓoye hanyar zuwa wurin fita kuma babu wani abu bayansa.
Da zarar ƙarshen ya amsa a HTTPS, cire izinin, sake ginawa kuma gwada a VPN da kuma a Wi-Fi ta yau da kullum a cikin zama ɗaya. Warware sunaye na iya bambanta tsakanin waɗannan hanyoyi biyu, kuma haɗaɗɗen su biyu ne kawai ke gaya muku wanne ne ke faɗin gaskiya.