Lefelau script-security OpenVPN o 0 i 3, a beth y mae pob un yn ei agor
Mae pob lefel script-security yn ehangu'r hyn y gall proffil ei weithredu: cymorthyddion gweinyddol, yna sgriptiau defnyddwyr, yna cyfrineiriau yn yr amgylchedd. Darllenwch y cyfarwyddiadau.
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.
| Level | What OpenVPN may execute | What it exposes |
|---|---|---|
| 0 | No external programs at all | Interface and route setup must not depend on helpers |
| 1 (default) | Built-in helpers such as ip, ifconfig, route or netsh | Privileged commands the platform already ships |
| 2 | Built-in helpers plus user-defined scripts | Whatever the named script does with the client's privileges |
| 3 | Everything above, plus passwords in environment variables | Credentials 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.ovpnNewidiwch 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.