It-tikketti tad-deployment huma r-raġuni tas-soltu li għaliha n-nies iwarrbu għal din il-karatteristika: kull konnessjoni għandha ġġorr xi ħaġa bħal sit jew rwol, u s-server għandu jaqrah mingħajr ma joħloq it-tieni format ta' kredenzjali. OpenVPN tal-komunità diġà għandu l-mekkaniżmu, u huwa żgħir. Il-parti li tweġġa' hija l-aspettattivi. Li jitqiegħed varjabbli ordinarju fil-profil tal-klijent ma jagħmel xejn fuq is-server, u valur li jasal verament jipprova biss li l-klijent bagħtu.

Dan huwa manwal għall-passaġġ li jaħdem, għall-pass ta' verifika li juri x'wasal tassew, u għall-irrolljar lura li ma jħallix hook nofs konfigurat warajh. Xejn hawnhekk ma jeħtieġ ċertifikat ġdid, plugin ġdid jew estensjoni tal-protokoll.

Issettja l-varjabbli u ppermetta l-passaġġ

Żewġ linji jagħmlu x-xogħol fil-profil tal-klijent, u t-tnejn huma meħtieġa. Mingħajr l-ewwel waħda m'hemm xejn x'jintbagħat; mingħajr it-tieni waħda l-klijent lanqas biss joffri informazzjoni tal-peer. L-ordni mhijiex importanti, u dan jiswa li tkun taf għax iż-żewġ linji spiss jispiċċaw f'partijiet differenti ta' profil iġġenerat. L-importanti huwa li t-tnejn jibqgħu ħajjin minn kull ma jerġa' jikteb il-profil qabel ma l-klijent jaqrah.

setenv UV_DEPLOY field-support
push-peer-info

Il-prefiss UV_ mhuwiex dekorazzjoni. Varjabbli DEPLOY ordinarju jibqa' lokali fil-proċess tal-klijent u qatt ma jiġi mgħoddi 'l quddiem, filwaqt li l-forma bil-prefiss hija l-ispazju tal-ismijiet li l-protokoll jirriżerva għall-qasmiet definiti mill-utent. Ħalli l-bqija tal-profil approvat intatt u kkonferma li l-build tal-klijent li qed tiskjeramenta jappoġġa ż-żewġ direttivi qabel ma tiskjeramentah.

Verifika prattika waħda tappartjeni hawn u mhux fl-aħħar: kun żgur li d-direttiva tasal għall-binarju tal-klijent u ma tiġix inġestita minn wrapper. Klijent grafiku li jiġġenera l-linja tal-kmand tiegħu stess, jew interface tal-ġestjoni li terġa' tgħabbi profil maħżun, jistgħu jarmu linji li ma jagħrfux. Jekk is-server ma jara xejn, dan huwa l-ewwel post fejn wieħed iħares.

Aqra l-qasam minn hook tas-server

Fuq in-naħa tas-server, l-informazzjoni tal-peer li tirċievi tiġi vvalidata u mdaħħla fl-ambjent tal-fluss tax-xogħol tal-konnessjoni, u dan huwa dak li jagħmilha tinqara minn hook mingħajr ebda xogħol tal-protokoll min-naħa tiegħek. Is-server m'għandu bżonn janalizza l-kanal tal-kontroll jew jaħżen xi ħaġa għalik; il-valur sempliċement ikun hemm waqt li l-konnessjoni tiġi stabbilita. Skript client-connect minimu li jirreġistra t-tikketta ħdejn l-isem awtentikat jidher hekk.

#!/bin/sh
# /etc/openvpn/server/hooks/label.sh
printf '%s %s\n' "$common_name" "${UV_DEPLOY:-unset}" \
  >> /var/log/openvpn/deploy-labels.log

Aqra l-varjabbli permezz tal-ambjent minflok ma tanalizza l-log, u dejjem agħtiha valur default. ${UV_DEPLOY:-unset} iżomm l-iskript jaħdem għall-klijenti li qatt ma jibagħtu l-qasam, li huwa l-istat normali waqt skjerament fi stadji. Tarmix l-ambjent kollu fil-log biex issib l-isem; fih ħafna aktar mit-tikketta, inklużi valuri li ma kellokx l-intenzjoni żżommhom.

