OpenVPN yn gofyn am gyfrinair yr allwedd breifat ar y peiriant lleol, felly nid yw ffeil fewngofnodi sy’n gweithio byth yn ei ateb. Mewn gwasanaeth nid oes terfynell i deipio iddi, ac mae’r cychwyn naill ai’n hongian neu’n methu â chofnod yn y dyddiadur sy’n enwi’r mewnbwn yn hytrach na’r achos. Mae dau gyfrinach dan sylw, ac mae angen ei ffynhonnell ddarllenadwy ei hun ar bob un cyn i’r uned gael ei hailgychwyn. Mae’r camau isod yn eu gwahanu, yna’n gwirio’r hunaniaeth sy’n agor pob ffeil mewn gwirionedd.

Gwahaniaethwch y ddau ofyn

Mae cyfrinair yr allwedd yn dadgryptio’r allwedd breifat leol; mae manylion y cyfrif yn dilysu’r sesiwn i’r gweinydd. Maent yn dod o wahanol leoedd, yn methu ar wahanol adegau ac yn rhoi gwahanol negeseuon. Mae eu cymysgu yn anfon pobl i chwilio am ailosodiad cyfrinair pan nad oedd y cyfrif yn rhan o’r peth o gwbl. Darllenwch destun y gofyn cyn newid unrhyw opsiwn, oherwydd y geiriad yw’r unig gliw ddibynadwy pa gyfrinach sydd ar goll.

Yn Community OpenVPN 2.x mae askpass yn enwi ffeil sy’n dal cyfrinair yr allwedd ar ei llinell gyntaf, ac mae auth-user-pass yn enwi ffeil gyda’r enw defnyddiwr ar un llinell a’r cyfrinair ar y nesaf. Ni all y naill ffeil fodloni’r opsiwn arall. Gall ap bwrdd gwaith neu broffil NetworkManager gadw’r ddau yn ei storfa gyfrinachol ei hun, nad yw cleient llinell orchymyn byth yn ei darllen, felly nodwch pa gleient rydych yn ei ffurfweddu cyn ysgrifennu unrhyw lwybr.

Pwyntiwch y ddau opsiwn at ffeiliau darllenadwy

Mae proffil sydd angen y ddau fewnbwn yn gorffen gyda thri chyfeiriad ffeil: yr allwedd amgryptiedig, y cyfrinair sy’n ei datgloi, a’r pâr mewngofnodi. Ychwanegwch nhw heb gyffwrdd â’r CA na’r gwiriadau hunaniaeth, oherwydd y rheini sy’n penderfynu pwy yw’r gweinydd ac nid ydynt yn rhan o’r broblem hon. Os nad yw’r defnydd yn defnyddio manylion cyfrif o gwbl, mae auth-user-pass yn creu mewnbwn na all neb ei ddarparu.

key /etc/openvpn/client/office.key
askpass /etc/openvpn/client/office-key.pass
auth-user-pass /etc/openvpn/client/office-login.auth

Mae opsiynau noeth yn ymddwyn yn wahanol i opsiynau â llwybrau, ac mae’r gwahaniaeth yn bwysig ar wasanaeth. Mae askpass heb ddadl yn dal i ddarllen y consol, ac mae ffeil auth-user-pass sy’n dal enw defnyddiwr yn unig yn dal i adael anogwr cyfrinair yn aros. Unwaith y bydd y cleient yn daemoneiddio, ni all ofyn am fewnbwn o derfynell o gwbl, felly nid yw gwasanaeth a ffurfweddwyd felly yn codi.

Mae llwybrau absoliwt yn cael gwared ar gwestiwn y cyfeiriadur gwaith ond nid ydynt yn rhoi mynediad. Daw perchnogaeth, modd a thramwyaeth nesaf, ac mae’r tri yn cael eu gwirio yn erbyn y cyfrif y mae’r broses yn rhedeg dano.

Darllenwch ffurfweddiad yr uned cyn y proffil

Yr uned, nid y ffeil roeddech yn ei golygu, sy’n penderfynu pa ffurfweddiad y mae’r enghraifft yn ei lwytho. Darllenwch ei llinell orchymyn ac unrhyw drop-in, yna dilynwch y cyfeiriadur gwaith i’r proffil sy’n cael ei ddefnyddio mewn gwirionedd. Nid yw cyfeiriad cyfrinair a ychwanegir at ffeil .ovpn arall yn newid dim i’r enghraifft hon.

Mae tair gorchymyn darllen-yn-unig yn ateb y rhan fwyaf o hynny. Mae’r gyntaf yn argraffu’r uned ac unrhyw drop-in, yr ail yn argraffu’r hunaniaeth a’r gosodiadau sandbox sy’n rhwymo’r broses, a’r drydedd yn argraffu’r hyn y cwynodd y cychwyn diwethaf amdano mewn gwirionedd. Defnyddiwch yr enw enghraifft sydd ar y gwesteiwr:

systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p WorkingDirectory -p ProtectHome
journalctl -u [email protected] -b

