Mewnforiwch broffil i gleient bwrdd gwaith a'r methiant cyntaf yn aml yw llinell y mae'r cleient yn gwrthod ei hanrhydeddu: bachyn sgript na fydd yn ei redeg, neu werth script-security y mae'n ei ystyried yn rhy ganiataol. Mae codi'r rhif yn gwneud i'r deialog ddiflannu. Mae hefyd yn ehangu'r hyn y caiff y proffil hwnnw ei weithredu ar eich peiriant, sy'n beth rhyfedd i'w ganiatáu er mwyn cau rhybudd. Dilynwch y mewnforio hyd at y cyfarwyddyd a daw'r penderfyniad yn un pendant.

O'r deialog mewnforio i'r cyfarwyddyd

Ffeil destun gyda chyfarwyddiadau yw'r proffil, ac mae'r cleient yn eu darllen cyn bod unrhyw dwnnel. Mae cyfarwyddyd fel up, down neu tls-verify yn enwi rhaglen allanol y dylai OpenVPN ei redeg ar foment benodol. P'un a yw OpenVPN yn barod i'w redeg yw gosodiad ar wahân o'r enw script-security, a'r proffil fel arfer yn ei osod hefyd.

Felly nid yw'r rhybudd yn ymwneud â chryptograffeg na thystysgrifau. Mae'n ymwneud â ffeil ffurfweddu sy'n gofyn i'r cleient weithredu rhywbeth ar y gwesteiwr, a'r cleient yn gwirio a yw ei lefel caniatâd bresennol yn caniatáu'r cais hwnnw.

Mae dau fethiant gwahanol yn edrych yr un fath ar y pwynt hwn. Mae proffil sy'n gofyn am lefel na fydd y cleient yn ei chaniatáu yn cynhyrchu gwrthodiad. Mae proffil sy'n gofyn am lefel y mae'r cleient yn ei chaniatáu ond mae'r sgript ar goll yn cynhyrchu methiant adeg rhedeg yn lle hynny, ac mae'r ddau yn cael eu cymysgu mewn edafedd cymorth. Un yn gwestiwn caniatâd a'r llall yn gwestiwn pecynnu.

Beth mae pob lefel yn ei agor mewn gwirionedd

Mae lefel 0 yn gwahardd galwadau rhaglenni allanol yn gyfan gwbl, sy'n gyson i gleient sy'n ffurfweddu ei ryngwyneb ei hun heb gymorth ac yn anghyson i un sy'n galw ar y system weithredu. Mae lefel 1, yr un diofyn, yn caniatáu'r gweithredadwyau adeiledig sydd eu hangen ar ffurfweddu rhyngwyneb a llwybr. Nid yw'r naill lefel na'r llall yn rhedeg unrhyw beth a ddarparwyd gan y defnyddiwr.

LevelWhat OpenVPN may executeWhat it exposes
0No external programs at allInterface and route setup must not depend on helpers
1 (default)Built-in helpers such as ip, ifconfig, route or netshPrivileged commands the platform already ships
2Built-in helpers plus user-defined scriptsWhatever the named script does with the client's privileges
3Everything above, plus passwords in environment variablesCredentials visible to child processes and their logs

Lefel 2 yw'r ffin ddiddorol, oherwydd ei bod yn derbyn sgriptiau a ddiffinnir gan y defnyddiwr. O'r pwynt hwnnw mae braint y cleient yn gymwys i god na fu i chi ei ddarllen o bosibl, wedi'i alw ar fomentau na ddewisoch, mewn amgylchedd sy'n cynnwys manylion y cysylltiad. Mae lefel 3 yn mynd ymhellach ac yn caniatáu pasio cyfrineiriau drwy newidynnau amgylchedd, a dyna pam mae'r llawlyfr yn ei ddisgrifio fel un a allai fod yn anniogel.

Nid oes yr un o'r rhifau hyn yn osodiad cryfder. Nid oes gan broffil ar lefel 3 amgryptio gwell nag un ar lefel 1; yn syml, mae ganddo arwyneb gweithredu mwy, ac mae'r twnnel yr un fath.

Penderfynwch beth mae'r proffil yn ei haeddu

Gofynnwch beth yw pwrpas y sgript cyn gofyn pa lefel sydd ei hangen. Mae bachyn sy'n gwthio gosodiadau DNS neu'n trwsio llwybr ar ôl cysylltu yn rheswm dilys dros redeg rhywbeth. Mae bachyn sy'n galw deuaidd anghyfarwydd mewn cyfeiriadur dros dro yn rheswm dros stopio.

Mae llwybr y sgript yr un mor bwysig â'r sgript. Mae llwybr cymharol yn cael ei ddatrys yn erbyn pa bynnag gyfeiriadur y mae'r cleient yn ei ddefnyddio, ac mae cyfeiriadur y gellir ysgrifennu iddo yn troi mewnforiad unwaith yn slot gweithredu parhaol. Llwybrau absoliwt mewn cyfeiriadur na all y defnyddiwr ei addasu yw'r ffurf i'w ffafrio.

Mae sgriptiau hefyd yn etifeddu amgylchedd y cleient, lle mae tystlythyrau a metadata cysylltiad yn byw. Yr etifeddiaeth honno yn union sy'n gwneud lefel 3 yn beryglus ar y cyd â sgript sy'n cofnodi ei hamgylchedd, a dyna pam mae dymp diagnostig o gleient ag sgriptiau yn haeddu ail olwg cyn cael ei ludo i docyn. Tynnwch yr amgylchedd cyn ei rannu.

grep -nE 'script-security|^up |^down |tls-verify' client.ovpn

Newidiwch un peth, ac yna gwyliwch y dadadeiladu hefyd

Os oes gwir angen sgript ar y proffil, newidiwch y lefel yn unig a dim ond ar gyfer y proffil hwnnw. Rhedwch y cleient yn y blaendir gyda chynnyrch manwl fel bod gwallau'r sgript ei hun yn weladwy yn lle cael eu llyncu gan reolwr gwasanaeth.

openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default

Profwch y cylch bywyd cyfan, nid y cysylltiad yn unig. Mae bachyn diffodd sy'n methu yn gadael llwybrau'n pwyntio at dwnnel marw, sy'n cynhyrchu peiriant sy'n edrych yn gysylltiedig ac na all gyrraedd unrhyw le. Ailgysylltwch unwaith a datgysylltwch unwaith cyn galw'r newid yn gyflawn, a gwiriwch y tabl llwybro ar ôl pob un.

Cadwch gopi o'r proffil gwreiddiol. Os nad yw cleient llwyfan yn gweithredu'r un model sgriptio, gall dileu cyfarwyddiadau nes i'r mewnforio lwyddo ddileu'r integreiddiad DNS neu lwybr yr oedd ei angen ar y twnnel, a bydd y cysylltiad canlyniadol yn dilysu'n berffaith heb ddatrys dim.

Mae'r penderfyniad i'w gofnodi yn gul: pa sgript, ar ba lwybr, wedi'i chaniatáu ar ba lefel, ar gyfer pa broffil. Mae popeth arall yn y proffil yn aros yn ddigyfnewid, ac mae hynny'n frawddeg y gall adolygydd ei gwirio.

Erthyglau cysylltiedig