Mexxi l-iskript bl-idejn u se jirrapporta unset għal kollox, għax qoxra manwali ma ġġorrx l-ambjent tal-konnessjoni. Dan mhuwiex bug fl-iskript u mhuwiex prova li l-qasam huwa nieqes. Ippruvah permezz ta' konnessjoni reali, l-uniku kuntest fejn il-varjabbli teżisti.

Ivverifika x'wasal tassew

Qabbad klijent wieħed bit-tikketta u wieħed mingħajrha, imbagħad aqra l-fajl. Il-par huwa t-test: linja waħda għandha ġġorr il-valur u l-oħra l-valur default, u t-tnejn għandhom isemmu l-istess identità awtentikata li qed tistenna.

tail -n 5 /var/log/openvpn/deploy-labels.log
# field-support deployed-client-07
# unset         legacy-laptop-02

Dawk il-linji tal-kumment huma l-forma tal-output, mhux transkritt mis-server tiegħek; aqra l-fajl tiegħek stess. Jekk it-tieni klijent ukoll juri valur, il-varjabbli hija ssettjata x'imkien ieħor fl-ambjent, u qed taqra setting antik minflok il-qasam tal-peer.

Iċċekkja wkoll il-log tas-server għall-konnessjoni. L-informazzjoni tal-peer tista' tidher hemm, li hija konvenjenti għall-prova u raġuni biex il-valuri jibqgħu boring: ebda ismijiet ta' nies, ebda numri ta' biljett, xejn li ma tkunx tixtieq li jaqra min jaqra l-log.

Ittratta t-tikketta bħala pretensjoni, mhux identità

Kull min jista' jeditja l-profil tal-klijent jista' jbiddel it-tikketta, u l-fatt li t-tunnel huwa awtentikat ma jagħmilx it-tikketta awtorevoli. It-trasport jipproteġi l-valur fil-vjaġġ; ma jiċċertifikax il-pretensjoni. L-awtorizzazzjoni għadha tappartjeni lill-identità awtentikata u lir-rekord tal-iskrizzjoni li jippossjedi s-server, bit-tikketta mqabbla ma' dan ir-rekord meta jkun importanti.

Din id-distinzjoni tiddeċiedi fejn tista' tintuża t-tikketta. Użi tajbin huma li sessjoni tiġi diretta lejn il-fajl tal-log it-tajjeb, li tintgħażel grupp ta' wirja f'dashboard, jew li sessjoni ta' appoġġ tiġi ttikkettata biex bniedem isibha aktar tard. Użi ħżiena huma li apparat jiddaħħal f'subnet, li tintgħażel politika ta' firewall, jew li jiġi deċiż liema data ta' klijent is-sessjoni tista' taqra.

Ivvalida l-valur qabel ma jasal għal passaġġ, mistoqsija jew kmand tal-qoxra. Lista ta' permess ta' stringi mistennija hija biżżejjed għal tikketta tad-deployment, u ma tiswiex xejn. Qatt ma ddaħħal string ipprovduta mill-peer f'linja tal-kmand tal-qoxra, u illimita kull osservazzjoni maħżuna għas-sessjoni u mhux għal indirizz tat-tunnel li l-klijent li jmiss se jerġa' juża.

case "${UV_DEPLOY:-}" in
  field-support|field-qa|lab) : ;;
  *) UV_DEPLOY=unknown ;;
esac

Irrolljah lura b'mod nadif

Li tneħħi l-karatteristika huwa żewġ tħassiriet u verifika waħda. Neħħi l-linji setenv u push-peer-info mill-profil tal-klijent, imbagħad neħħi jew iddiżattiva l-hook u l-mira tal-log tiegħu fuq is-server.

grep -rn 'UV_DEPLOY\|push-peer-info' /etc/openvpn/
tail -n 3 /var/log/openvpn/deploy-labels.log

Erġa' qabbad klijent wieħed wara u kkonferma li l-linja tal-log tieqaf tidher. Hook li jibqa' jaqbad wara l-bidla fil-profil normalment ikun it-tieni profil li għadu skjeratat fuq apparat tat-test, u li ssibuh issa jiswa inqas milli ssibuh waqt awditjar.

Li jibqa' fl-aħħar huwa biċċa żgħira u limitata ta' metadata tas-sessjoni b'oriġini dokumentata: il-klijent jippretendiha, is-server jirreġistraha, u xejn dwar l-aċċess ma jiddependi minnha. Din hija l-verżjoni utli tal-karatteristika, u ma teħtieġ ebda kredenzjali ġdida biex tasal hemm.

Artikli relatati