VPN මත රැඳී නොසිට Android යෙදුම්වල පැහැදිලි පෙළ අවහිර කරන්න
පේලෝඩයේ පැහැදිලි පෙළ සහ මාර්ගයේ පැහැදිලි පෙළ වෙනස් ගැටලු දෙකකි. පළමුවැන්න යෙදුම තුළ ද, දෙවැන්න ටනලයක් හෝ උපාංග ප්රතිපත්තියක් මගින් ද විසඳන්න.
Android හි පැහැදිලි පෙළ අවහිර කිරීම යැයි කියනුයේ සම්පූර්ණයෙන්ම වෙනස් දෙයක් දෙකකට ය. එකක් යෙදුමක් තුළ ඇති ප්රතිපත්තියක් වන අතර එය එහිම ජාලකරණ ගොඩගැස්මට සරල HTTP ප්රතික්ෂේප කිරීමට අණ දෙයි. අනෙක උපාංග මට්ටමේ විධිවිධානයක් වන අතර එය දුරකථනයේ සියල්ල එකවර ආරක්ෂා කිරීමට උත්සාහ කරයි, සාමාන්යයෙන් ගමන් වාහනය VPN හරහා යවමින්. ඒවා වෙනස් ගැටලු විසඳන අතර, දෙවැන්නට පළමුවැන්න නිවැරදි කළ නොහැක: ටනලයක් දුරකථනය සහ පිටවීම අතර කොටස ආරක්ෂා කරයි, නමුත් HTTP කථා කරන යෙදුම එම පිටවීමෙන් ඔබ්බට ඇති සියල්ල සමඟ තවමත් HTTP ම කථා කරයි.
එක් නමක් යටතේ ගැටලු දෙකක්
පළමු ගැටලුව පේලෝඩයයි: යෙදුම අක්තපත්ර හෝ ටෝකන අගට-අග සංකේතනය නොකළ ඉල්ලීමකට ලියයි, එබැවින් එය දැකිය හැකි සෑම පිම්මකටම එය කියවිය හැක. දෙවැන්න මාර්ගයයි: යෙදුම සම්පූර්ණයෙන්ම නිවැරදි විය හැක, එසේ වුවත් එය සම්බන්ධ වන්නේ කොහේ ද යන්න දේශීය Wi-Fi ක්රියාකරු නොදැන සිටීමට ඔබට අවශ්ය ය. VPN දෙවැන්නට පමණක් ආමන්ත්රණය කරයි.
එම වෙනස නිවැරදි කිරීමේ හිමිකරු තීරණය කරයි. පේලෝඩය යෙදුම බෙදාහරින තැනැත්තාට අයත් වේ, මන්ද කුමන URL එක ඇමතුම් කරන්නේ ද සහ සහතිකය තහවුරු වේ ද යන්න තීරණය කරන්නේ එම කේතය පමණි. මාර්ගය උපාංගයට හෝ ජාලයට අයත් වේ, මන්ද එය පැකට් යන්නේ කොහේ ද යන ප්රශ්නය මිස ඒවා තුළ ඇත්තේ කුමක් ද යන්න නොවේ.
පළමු මාර්ගය: ඔබ පාලනය කරන යෙදුම
ඔබ යෙදුම බෙදාහරින්නේ නම්, නිවැරදි කිරීම යනු ප්රවාහන තීරණයක් සහ එය බලාත්මක කරන ප්රතිපත්තියකි. සෑම අන්ත ලක්ෂ්යයක්ම HTTPS වෙත හරවන්න, සත්කාරක නාමය සහ සහතික සත්යාපනය සක්රීයව තබන්න, සහ සරල HTTP වෙත ආපසු යාමේ මාර්ගය එක් වින්යාස ධජයක් දුරින් තැබීම වෙනුවට මකා දමන්න. නැවත හරවා යැවීම මෙහි උදව් නොවේ: 301 ලබන HTTP ඉල්ලීමක් දැනටමත් එහි ශීර්ෂ සහ බඳ විවෘතව යවා ඇත, එබැවින් අක්තපත්ර නැවත හරවා යැවීම ඒවා ආරක්ෂා කරයි යන උපකල්පනය මත කිසිදා ගමන් නොකළ යුතුය.
Android 7.0 සහ ඉන් පසු Network Security Configuration ප්රතිපත්තිය ප්රකාශ කරයි. පහත ගොනුව කුඩාම ප්රයෝජනවත් අනුවාදයයි: වසම්-විශේෂිත ව්යතිරේකයක් වෙනස් ලෙස නොකියන්නේ නම් එය සෑම තැනකම පැහැදිලි පෙළ ප්රතික්ෂේප කරයි.
<network-security-config>
<base-config cleartextTrafficPermitted="false" />
</network-security-config>මැනිෆෙස්ටයෙන් එම සම්පත් වෙත යොමු වන්න, පසුව බෙදාහැරීමට පෙර දැනටමත් ඇති ව්යතිරේක කියවන්න. පැරණි නිදොස්කරණ වසමක් හෝ ගෙවීම් සපයන්නෙකුගේ SDK සටහනක් ඔබ ආරක්ෂා කිරීමට උත්සාහ කළ සත්කාරකය සඳහා පැහැදිලි පෙළ නිහඬව නැවත අවසර දිය හැක.
අනුවාදයේ විස්තර දෙකක් දැනගැනීම වටී. API 28 හෝ ඊට නවතර ඉලක්ක කරන යෙදුම් දැනටමත් පෙරනිමියෙන් පැහැදිලි පෙළ ප්රතික්ෂේප කරයි, එබැවින් තවමත් සරල HTTP කථා කරන යෙදුමක් පැරණි API මට්ටමක් ඉලක්ක කරයි හෝ කොහේ හරි ව්යතිරේකයක් ඇත. ජාල ආරක්ෂණ වින්යාසයක් ඇති විට, පැරණි android:usesCleartextTraffic මැනිෆෙස්ට ගුණාංගය තවදුරටත් මෙම ප්රශ්නය තීරණය නොකරයි, එබැවින් එම ධජය වෙනස් කිරීම සමහර විට කිසිවක් නොකරන බව පෙනේ.
දෙවන මාර්ගය: ඔබ පාලනය නොකරන යෙදුම
ස්ථාපිත තෙවන පාර්ශව යෙදුමක් සඳහා ඔබට පරිශීලක සැකසුමකින් එහි ආරක්ෂණ වින්යාසය නැවත ලිවිය නොහැක. යථාර්ථවාදී විකල්ප වන්නේ නිෂ්පාදනයේම ආරක්ෂිත සම්බන්ධතා පාලන, දැනටමත් TLS භාවිත කරන නඩත්තු කරන ලද විකල්පයක්, හෝ උපාංගයට ධාවනය කළ හැකි දේ සීමා කරන කළමනාකරණ උපාංග ප්රතිපත්තියකි. මේවා වෙනස් කැපවීම් වන අතර, උපාංග සමූහයකට පරිමාණය වන්නේ තුන්වැන්න පමණි.
ජාල නීති පෙනෙන තරමට දුර්වල ආදේශක වේ. 443 වරායට පමණක් අවසර දීම සත්යාපිත TLS බලාත්මක නොකරයි, මන්ද බොහෝ පැහැදිලි පෙළ ප්රොටෝකෝල එම වරායට ගෙන යා හැකි අතර, 80 වරාය අවහිර කිරීම වෙනත් වරායවල පැහැදිලි පෙළ ආවරණය නොකරයි. බ්රවුසරයේ HTTPS-පමණක් ප්රකාරය ද එම බ්රවුසරයට පමණක් සීමා වේ, එම දුරකථනයේ වෙනත් විද්යුත් තැපැල් හෝ කථාබස් යෙදුමකට නොවේ.
ගමන් වාහනය සංකේතනය වී ඇති බව පෙනෙන්නට බාධක සහතිකයක් ස්ථාපනය කිරීම විශ්වාසයේ වෙනසක් මිස නිවැරදි කිරීමක් නොවේ. එය යෙදුමේ සේවාදායක සත්යාපනය ඔබේ එකින් ප්රතිස්ථාපනය කරයි, සහ මුල සිටම සහතික සත්යාපනය නොකළ යෙදුමක් ඉන් නිවැරදි නොවේ; ඔබ කළේ ප්රවාහය කියවිය හැක්කේ කාට ද යන්න ගෙන යාම පමණි.
VPN උදව් වන තැන සහ නොවන තැන
දේශීය ජාලය සම්බන්ධතාවය ගැන කිසිවක් නොදැන සිටීම, නැතහොත් යෙදුමට වෙනත් ආකාරයකින් ළඟා විය නොහැකි පෞද්ගලික සේවාවකට ළඟා වීම අවශ්ය විට ටනලයක් නිවැරදි මෙවලමයි. HTTP සේවාලාභියෙකුට HTTPS කථා කිරීමට සැලැස්වීමට එය වැරදි මෙවලමකි, මන්ද ඉල්ලීම ටනලයට ඇතුළු වූ ආකාරයටම පිට වේ.
Android ප්රායෝගික සීමාවක් එකතු කරයි: වේදිකාව එකවර එක් VPN සේවාවක් පමණක් ධාවනය කරයි. එම ස්ථානය ගන්නා දේශීය පෙරහන් යෙදුම ඔබට සැබවින්ම අවශ්ය දුරස්ථ ටනලය සමඟ තරඟ කරයි, සහ දෙක අතර මාරු වීම යෙදුම් මට්ටමේ නොව උපාංග මට්ටමේ ක්රියාවකි. එම එකම ස්ථානය පේලෝඩ් ප්රතිපත්තිය යෙදුම තුළ තබා ටනලය මාර්ගය සඳහා තබා ගැනීමට හොඳ හේතුවකි.
දෙකම එකිනෙකට අතිච්ඡාදනය වන එකම අවස්ථාව ඔබම ක්රියාත්මක කරන පෞද්ගලික සේවාදායකයකි. එහිදී ප්රොටෝකෝලය තවමත් පැහැදිලි පෙළ වුවද ටනලයට මාර්ගය පෞද්ගලික කළ හැක, එය නිරාවරණය අඩු කරයි නමුත් පේලෝඩය කුමක් ද යන්න වෙනස් නොකරයි. එය අවදානම අඩු කිරීමක් ලෙස සලකන්න, දත්ත සංකේතනයක් ලෙස නොවේ.
අවහිර කළ යැයි කීමට පෙර පරීක්ෂා කළ යුත්තේ කුමක් ද
මිනිසුන් පුදුමයට පත් කරන පෙරනිමියෙන් පටන් ගන්න: API 28 හෝ ඊට නවතර ඉලක්ක කරන යෙදුමක් දැනටමත් පැහැදිලි පෙළ ප්රතික්ෂේප කළ යුතුය, එබැවින් පෙරනිමියක් අනුකරණය කරන වින්යාසයක් එකතු කිරීමට පෙර ඉලක්ක මට්ටම පරීක්ෂා කරන්න. පසුව අසාර්ථක අවස්ථාව හිතාමතා පරීක්ෂා කරන්න: සරල HTTP සත්කාරකයකට ඉල්ලීමක් ආපසු යාමේ මාර්ගයෙන් නිහඬව සාර්ථක වීම වෙනුවට අසාර්ථක විය යුතුය.
adb shell dumpsys package com.example.app | grep -E 'targetSdk|versionName'
adb logcat | grep -i cleartextසාර්ථක අවස්ථාව සඳහා, HTTPS ඇමතුම සැබෑ සහතික දාමයක් සත්යාපනය කරන බවත් විශ්වාස නොකළ හැකි සහතිකයක් ඇති ප්රොක්සිය සහනය වෙනුවට ප්රතික්ෂේප වන බවත් තහවුරු කරන්න. ඕනෑම සහතිකයක් සමඟ සාර්ථක වන අතට අත දීමක් ප්රවාහන ආරක්ෂාව ගැන කිසිවක් ඔප්පු කර නැත.
තෙවන පාර්ශව යෙදුමක් සඳහා ඔබට සැබවින්ම බලාත්මක කළ හැකි සීමාව ලියන්න, එය කළමනාකරණ උපාංග ප්රතිපත්තියක්, ජාල නීතියක් හෝ කිසිවක් නොවිය හැක, සහ එය පිළිගැනීමේ නිර්ණායකවල සඳහන් කරන්න. Android ආරක්ෂණ වින්යාස මාර්ගෝපදේශය වේදිකාවේ පෙරනිමි සහ කුමන සංරචක ප්රතිපත්තියට ගරු කරයි ද යන්න ලැයිස්තුගත කරයි, සහ ඔබේ වින්යාසය කිසිසේත් යමක් කරයි ද යන්න තීරණය කරන්නේ එම කොටසයි.