Marekebisho: OpenVPN haikuweza kusoma jina la mtumiaji la Auth kutoka ingizo la kawaida
Hitilafu ya OpenVPN «could not read Auth username from stdin» ni kushindwa kwa ingizo la ndani. Ipe huduma chanzo cha vitambulisho kinachosomeka; script-security haina uhusiano nayo.
could not read Auth username from stdin inaonekana kama tatizo la uthibitishaji na sivyo. OpenVPN ilijaribu kuuliza jina la mtumiaji kwenye ingizo la kawaida, haikupata kitu kinachosomeka na ikasimama kabla ya kuwasiliana na seva. Akaunti inaweza kuwa halali kabisa; mchakato hauna mtu wa kumuuliza.
Kwa hiyo hatua ya kwanza yenye manufaa ni kuthibitisha mteja anasoma nini, si kujaribu muunganisho tena au kubadilisha mipangilio ya upande wa seva. Pitia ukaguzi ulio hapa chini kwa mpangilio na simama kwenye ule wa kwanza unaoshindikana.
Soma hitilafu kama kushindwa kwa ingizo la ndani
Wakati auth-user-pass inaonekana bila hoja ya faili, mteja anatarajia kuuliza. Katika shell inayoshirikiana ombi hilo linafanya kazi kwa sababu mchakato unamiliki terminal. Chini ya systemd, kazi ya cron au kontena, ingizo la kawaida kawaida huwa tupu, na usomaji hurudi mara moja na hitilafu unayoona.
Ujumbe pia unataja sehemu iliyoshindikana, jina la mtumiaji au neno la siri, ambayo inaonyesha usomaji ulifikia wapi. Jina la mtumiaji likikosekana inamaanisha mchakato haukuweza kusoma chochote kabisa. Neno la siri likikosekana baada ya jina la mtumiaji kufanikiwa inamaanisha mtiririko wa ingizo uliisha kati ya usomaji mbili, jambo la kawaida kwa faili iliyoandikwa nusu au bomba lililofungwa.
Thibitisha mtazamo wa mteja mwenyewe kabla ya kubadilisha kitu kingine chochote. Iendeshe mbele kwa usanidi uleule na mtumiaji yuleyule, na uangalie kama ombi linaonekana. Ikiwa linaonekana kwenye shell yako lakini si chini ya msimamizi wa huduma, tofauti ni chanzo cha ingizo, si vitambulisho. Ulinganisho wa haraka wa faili ya unit na mazingira ya shell yako kawaida huonyesha ipi inatoa terminal.
Ipe huduma chanzo cha vitambulisho kinachotumika
Chanzo kinachotumika kwa uendeshaji bila uangalizi ni faili ya vitambulisho inayopitishwa kama hoja kwa auth-user-pass. Faili inasomwa kama maandishi matupu: mstari wa kwanza ni jina la mtumiaji, wa pili ni neno la siri. Ielekeze kwa njia kamili kama /etc/openvpn/client/creds , ili saraka ya kazi ya akaunti ya huduma isiweze kubadilisha maana ya maagizo.
Ruhusa ni muhimu kama njia. Faili lazima isomeke na akaunti inayoendesha mteja na si na kila mtu mwingine, na inapaswa kumilikiwa na akaunti ya huduma au root pamoja na kikundi kinachojumuisha huduma. Kagua usomaji kama akaunti hiyo, bila kuchapisha yaliyomo.
Njia jamaa ni hali ya kushindwa kwa kimya. Wasifu unaweza kuwa kwenye saraka moja wakati systemd inaanzisha mchakato mahali pengine, kwa hiyo faili inayotatuliwa kwenye shell yako haitatuliwi kwa huduma. Hamishia vitambulisho mahali palipowekwa na vitaje kwa njia kamili. Kisha anzisha huduma mara moja na uthibitishe kuwa njia hiyo hiyo inatumika, badala ya kuamini mwonekano wa kihariri cha wasifu.
Ikiwa usambazaji unahitaji msimbo wa mara moja au changamoto nyingine ya mwingiliano, amua kama mtiririko wa kazi wa mteja unaiunga mkono bila uangalizi. Faili yenye neno la siri lisilobadilika haliwezi kujibu msimbo unaozunguka, na kujaribu tena ombi lisiloweza kujibiwa hakuongezi taarifa.
Kwa nini script-security haitasaidia
script-security inadhibiti kama mteja anaweza kuendesha skripti na kiasi gani anaweza kuzipitishia, ikiwa ni pamoja na kama neno la siri linaweza kutolewa kwa skripti kupitia kigeuzi cha mazingira. Haisemi chochote kuhusu jina la mtumiaji na neno la siri vinakotoka awali.
Kuipandisha hadi ngazi ya juu ni mwitikio wa kawaida kwa sababu ujumbe unataja Auth, lakini hubadilisha ruhusa za skripti badala ya chanzo cha ingizo, na hupanua kile mteja anachoweza kutekeleza. Ikiwa skripti saidizi ni sehemu ya muundo, rekebisha kwanza chanzo cha ingizo na uweke kiwango cha usalama kwa thamani ya chini kabisa inayohitajika na usambazaji.
Kiolesura cha usimamizi ni mbadala halali. Frontend inaweza kuunganisha nacho, kupokea ombi la vitambulisho na kujibu kwa jina la mtumiaji na neno la siri, ndivyo baadhi ya GUI hufanya kazi. Ikiwa unakitumia, kifunge kwa anwani ya ndani, kilinde kwa faili ya neno la siri la usimamizi na uweke kikomo nani anaweza kuunganisha, kwa sababu ni njia ya udhibiti kwa mteja.
Thibitisha hatua inayofuata baada ya mteja kusoma faili
Mara mteja anapoweza kusoma vitambulisho, kushindwa kunakofuata ni mabadilishano ya kweli na seva, na ujumbe wake una maana tofauti. Kushindwa kwa uthibitishaji katika hatua hiyo kunamaanisha seva ilikataa akaunti; jibu la changamoto linamaanisha seva inataka kipengele kingine. Vizichukulie kama matatizo mapya na si kama yale yale yaliyorudiwa.
Jaribu njia yote jinsi huduma itakavyoendesha: akaunti ileile, saraka ya kazi ileile, mazingira ya unit yale yale. Muunganisho unaofanya kazi tu unapoanzishwa kutoka shell yako ni ishara kwamba kigeuzi cha mazingira au terminal bado ni sehemu ya mtiririko.
Kisha weka siri mahali zinapostahili. Maneno ya siri katika hoja za mstari wa amri yanaonekana kwenye jedwali la michakato, na maneno ya siri katika matokeo ya utatuzi huishia kwenye tiketi. Tumia faili iliyolindwa au kiolesura cha usimamizi, weka kumbukumbu kwa kiwango kisichorudia vitambulisho, na badilisha faili wakati mtu yeyote mwenye ufikiaji anaondoka.
Orodha ya ukaguzi: njia kamili ya vitambulisho, inasomeka kama akaunti ya huduma, terminal haihitajiki, script-security imebaki kwenye kiwango cha chini, kiolesura cha usimamizi tu ikiwa kimefungwa na kuthibitishwa, na jibu la seva linalotokana na hilo linachukuliwa kama tukio tofauti.