Edrychwch ar ProtectHome ac ar opsiynau’r proffil ei hun user, group ac chroot. Gall ffeil o dan gyfeiriadur cartref fod yn ddarllenadwy yn eich shell ac yn anweledig y tu mewn i’r gwasanaeth unwaith y bydd cyfeiriaduron cartref wedi’u cuddio. Nid y cyfrif y mae systemd yn cychwyn dano bob amser yw’r cyfrif sy’n agor yr allwedd yn y diwedd.

Profwch y gall yr hunaniaeth amser rhedeg agor y ddwy ffeil

Nid yw darllen y modd yn ddigon, oherwydd rhaid i bob cyfeiriadur ar y llwybr fod yn dramwyadwy gan yr un hunaniaeth. Cerddwch y llwybr gydran wrth gydran, yna profwch yr agoriad fel y cyfrif y mae’r broses yn ei ddefnyddio. Mae ffeil â modd 600 sy’n eiddo i root yn gweithio dim ond tra bo’r broses yn root o hyd, nad yw’n wir ar ôl y gostyngiad breiniau y mae llawer o broffiliau yn ei wneud. Mae dwy orchymyn yn cwmpasu’r dramwyaeth a’r agoriad:

namei -l /etc/openvpn/client/office-key.pass
sudo -u openvpn test -r /etc/openvpn/client/office-key.pass && echo readable

Mae’r gorchymyn cyntaf yn argraffu modd pob cydran ac yn methu lle na all y cyfrif dramwy; mae’r ail yn ateb yr un cwestiwn sy’n bwysig, sef a all yr hunaniaeth amser rhedeg agor y ffeil i’w darllen. Nid yw’r naill na’r llall yn argraffu cynnwys y ffeil, a dyna’r pwynt pan fo cyfrinair yn y ffeil. Ailadroddwch y prawf ar gyfer y ffeil fewngofnodi, oherwydd yn aml cedwir y ddwy gyda pherchnogaeth wahanol.

Os yw’r broses yn defnyddio chroot neu namespace cyfyngedig, rhedegwch yr un prawf o fewn y golwg hwnnw, neu mae’r ateb yn disgrifio’r system ffeiliau anghywir. Cyfrinair a gedwir o dan gyfeiriadur cartref cudd yw’r enghraifft arferol o brawf sy’n pasio y tu allan i’r uned ac yn methu y tu mewn iddi.

Gwiriwch y cychwyn cyntaf, yna ailgysylltiad

Cychwynnwch yr enghraifft unwaith a darllenwch y methiant cyntaf yn hytrach na’r olaf. Mae ffeil fewnbwn ar goll, dadgryptiad allwedd wedi methu ac AUTH_FAILED o du’r gweinydd yn dri digwyddiad gwahanol gyda thri thrwsiad gwahanol. Nid yw trwsio rhybudd caniatâd yn profi dim am a oedd yr allwedd wedi’i datgloi.

Mae llinell y dyddiadur yn dweud pa un o’r tri sydd gennych. Daw’r trwsiad o ba fewnbwn a fethodd:

What the journal showsWhich input failedWhere to look
A path that cannot be openedThe file the profile namesAskpass or login path, and the unit's working directory
A key decryption errorThe key passphraseFirst line of the askpass file, and read access for the runtime identity
AUTH_FAILED from the serverThe account credentialsLogin file contents, and whether the account is still valid

Yna profwch y cylch bywyd sydd ei angen arnoch mewn gwirionedd: cychwyn ar gychwyn y system ac unrhyw ailgysylltiad a gefnogir, nid yn unig cychwyn â llaw o’ch shell. Gyda auth-nocache mae’r mewnbynnau’n cael eu gollwng ar ôl y defnydd cyntaf, felly mae angen ffynhonnell ddarllenadwy ar ailgysylltiad diweddarach o hyd. Nid yw cylched allweddi a ddatglowyd wrth fewngofnodi i’r bwrdd gwaith ar gael i wasanaeth a gychwynnodd cyn i neb fewngofnodi, a dyna’r rheswm arferol pam mae prawf â llaw yn pasio ac ailgychwyn yn methu. Os yw’r cychwyn cyntaf yn llwyddo ac mae ailgysylltiad diweddarach yn methu, darllenwch y dyddiadur am ddigwyddiad yr ailgysylltiad cyn newid caniatâd eto.

Mae cadw’r cyfrinair wrth ymyl yr allwedd yn lleihau’r hyn y mae’r amgryptio yn ei roi i chi, felly cyfyngwch y ffeil honno a’i chopïau wrth gefn. Triniwch dynnu cyfrinair yr allwedd fel penderfyniad manylion cyfrif ar wahân yn hytrach na’r trwsiad ar gyfer mewnbwn sydd ar goll. Mae defnydd sy’n dibynnu ar gymeradwyaeth ddynol neu MFA rhyngweithiol angen ei asiant neu ei integreiddiad rheoli a gefnogir; nid yw cod untro a gedwir yn barhaol yn eilydd cyfatebol.

Erthyglau cysylltiedig