Android'дон VPN профилин экспорттоо резервдик көчүрүү кадамындай сезилет, аны сунуштаган меню бул таасирди оңдоо үчүн эч нерсе кылбайт. Колуңузда калганы — parser киргизүүсү, операциялык система эч качан кайтарбашы мүмкүн болгон ачкыч жана дал ошол телефонго берилген авторизация. Ушул үчөөнү бөлүп карасаңыз, пайдалуу суроо пайда болот: жаңы түзмөктө дагы кайсы бөлүк жетишпейт?

Файл — жеңил бөлүгү. Калган экөө көчүрүү иштейби-иштебейби аныктайт.

Экспорттолгон профилде чындап эмне бар

Ишенүүдөн мурун файлды тексттик редактордо ачыңыз. OpenVPN профили — кичине конфигурация тили: remote, proto, data-ciphers жана көбүнчө клиент өзүнүн TLS стекине берген ички <ca>, <cert>, <key> же <tls-crypt> блоктору. WireGuard конфигурациясы жалпагыраак: [Interface] ичинде PrivateKey жана Address бар, анан ар бир акыркы чекитке бир [Peer] PublicKey, AllowedIPs жана Endpoint менен. IKEv2 ачкыч блокторунун ордуна пайдалуу жүк сөздүктөрү бар .mobileconfig катары келет.

Бул тексттердин эч бири өзүнчө эсептик маалымат эмес. Эсептик маалымат — жеке ачкыч, жана ар бир формат аны ичине чаптайт же аны түзгөн клиенттин ичинде гана чечилүүчү бүркөлүү атка шилтейт.

Ачкыч Android'де чындап кайда жашайт

Android колдонмо маалыматтарын /data/data/<package> астында сактайт, аны тек ошол колдонмонун UID окуй алат. Root жасалбаган телефондон башка колдонмонун жеке каталогун көчүрүүнүн колдоого алынган жолу жок, ал эми adb backup Android 12 аны жойгондон жана клиенттер allowBackup="false" деп жарыялай баштагандан кийин жалпы жооп болуудан калды. Ошондуктан Android клиентинен экспорт дегенибиз ошол клиент ишке ашырган нерсе, файлдык системанын көчүрмөсү эмес.

Идентификация катмары колдонмонун астында. Эгер клиент ачкычыңызды Android Keystore'ко импорттогон болсо, материал ошол жерде жаралат же оролот, ал эми кийинки экспорттор байттардын ордуна Keystore бүркөлүү атына шилтеме алып жүрүшү мүмкүн. Аппараттык корголгон ачкычтарды ээлик кылган колдонмо да окуй албай тургандай курулган, муну Keystore documentation сүрөттөйт, ошондуктан ошол бүркөлүү атка шилтеген профиль ошол эле телефондо таза импорттолот, ал эми башка бардык жерде ийгиликсиз болот.

Бул бузулган экспорт эмес. Бул платформадан талап кылынган касиет.

Профиль эмнени алып өтө албайт

Объектилерди барар жер кабыл ала турган нерсе менен салыштырыңыз:

ОбъектӨтөбү?Эмнеге
Протокол жана акыркы чекитОоба, эгер барар жердин клиенти аны түшүнсөПрофилдеги жөнөкөй текст
CA сертификаты жана хост атын текшерүүАдаттаАчык материал, бирок хост аты сертификатка дал келиши керек
Клиент сертификатыОоба, эгер ал ар бир түзмөккө байланбаган болсоСертификаттар ташылат; канча түзмөк бирөөнү колдоно аларын берүүчү чечет
Жеке ачкычKeystore'дон тышкары жаралган болсо ганаАппараттык корголгон ачкычтарды экспорттоого болбойт, тек алмаштырууга болот
Аккаунт, MFA, SSO сессиясыЖокТокендердин мөөнөтү бүтөт жана аларды алган түзмөккө байланып калат
Маршруттар, DNS жана колдонмо аймагыТек конфигурация тексти катарыAndroid аларды туташуу учурунда VpnService.Builder аркылуу колдонот
Бөлүнгөн туннелдик колдонмолор тизмесиСейрекПакет аттары түзмөктөр арасында айырмаланат, ал эми тизме клиент абалы

