Awtomazzjoni tal-L2TP fuq Android: skript tista' titlob, mhux tibniha
Rotta shell ma ttellax L2TP/IPsec fuq Android. IPsec, L2TP, PPP u l-politika tal-pjattaforma kollha għandhom sehemhom, għalhekk agħżel x'in jista' jikkontrollaha.
Il-mit huwa li L2TP fuq Android hija ħaġa oħra li skript shell tista' tibda: żid rotta, sejjaħ is-servizz antik, lest. Ma jistax ikun, għax erba' livelli differenti jridu jaqblu qabel ma tunell iġorr pakkett. Is-saff IPsec jipproteġi l-mogħdija, L2TP iġorr is-sessjoni, PPP jinnegozja l-konnessjoni, u Android irid jirreġistra r-riżultat bħala VPN li jista' jirrotta madwaru. Rajt dan jippruvaw darbtejn b'kmandi kkopjati, u fiż-żewġ drabi r-rotta kienet teżisti waqt li xejn ma kien encrypted.
X'tikseb tassew bidla fir-rotta
Żieda ta' rotta tiddeċiedi fejn il-pakkett imur wara. Ma jinnegozjax assoċjazzjoni ta' sigurtà, ma jiftaħx sessjoni L2TP, u ma jmexxix l-iskambju PPP li jipproduċi indirizz, peer u settings DNS. Fuq il-handset ir-riżultat viżibbli huwa traffiku li joħroġ mill-mogħdija żbaljata, jew joħroġ u jmut, mingħajr stat ta' tunell imkien.
L-istess jgħodd għal sejħa ta' servizz ikkopjata minn rilaxx antik. Il-plumbing VPN intern ta' Android mhuwiex API ta' awtomazzjoni ppubblikata, u transazzjoni numerata minn verżjoni oħra tista' tiltaqa' ma' operazzjoni differenti jew titlob privileġġi li l-iskript m'għandhiex. Awtomazzjoni li ġġorr password qatt m'għandha tiddependi fuq argumenti interni mbassra, għax il-mod ta' falliment huwa jew no-op sieket jew profil nofsu maħluq li ħadd ma jnaddfu.
Erba' sidien, u l-iskript mhijiex waħda minnhom
Ħu minnhom fl-ordni. IPsec jistabbilixxi u jżomm il-mogħdija protetta u jawtentika l-peers. L2TP iġorr is-sessjoni fuqha, u s-saffi huma r-raġuni għaliex l-istandard jittrattahom bħala mekkaniżmi separati u mhux protokoll wieħed. Ġewwa dan, PPP jinnegozja l-parametri tal-konnessjoni li l-klijent se juża. Imbagħad Android jippossjedi n-naħa tal-pjattaforma: l-interface VPN reġistrata, l-ambitu għal kull app, l-istat always-on u ċ-ċiklu tal-ħajja li jiddeċiedi x'jiġri meta l-app tinqatel.
Skript tista' tara biss l-aħħar minn dawk is-saffi, u normalment b'mod indirett. Tista' titlob klijent jgħaqqad jekk dak il-klijent jesponi kontroll dokumentat, u wara tista' tosserva l-istat tal-interface. Ma tistax tissostitwixxi t-tliet saffi ta' taħt, u ma tistax ġġiegħel il-pjattaforma tittratta interface mhux reġistrata bħala VPN.
Għaliex lanqas daemon mhu shortcut
Bdil ta' daemon Linux privileġġjat fuq it-tagħmir jidher bħall-biċċa nieqsa, u spiss tassew itella' tunell. Dak li ma jagħmilx huwa li jirreġistra dak it-tunell ma' Android. L-interface teżisti fil-kernel, iżda l-għażla VPN tal-pjattaforma, ir-routing għal kull app, il-politika always-on u ċ-ċiklu tal-ħajja ma jafux biha, u l-bidliet tar-rotta u d-DNS tad-daemon innifsu jikkompetu mal-maniġer tan-netwerk għall-istess tabelli.
Ir-riżultat huwa konnessjoni li taħdem għat-traffiku tad-daemon u b'mod misterjuż mhux għall-app li kienet tinteressak, jew waħda li tibqa' sakemm is-sistema terġa' tevalwa n-netwerks tagħha. L-ebda riżultat mhu bug tal-pjattaforma; huwa l-fruntiera bejn li tippossjedi socket u li tippossjedi l-faċilità VPN.
Kif jidhru l-mogħdijiet appoġġjati
Jekk l-organizzazzjoni tista' tmur għal profil li Android stess jipprovdi, it-triq tal-pjattaforma hija dik onesta. Minn API 30, VpnManager jappoġġja l-provvediment u l-kontroll tal-profili VPN tal-pjattaforma mill-apps, b'fluss ta' awtorizzazzjoni marbut mal-app li ssejjaħ. Mhuwiex konvertitur L2TP: il-mudell tal-profil li jipprovdi għal IKEv2 ma jittraduxix konfigurazzjoni L2TP eżistenti, u li tbiddel il-protokoll hija migrazzjoni, mhux sempliċi bidla ta' isem. Identitajiet, rotot, DNS privat u permessi ta' aċċess iridu jinqasmu b'mod intenzjonat.
Jekk is-servizz irid jibqa' L2TP/IPsec, il-kombinazzjoni appoġġjata hija klijent u rilaxx tal-OS li l-operatur verament jiddokumenta, u l-kuntratt tal-awtomazzjoni tiegħu jekk jeżisti. Meta ma jkunx hemm kontroll mingħajr sorveljanza dokumentat, it-tweġiba t-tajba hija konnessjoni manwali appoġġjata, mhux skript privileġġjata fraġli li b'kumbinazzjoni taħdem fuq build wieħed.
X'tagħmel awtomazzjoni tajba
B'kontroll dokumentat, l-awtomazzjoni għandha xogħol żgħir u difendibbli: itlob il-konnessjoni msemmija, stenna l-istat lest, ieqaf fuq falliment ta' awtentikazzjoni jew setup, imexxi x-xogħol maħsub, u ħalli t-tindif lill-komponent li jippossjedi l-konnessjoni. Il-kredenzjali jibqgħu mal-klijent li jaf jaħżinhom u jdawwarhom.
Ikteb liema komponent jippossjedi liema saff qabel ma tikteb l-ewwel linja, u ċċekkja r-riżultat kontra dan:
- IPsec u PPP huma mmaniġġjati mill-klijent, mhux mir-rotot tal-iskript.
- Il-konnessjoni tidher fl-istat VPN tal-pjattaforma, għalhekk l-ambitu għal kull app u always-on japplikaw għaliha.
- L-ebda sejħa ta' servizz interna, numru ta' transazzjoni jew argument imbassar ma jġorr kredenzjali.
- Falliment f'kull pass ma jħallix profil nofsu reġistrat.