Għandek tħalli l-chroot jew tikkopja iproute2 fil-ħabs?
Ħabs mhux komplut ifalli wara t-tnedija, mhux fil-boot. Agħżel bejn li ttaffi l-ibbrejjar u li tikkopja l-binarji flimkien mal-libreriji fl-għerq il-ġdid.
Is-servizz jibda, klijent jassoċja ruħu, u qatt ma tidher rotta fuq in-naħa tas-server. Jew id-daemon jirrifjuta jibda u jsemmi kmand li ma setax jeżegwixxi. Iż-żewġ riżultati jsegwu l-istess tliet linji, li normalment jiġu kkopjati flimkien minn gwida tal-ibbrejjar: tgħaddi għal kont mhux privileġġat, tħalli l-grupp, u tbiddel l-għerq tas-sistema tal-fajls. Waħda biss mit-tlieta taħbi fajls, u waħda biss minnhom tneħħi l-privileġġ li tbiddel it-tabella tar-routing. Li tifridhom huwa kif titgħallem liema linja trid tassew.
X'tneħħi l-ħabs li d-daemon għadu jeħtieġ
Il-bidla tal-għerq isseħħ wara t-tnedija, allura d-daemon iżomm kull ma diġà fetaħ u jitlef kull ma kien jiftaħ aktar tard. Kull għajnuna li l-konnessjoni teżegwixxi wara dak il-punt trid teżisti ġewwa l-għerq il-ġdid, flimkien mal-libreriji maqsuma li tgħabbi. Ħabs mibni minn fajl tal-konfigurazzjoni u ċertifikat m'għandux l-ebda waħda miż-żewġ.
Li tgħaddi għal kont mhux privileġġat hija restrizzjoni separata. Proċess li ċeda l-għerq jista' ma jkunx jista' jbiddel rotot jew iqajjem interface anke meta l-binarju jinsab eżatt hemm, allura ż-żewġ fallimenti għandhom jiġu djanjostikati separatament.
Tliet kundizzjonijiet jiddeċiedu liema tiswija għandek bżonn
L-ewwel kundizzjoni hija kif il-build tiegħek jinstalla r-rotot. Verżjonijiet reċenti ta' OpenVPN jikkonfiguraw l-interface u t-tabella tar-routing fil-proċess, filwaqt li pakketti eqdem u konfigurazzjonijiet personalizzati jiddependu fuq għodod esterni jew fuq scripts up u down. Jekk il-log isemmi kmand, hemm għodda esterna involuta u l-ħabs qed jaħbiha. Jekk il-log juri minflok żball ta' permessi, il-kont huwa l-problema.
It-tieni hija l-manutenzjoni. Ħabs b'binarji kkopjati jrid jiġi aġġornat kull darba li l-pakkett li jipprovdihom jiġi aġġornat, inkella l-ewwel aġġornament iħalli tunnel miksur warajh. It-tielet hija jekk kontroll speċifiku jeħtieġx tassew chroot; jekk il-ħtieġa hija fil-fatt dwar is-separazzjoni tal-privileġġi, il-bidla tal-kont tista' tkun biżżejjed waħedha.
| Signal in the log | Other side of the boundary | Repair direction |
|---|---|---|
| Command not found after startup | Binary and its libraries absent inside the new root | Populate the jail, or drop the chroot line |
| Operation not permitted | Account lost the privilege to edit routes | Keep the account privileged, or pre-create routes elsewhere |
| No such device | Jail lacks the tun device node | Create the node inside, or open it before the root change |
X'għandu jkun fih ħabs li jaħdem
Ħabs li jeżegwixxi kmandi jeħtieġ il-binarju, kull librerija li magħha jorbot, u kull node tal-apparat li d-daemon jiftaħ tard. Ikkopja l-biċċiet u ttestjahom mingħajr il-VPN fix-xena:
ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up
L-ewwel kmand jelenka d-dipendenzi, u huwa dak li n-nies jaqbeżu. Binarju kkopjat li ma jsibx librerija jfalli b'messaġġ differenti minn binarju nieqes, u t-tnejn jidhru bħal ħsara ta' OpenVPN meta jinqraw min-naħa tal-klijent. Li teżegwixxi l-kmand bl-idejn fil-ħabs jirriproduċi l-ħsara mingħajr ma terġa' tibda s-servizz.
Ikkopja wkoll il-konfigurazzjoni, iċ-ċertifikati u kwalunkwe CRL fil-ħabs, għax fajl li d-daemon jistenna li jerġa' jaqra wara t-tnedija ma jinstabx ladarba jinbidel l-għerq. Innota x'ikkupjajt, għax l-aġġornament li jmiss tal-pakkett tan-netwerk jissostitwixxi l-oriġinali u jħalli l-ħabs fuq il-kopja l-qadima.
Tnaqqas l-ibbrejjar minflok
Jekk il-ħabs jeżisti biss għax qalet hekk gwida, li tneħħi dik il-linja waħda filwaqt li żżomm ir-restrizzjonijiet tal-kont huwa riżultat difendibbli. Id-daemon iżomm il-veduta tas-sistema tal-fajls u jitlef il-problema, u t-tnaqqis tal-privileġġ għadu jneħħi l-għerq mill-proċess ta' ħajja twila.
Ikteb x'jibqa', u għaliex. Konfigurazzjoni li tilfet kontroll bil-kwiet mingħajr nota hija kif l-ibbrejjar jiddevja, u l-verifika li jmiss se tistaqsi għaliex il-linja sparixxiet.
Aqsam it-tliet linji qabel ma tagħżel
Ikkopja l-konfigurazzjoni, iddiżattiva t-tliet direttivi u kkonferma li klijent jikkonnettja u li jidhru r-rotot mistennija. Erġa' attiva mbagħad biss il-linji tal-kont, u mbagħad il-chroot waħdu. Il-pass fejn jinqasam it-tunnel jidentifika l-fruntiera, u tevita li terġa' tibni ħabs li qatt ma kien il-kawża.
Meta jerġa' jidderieġi, ħaddem sessjoni tal-klijent b'verbosità ogħla u aqra l-linja li ssemmi l-kmand jew il-permess li falla. Dik il-linja tiswa aktar mill-timeout li l-klijent fl-aħħar jirrapporta.