Эки сап чаташуунун көбүн жаратат. Түзмөктө жаралган жана экспорттолбойт деп белгиленген ачкыч колдонмо маалыматтары менен чындап жоголот, ошондуктан алмаштыруу — жаңы ачкыч жана ага берилген сертификат. Жаңы телефонго көчүрүлгөн сессия токени адатта биринчи жаңыртууда өлөт, бул ийгиликсиз импорт катары окулат.

Импорт — талдоо, анан макулдук суроосу

Кабыл алуучу тарапта импорт — талдоо, анын артынан жазуу. Клиент конфигурацияны окуп, ар бир шилтелген блоктун бар экенин текшерет, анан туннелдин аныктамасын өзүнүн sandbox'ына жазат, ошондуктан Жүктөөлөрдөн тандаган файл кийин туташкан нерсе эмес.

Анан эч бир файл өткөрүп жибере албаган авторизация кадамы келет. Android туннель орнотуудан мурун колдонмо VpnService.prepare() чакырып, сиздин макулдугуңузду алышын талап кылат, ошондуктан жаңы импорттолгон профиль дагы бир жолу система диалогун көрсөтөт. Анан туннель addAddress, addRoute, addDnsServer жана ар бир колдонмо боюнча маршруттоо үчүн addAllowedApplication же addDisallowedApplication аркылуу ачык курулат. Алардын эч бири акыркы чекиттен келип чыкпайт, ошондуктан бир профиль эки клиентте ар башка натыйжалуу маршруттар топтомун бере алат.

Сертификатка негизделген конфигурациялар дагы бир бутак кошот. Сервер белгилүү түзмөккө сертификат бергенде, MDM жана SCEP каттоосу жасагандай, аны экинчи телефондо кайра колдонуу сервер ар бир инсандыкка бир сессияны талап кылганга чейин иштейт же TLS кол алышууда ийгиликсиз болот. Кайра колдонууну пландаштыруудан мурун берүүчүнүн саясатын текшериңиз.

Эскини кызматтан чыгаруудан мурун жаңы түзмөктү текшериңиз

Жаңы телефон жашыл белгиден жакшыраак нерсени өтпөйүнчө эски телефонду туташтырып туруңуз. Жаңы түзмөктөн чыгуу дарегин жана ал чындап колдонгон DNS чечүүчүсүн ырастаңыз. Эгер split tunneling маанилүү болсо, туннелди айланып өтүшү керек колдонмону жана өтпөшү керек колдонмону иштетип, кайсынысы провайдериңизге жетет даражаны караңыз.

Бир текшерүү чыгуу дарегин чечет. Телефондун браузеринде https://ifconfig.me ачыңыз, анан ошол эле Wi-Fi'деги ноутбуктан curl -s https://ifconfig.me иштетип, эки жоопту провайдериңиз берген дарек менен салыштырыңыз.

Ошондо гана эски инсандыкты кызматтан чыгарыңыз, жана муну берүүчү аркылуу жасаңыз: сертификатты жокко чыгарыңыз же түзмөктү аккаунттан алып салыңыз. Жүктөөлөрдөн файлды өчүрүү эч нерсени бүтпөйт, анткени бир эле сертификатты кармаган эки түзмөк сервер журналында бирдей көрүнөт.

Эгер экспорт ташылып кетпей турган болуп чыкса, чечим — жарыя конфигурация топтому эмес, жаңы каттоо. Экинчи түзмөк үчүн профиль сураңыз, же жаңы телефондо ачкыч жупун жаратып, CSR тапшырыңыз; байыраак, жана бул берүүчү колдогон жол.

Бир нерсени өчүрүүдөн мурун текшерүү тизмесин өткөрүңүз: жаңы түзмөк туташат, чыгуу дареги менен DNS дал келет, ар бир колдонмо аймагы өзүңүз ойлогондой, эски инсандык жокко чыгарылган жана сакталган ар кандай конфигурация файлы шифрленген кампада.

Тектеш макалалар