L-immaġnijiet tal-kontenitur jistgħu jġorru kull OpenVPN binarju u fajl tal-konfigurazzjoni li jkollhom bżonn u xorta jonqsu fl-ewwel sejħa tan-netwerk. L-iżball isemmi /dev/net/tun għax l-applikazzjoni talbet lill-qalba interfacca TUN u l-kontenitur ma kellux la n-nodu tal-apparat u lanqas il-kapaċità li joħloq wieħed. Dawn huma żewġ permessi separati, u li tissewwa wieħed iħalli l-ieħor eżatt fejn kien.

Li tifridhom jieħu ordni wieħed għal kull wieħed. Il-messaġġ tal-iżball wara jgħidlek f'liema fruntiera kont qiegħed tassew.

In-nodu tal-apparat u l-kapaċità huma żewġ bibien

In-nodu tal-apparat huwa oġġett tas-sistema tal-fajls, għalhekk kontenitur irid jarah fl-ispazju tal-ismijiet tal-immuntar tiegħu stess. Il-kapaċità hija permess, għalhekk il-proċess jeħtieġ CAP_NET_ADMIN fl-ispazju tal-ismijiet fejn se tinħoloq l-interfacca. Li tgħaddi l-apparat mingħajr il-kapaċità jagħtik nodu li jiftaħ u ioctl li jonqos. Li tagħti l-kapaċità mingħajr l-apparat iħalli l-applikazzjoni ma tistax tiftaħ xejn, u għalhekk it-tnejn normalment jidhru flimkien fl-eżempji.

Is-setting devices ta' Docker timmappa l-apparat tal-ospitanti fil-kontenitur, filwaqt li cap_add taġġusta s-sett tal-kapaċitajiet. Bind mount tal-istess mogħdija jqiegħed il-fajl fil-vista mingħajr ma japplika s-semantika tal-aċċess għall-apparat.

Irrepeti dan barra mill-fajl Compose

Qabel ma teditja s-servizz, iċċekkja li l-ospitanti għandu l-apparat u li kontenitur vojt jista' joħloq interfacca. L-ordni hawn taħt huwa deliberatament minimu, u l-uniku skop tiegħu huwa li jifred problema tal-ospitanti minn problema ta' compose. Jekk jonqos, l-ebda bidla fil-compose ma tgħin.

ls -l /dev/net/tun
docker run --rm --cap-add NET_ADMIN --device /dev/net/tun:/dev/net/tun alpine sh -c 'apk add -q iproute2 && ip tuntap add dev tun9 mode tun && ip link show tun9'

Nodu nieqes fuq l-ospitanti jfisser li l-modulu tun mhuwiex disponibbli, li hija tiswija fuq in-naħa tal-ospitanti u mhux tal-kontenitur. Nodu li jeżisti iżda ma jistax jinfetaħ fil-kontenitur jindika aċċess għall-apparat, u l-messaġġ se jgħid permission denied minflok no such file. L-ordni ta' dawn iż-żewġ fallimenti hija d-dijanjosi kollha. Ikteb liema rajt qabel ma tibdel xi bandiera.

L-iżbalji wara TUN huma problemi differenti

Malli tidher l-interfacca, il-falliment li jmiss għandu sid differenti. L-iżbalji tal-awtentikazzjoni jfissru li t-tunnel wasal għas-server u l-kredenzjali ġew miċħuda, għalhekk bidliet fil-kapaċità mhux se jgħinu. Tunnel li jiġi stabbilit waqt li l-applikazzjonijiet għadhom jonqsu jindika rotot, trażmissjoni, riżoluzzjoni DNS ġewwa l-kontenitur jew it-tqassim tan-netwerk tal-kontenitur stess. Kull wieħed minn dawn hija mistoqsija ordinarja tan-netwerk li l-permess TUN ma jistax iwieġeb. Li tirrepeti t-test oriġinali wara kull bidla żżomm il-fallimenti milli jingħaqdu f'impressjoni waħda.

Li tikkopja kull setting minn eżempju li jaħdem huwa l-mod kif tiswija minima ssir definizzjoni ta' servizz li ma tinqarax. Ġib biss dawk li din id-deployment teħtieġ u ikteb għaliex kull wieħed hemm.

Ivverifika l-interfacca ġewwa l-kontenitur

Iċċekkja l-interfacca u s-sett tal-kapaċitajiet minn ġewwa l-kontenitur li qed jaħdem u mhux mill-ospitanti. L-ordnijiet hawn taħt juru n-nodu tal-apparat, il-lista tal-kapaċitajiet u jekk interfacca tistax tinħoloq għal kollox. Mexxihom fl-istess kontenitur li jmexxi l-klijent, u installa l-għodda jekk l-immaġni hija minima.

ls -l /dev/net/tun
capsh --print | grep -i net_admin
ip link add dev tun9 type tun && ip link show tun9

Kapaċità preżenti fil-bounding set iżda nieqsa mill-effective set iġġib ruħha differenti minn waħda li qatt ma ngħatat, u capsh juri t-tnejn. Jekk in-nodu jeżisti u l-kapaċità hemm waqt li l-ħolqien għadu jonqos, ir-runtime qed jinfurza xi ħaġa oħra, bħal profil seccomp jew politika AppArmor li tillimita l-operazzjoni. Dik hija t-tielet fruntiera, dokumentata mir-runtime u mhux mill-applikazzjoni.

Ikteb il-bnadar tal-kontenitur, l-immaġni u l-iżball eżatt ta' kull attentat. Il-persuna li jmiss li taqra dik in-nota tista' tgħid liema bieb kien magħluq mingħajr ma tirrepeti l-investigazzjoni kollha.

Artikli relatati