Mae’r dilysydd yn dangos cod newydd chwe digid, mae’r VPN yn ei wrthod, ac mae’r un cod yn dilysu’n berffaith pan fyddwch yn ei brofi o’ch cragen eich hun. Y bwlch hwnnw yw’r stori gyfan. Mae modiwl PAM na all agor y gyfrinach gofrestru yn dychwelyd methiant sy’n edrych yr un fath â chod anghywir, ac mae’r amgylchedd gwasanaeth sy’n cuddio cyfeiriadau cartref yn achos cyffredin. Cyn llacio unrhyw ganiatâd, penderfynwch ym mha un o’r tair sefyllfa yr ydych.

Pa un o’r tri methiant yw hwn?

Y cyntaf yw cyfrinach na all y modiwl ei darllen o gwbl. Yr ail yw cyfrinach y gall ei darllen ond na all ei diweddaru. Y trydydd yw cod sydd wir yn anghywir, fel arfer oherwydd drifft cloc neu werth ailchwaraewyd.

Gwahaniaethwch rhyngddynt drwy ddarllen dyddlyfr y gwasanaeth a log dilysu’r system ar gyfer un ymgais fethu, yna cadarnhewch pa wasanaeth PAM y mae’r ategyn yn ei lwytho a pha linell fodiwl y mae’r gwasanaeth hwnnw’n ei defnyddio. Nid yw neges methiant dilysu generig yn eu gwahaniaethu, ac nid yw prawf â llaw llwyddiannus ychwaith, oherwydd nid eich cragen chi yw amgylchedd y gwasanaeth.

Golwg y system ffeiliau ar yr uned yw’r prif amheusyn pan mai dim ond y gwasanaeth sy’n methu.

systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20

Opsiwn A: symud y gyfrinach allan o’r cartref

Pan fo’r gwasanaeth yn cuddio /home a chithau’n well gennych gadw’r amddiffyniad hwnnw, storiwch y gyfrinach rywle y gall ei gweld. Mae’r modiwl yn derbyn llwybr secret= a chyfrif user= sy’n gwneud y gweithrediadau ffeil, sy’n gadael i storfa ganolog wasanaethu llawer o hunaniaethau.

Dyma’r opsiwn taclus, a hwn yw’r un sydd angen y gofal mwyaf, oherwydd bod storfa a rennir yn gwneud un cyfeiriad yn ffin diogelwch i bob cyfrif.

auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otp

Gwiriwch dair peth cyn ymddiried ynddo: bod y cyfrif yn bodoli, bod gweithiwr y modiwl yn gallu newid iddo, a bod y ffeiliau’n eiddo iddo gyda moddau cyfyngol. Peidiwch â defnyddio ~ na llwybr newidyn cartref gyda user=, a pheidiwch â diffodd gwiriadau perchnogaeth y modiwl i wneud i lwybr weithio. Cadwch y cam cyfrinair a gweddill y stac yn gyfan.

Opsiwn B: gadael y ffeil ac agor llwybr

Os oes rhaid i’r gyfrinach aros yng nghartref y defnyddiwr, mae ar yr uned angen golwg sy’n cynnwys y cyfeiriad hwnnw heb ddatgelu pob cartref ar y gwesteiwr. Gall drop-in ychwanegu mownt cyswllt cul o dan gartref a sandbocsir.

Mae hyn yn cadw perchnogaeth fesul defnyddiwr fel y model, ar gost newid uned y mae’n rhaid ei adolygu pryd bynnag y newidir y sandbocs.

Mae dau gyfyngiad yn hawdd eu colli. Nid yw llwybr darllen yn unig a ychwanegir o dan gyfeiriad y mae’r sandbocs yn ei guddio yn ei ddatgelu, oherwydd nid yw’r rhiant yno o gwbl. Ac mae’n rhaid i’r mownt fod yn ysgrifadwy os oes rhaid i’r modiwl ddiweddaru cyflwr, sy’n dod â’r opsiwn nesaf i’r amlwg. Ysgrifennwch y drop-in fel ffeil ar wahân yn hytrach na golygu’r uned becynnu o dan /usr/lib, fel nad yw uwchraddiad pecyn yn ei dad-wneud yn dawel.

Opsiwn C: cadw’r sandbocs a thrwsio ysgrifiadau cyflwr

Dim ond hanner dilysu yw darllen y gyfrinach. Gall y modiwl ailysgrifennu gwybodaeth drifft amser, amddiffyniad ailchwarae neu gowntiwr, ac mae ffeil sy’n pasio’r prawf darllen yn dal i allu methu’r prawf ysgrifennu.

Mae’r methiant hwnnw’n edrych fel cod drwg ar yr ymgais nesaf yn hytrach nag ar hon, a dyna pam y caiff ei gamgymryd am drifft cloc.

Rhowch gyfeiriad ysgrifadwy iddo’i hun a chyfeiriwch lwybr y gyfrinach yno, yn hytrach na gwneud y cartref cyfan yn ysgrifadwy. Cadarnhewch berchennog y cyfeiriad, gofod rhydd y system ffeiliau ac a yw’r uned yn cyfyngu ysgrifiadau mewn mannau eraill. Yna profwch ddau fewngofnodi yn olynol, oherwydd mae’r ail yn profi’r llwybr ysgrifennu ac mae’r cyntaf yn profi’r darllen yn unig.

Dilyswch fel y gwasanaeth, nid fel chi’ch hun

Rhaid i bob gwiriad sy’n bwysig redeg y tu mewn i sandbocs yr uned gyda hunaniaeth yr uned.

Mae gorchymyn sy’n llwyddo fel root yn dweud wrthych fod y ffeil yn bodoli a dim byd arall. Mae mewngofnodi drwy’r gwasanaeth go iawn yn dweud wrthych a all y modiwl ddarllen y gyfrinach, ei defnyddio a rhoi yn ôl yr hyn sydd ei angen.

Yn olaf, cadwch y gofyniad yn gyfan. Byddai ychwanegu opsiwn cyfrinair gwag, derbyn methiannau darllen yn unig neu dynnu’r sandbocs i gyd yn gwneud i’r symptom ddiflannu drwy newid y polisi. Dylid dal i wrthod defnyddiwr y mae’n rhaid iddo gyflwyno cod pan fo’r gyfrinach yn anghyrraeddadwy.

Erthyglau cysylltiedig