ProtectHome dhidi ya mbegu ya TOTP: kwa nini kuingia VPN kunashindikana
Msimbo sahihi hauwezi kusaidia moduli ya PAM isiyoweza kufungua mbegu. Chagua kati ya drop-in na njia ya hali inayoweza kuandikwa, kisha kagua kitengo.
Programu ya uthibitishaji inaonyesha msimbo mpya wa tarakimu sita, VPN inaukataa, na msimbo huo huo unathibitika vizuri unapoujaribu kutoka kwenye shell yako mwenyewe. Pengo hilo ndilo hadithi yote. Moduli ya PAM isiyoweza kufungua siri ya usajili hurudisha kushindikana kunakoonekana sawa na msimbo mbaya, na mazingira ya huduma yanayoficha saraka za nyumbani ni sababu ya kawaida. Kabla ya kulegeza ruhusa yoyote, amua uko katika hali gani kati ya tatu.
Ni kushindikana kupi kati ya hivi vitatu?
Kwa kwanza ni siri ambayo moduli haiwezi kuisoma kabisa. Kwa pili ni siri ambayo inaweza kuisoma lakini haiwezi kuisasisha. Kwa tatu ni msimbo ambao kwa kweli si sahihi, kwa kawaida kwa sababu ya mwendo wa saa au thamani iliyotumika tena.
Vitenganishe kwa kusoma jarida la huduma na kumbukumbu ya uthibitishaji ya mfumo kwa jaribio moja lililoshindikana, kisha thibitisha huduma ipi ya PAM inayopakiwa na programu-jalizi na mstari upi wa moduli unaotumiwa na huduma hiyo. Ujumbe wa jumla wa kushindikana kwa uthibitishaji hautavitenganishi, na jaribio la mkono lililofanikiwa pia halitafanya hivyo, kwa sababu shell yako si mazingira ya huduma.
Mwonekano wa mfumo wa faili wa kitengo ndiye mtuhumiwa wa kawaida wakati huduma pekee inashindikana.
systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20Chaguo A: hamisha siri nje ya nyumbani
Huduma inapoficha /home na wewe unapendelea kubaki na ulinzi huo, hifadhi siri mahali inapoweza kuiona. Moduli inakubali njia ya secret= na akaunti ya user= inayofanya shughuli za faili, jambo linaloruhusu hifadhi kuu kuhudumia vitambulisho vingi.
Hili ni chaguo nadhifu, na ndilo linalohitaji uangalifu zaidi, kwa sababu hifadhi inayoshirikiwa hufanya saraka moja kuwa mpaka wa usalama kwa kila akaunti.
auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otpAngalia mambo matatu kabla ya kuiamini: akaunti ipo, mchakato wa kazi wa moduli unaweza kubadilika kwenda kwake, na faili ni zake kwa mbinu za kuzuia. Usitumie ~ au njia ya kigeu cha nyumbani pamoja na user=, na usizime ukaguzi wa umiliki wa moduli ili njia ifanye kazi. Weka hatua ya nenosiri na salio la staki bila kubadilika.
Chaguo B: acha faili na ufungue njia
Ikiwa siri lazima ibaki katika saraka ya nyumbani ya mtumiaji, kitengo kinahitaji mwonekano unaojumuisha saraka hiyo moja bila kufichua kila nyumba kwenye mwenyeji. drop-in inaweza kuongeza kiunganishi chepesi cha bind chini ya nyumba iliyowekwa kwenye sanduku la mchanga.
Hii inadumisha umiliki kwa kila mtumiaji kama kielelezo, kwa gharama ya mabadiliko ya kitengo yanayohitaji kukaguliwa kila sanduku la mchanga linapobadilika.
Mipaka miwili ni rahisi kukosa. Njia ya kusoma tu iliyoongezwa chini ya saraka ambayo sanduku la mchanga linaificha haifichui, kwa sababu mzazi hayupo kabisa. Na kiunganishi lazima kiweze kuandikwa ikiwa moduli inahitaji kusasisha hali, jambo linaloleta chaguo linalofuata. Andika drop-in kama faili tofauti badala ya kuhariri kitengo kilichopakiwa chini ya /usr/lib, ili uboreshaji wa kifurushi usiiondoe kwa utulivu.
Chaguo C: weka sanduku la mchanga na urekebishe maandishi ya hali
Kusoma siri ni nusu ya uthibitishaji tu. Moduli inaweza kuandika upya taarifa za mchepuko wa muda, ulinzi dhidi ya kurudiwa au kihesabu, na faili inayopita ukaguzi wa kusoma bado inaweza kushindikana kuandika.
Kushindikana huko kunaonekana kama msimbo mbaya kwenye jaribio lijalo na si hili, ndiyo maana huchukuliwa kama mchepuko wa saa.
Ipe saraka yake ya kuandika na uelekeze njia ya siri huko, badala ya kufanya nyumba yote iweze kuandikwa. Thibitisha mmiliki wa saraka, nafasi iliyobaki ya mfumo wa faili na ikiwa kitengo kinazuia maandishi mahali pengine. Kisha jaribu kuingia mara mbili mfululizo, kwa sababu ya pili inathibitisha njia ya kuandika na ya kwanza inathibitisha kusoma tu.
Thibitisha kama huduma, si kama wewe mwenyewe
Kila ukaguzi unaojaliza lazima uendeshwe ndani ya sanduku la mchanga la kitengo kwa utambulisho wa kitengo.
Amri inayofanikiwa kama root inakuambia faili ipo na hakuna kingine. Kuingia kupitia huduma halisi kunakuambia ikiwa moduli inaweza kusoma siri, kuitumia na kuandika tena inachohitaji.
Hatimaye, weka sharti bila kubadilika. Kuongeza chaguo la nenosiri sifuri, kukubali kushindikana kwa kusoma tu au kuondoa sanduku la mchanga yote yangeondoa dalili kwa kubadilisha sera. Mtumiaji anayetakiwa kuwasilisha msimbo bado anapaswa kukataliwa wakati siri haipatikani.