OpenVPN yn argraffu rhybudd wrth gychwyn sy'n awgrymu auth-nocache, a'r ymateb temtadwy yw ychwanegu'r opsiwn a gwylio'r llinell yn diflannu. Mae'r cyngor hwnnw'n tybio mewngofnodi rhyngweithiol. Unwaith y bydd yr enw defnyddiwr a'r cyfrinair yn byw mewn ffeil, mae'r gymhariaeth yn newid: mae'r opsiwn yn stopio gwarchod y copi parhaus, ac ar glient sy'n gollwng breintiau gall dorri ail-drafodaeth yn ddiweddarach. Mae dau fodel storio'n werth eu cadw ar wahân cyn i chi olygu proffil.

Dwy ffordd i ateb y cais am gredydau

Y model cyntaf yw person yn teipio credydau i derfynell, neu ryngwyneb rheoli'n eu dal ar gyfer y sesiwn. Mae OpenVPN yn cadw'r copi hwnnw fel y gall ateb yr ail-drafodaeth nesaf heb ofyn eto, a dyna'n union y mae'r rhybudd yn ei olygu. Nid oes dim ar y disg yn rhan o hyn, felly'r unig beth i'w warchod yw'r broses sy'n dal y gwerth. Caewch y cleient a bydd y copi'n diflannu gydag ef.

Yr ail fodel yw auth-user-pass yn pwyntio at ffeil, lle'r ffeil yw'r storfa ac mae'r cleient yn ei darllen pan fo angen gwerth. Nid cof y broses yw'r datguddiad sy'n bwysig yma, ond caniatâd a pherchnogaeth y ffeil honno. Daw'r rhybudd cychwyn o'r cyfarwyddebau yn y ffurfweddiad, nid o archwiliad o sut rydych yn cyflenwi'r cyfrinair, felly mae'n tanio yn y ddau fodel ac yn pwyntio at y naill na'r llall.

Mae gweddill y gymhariaeth hon yn dilyn o'r rhaniad hwnnw: trin cof ar gyfer un model, trin ffeil a hunaniaeth broses ar gyfer y llall.

Beth mae auth-nocache yn ei daflu mewn gwirionedd

Gyda mewngofnodi rhyngweithiol, --auth-nocache yn tynnu'r copi a storiwyd o'r cof ar ôl iddo gael ei ddefnyddio. Y gost yw cais newydd ar bob cyfwng ail-drafodaeth, oherwydd ni all y rownd nesaf ailddefnyddio'r hyn a daflwyd.

Gyda mewngofnodi sy'n seiliedig ar ffeil gall y cleient ddarllen y ffeil eto, felly mae'r taflu'n anweledig gan mwyaf. Mae'n dod yn weladwy yn yr un lle nad yw pobl yn ei ddisgwyl: ar ôl i'r daemon ollwng breintiau, os nad yw'r ffeil credydau'n ddarllenadwy i'r cyfrif y mae'n rhedeg dano nawr.

Ychwanegwch yr opsiwn oherwydd eich bod yn deall y fargen honno, nid oherwydd bod rhybudd wedi ymddangos. Mae opsiwn a ychwanegwyd i wneud log yn dawelach yn opsiwn nad oes neb wedi mesur ei effaith.

Lle mae'r llwybr sy'n seiliedig ar ffeil yn torri

Mae cleient sy'n cychwyn fel root i agor y ddyfais twmnel ac wedyn yn newid i user a group yn darllen y ffeil credydau ddwywaith: unwaith cyn y newid, unwaith yn yr ail-drafodaeth sy'n dilyn. Os yw'r ffeil yn fodd 600 ac yn eiddo i root, mae'r ail ddarlleniad yn methu, ac mae'r methiant yn ymddangos awr yn ddiweddarach fel gwall dilysu sy'n edrych fel problem gweinydd. Edrychwch ar log y cleient o amgylch y cyfwng ail-drafodaeth, yna edrychwch ar y cyfrif a'r ffeil gyda'i gilydd.

stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | head

Mae'r ddwy linell yn bwysig. Mae'r gyntaf yn dweud pwy all ddarllen y ffeil, mae'r ail yn dweud pwy yw'r daemon sy'n rhedeg mewn gwirionedd, ac mae anghysondeb rhyngddynt yn esbonio methiant na fydd unrhyw ail-deipio cyfrinair yn ei drwsio.

Nid yw'r atgyweiriadau ymarferol yn hudolus: symudwch y ffeil i gyfeiriadur a pherchennog y gall cyfrif y daemon ei ddarllen, neu cadwch y darlleniad braintog a chadarnhau bod eich cleient yn darllen unwaith yn unig. Peidiwch â'i ddatrys drwy wneud y ffeil yn ddarllenadwy i bawb.

Yr achos sy'n wirioneddol eisiau'r opsiwn

Mae mewngofnodi â chod un-tro eisiau auth-nocache am reswm gwahanol. Mae cod un-tro'n cael ei wario gan y dilysiad cyntaf, felly mae copi wedi'i gacheio'n ddiwerth yn yr ail-drafodaeth nesaf a gallai gwerth darfodedig gael ei ailchwarae hyd yn oed.

Cwestiwn am y math o gredydau yw hwn, nid am ble maent yn cael eu storio. Mae gan gyfrinair statig mewn ffeil warchodedig broffil cyferbyniol: rhaid iddo fod yn ddarllenadwy ar bob ail-drafodaeth, a'r warchodaeth rydych ei hangen sydd ar y ffeil.

Cadwch y ddau reswm hynny ar wahân yn sylwadau'r proffil, neu bydd y gweinyddwr nesaf yn tybio bod yr opsiwn yno am y rheswm y byddai ef wedi'i ddewis.

Y gymhariaeth mewn un penderfyniad

Dewiswch y model rhyngweithiol pan fo person yn bresennol ac yn bwysig bod y wybodaeth yn ffres, a derbyniwch y cais rheolaidd fel ei gost. Dewiswch y model ffeil pan fo'r cleient yn rhedeg heb oruchwyliaeth, a gwariwch yr ymdrech ar berchnogaeth, modd a gollwng breintiau yn lle hynny.

Nid yw'r naill fodel yn gwneud cyfrinair a storiwyd yn ddiogel ar ei ben ei hun, ac nid yw'r llall yn gwneud y rhybudd cychwyn yn ystyrlon.

Os mai'r rhybudd yw'r unig reswm i chi agor y proffil, cofnodwch y penderfyniad yn hytrach nag opsiwn heb esboniad: mae credydau'n dod o ffeil y gall cyfrif y daemon ei darllen, gwelwyd ail-drafodaeth yn llwyddo, ac mae llawlyfr OpenVPN 2.6 adran ar ail-drafodaeth wedi'i darllen cyn newid ei chyfwng. Mae'r nodyn hwnnw'n goroesi unrhyw fflag unigol.

Erthyglau cysylltiedig