Kuongeza backend ya pili ya uthibitishaji kwenye lango la VPN huhisi kama kuongeza kipengele cha pili. Kwa kawaida huongeza ukaguzi wa pili, ambao ni kitu kingine chenye njia tofauti za kushindwa. Ikiwa vyote viwili lazima vifaulu, kila kimoja kinathibitisha nini na nini hutokea wakati kimoja hakipatikani ni maamuzi matatu tofauti. Ukikosea, lango huwa kali zaidi kwenye onyesho na dhaifu zaidi wakati wa hitilafu.

Backend ya pili inathibitisha nini kwa kweli

Utafutaji wa akaunti ya ndani unathibitisha kuwa jina lipo kwenye hifadhidata na kwamba nenosiri liliendana nalo. Mabadilishano ya RADIUS yanathibitisha kuwa seva ya RADIUS ilirudisha Access-Accept kwa sifa zilizopokelewa. Hakuna kauli yoyote inayotaja aina ya kipengele, kwa sababu zote mbili zinathibitisha maarifa. Na mwongozo wa NIST wa utambulisho wa kidijitali unahesabu aina tofauti za vipengele na vithibitishaji vyao, si seva au vidokezo.

Kuna muundo halali ambapo mifumo yote miwili inashiriki. Huduma kuu inaweza kuthibitisha mtu wakati lango linakagua kwa uhuru ikiwa akaunti hiyo ina haki ya handaki hili. Hiyo ni idhini kando ya uthibitishaji, na kuiita vipengele viwili huchanganya ukaguzi wa sera na uthibitisho wa umiliki.

RADIUS inaweza kubeba kipengele cha pili halisi inaposimama mbele ya kitu kinachothibitisha kimoja, kama idhini ya kusukuma au tokeni ya maunzi. Bahasha haisemi ni vithibitishaji vipi mtumiaji alivyowasilisha, kwa hiyo soma sera ya backend, si lebo ya lango.

AND, OR na akiba ni bidhaa tofauti

Kabla ya kulinganisha utekelezaji, amua maana ya vyote viwili katika hitaji lako. Sera ya AND inahitaji ukaguzi kila uliotajwa upite, sera ya OR inakubali ule unaofanikiwa, na akiba hujaribu wa pili tu chini ya masharti ya kushindwa yaliyotajwa. Hizi tatu hufanya kinyume wakati wa hitilafu, na kwa kawaida ni moja tu ndiyo iliyokusudiwa na mapitio.

Kuongeza maingizo mawili ya backend kwenye skrini ya usanidi hakuonyeshi sera ipi bidhaa inatekeleza. Baadhi ya lango huunganisha programu-jalizi kwa mpangilio na husimama kwenye kataa la kwanza, ambalo ni AND tu wakati kila programu-jalizi inahitajika. Mengine huchukulia akaunti ya ndani kama ubatilishaji, ambayo hubadilisha hitilafu kuu kuwa mzunguko. Jibu la kuaminika ni jaribio hasi lililoandikwa kwa kila njia, lililotekelezwa dhidi ya build unayosambaza.

Akiba inastahili shaka zaidi, kwa sababu ipo ili kuendelea kufanya kazi wakati kitu kimevunjika. Akiba inayokubali nenosiri la ndani kila RADIUS isipofikiwa imebadilisha sera kuu kuwa mlango wa pili dhaifu zaidi.

Ukaguzi wa mara mbili wa OpenVPN ni kisa halisi

OpenVPN ya jamii 2.6 inahitaji cheti cha mteja na scripti auth-user-pass-verify iliyosanidiwa wakati vyote viwili vimewashwa. Hiyo ni AND iliyoandikwa kati ya uthibitisho wa cheti na scripti ya vitambulisho, na ni ukaguzi mbili kweli. Bado si aina mbili za vipengele kiotomatiki, kwa kuwa scripti inaweza kuthibitisha nenosiri tu.

Mchanganyiko pia huacha swali la uhusiano wazi. Cheti kwa kawaida hutambua kifaa wakati vitambulisho hutambua mtu, na hakuna kitu katika mtiririko chaguo-msingi kinachohitaji vyote viwili kumrejelea mhusika mmoja. Amua jozi zipi zinaruhusiwa, kisha tekeleza ramani hiyo ndani ya scripti ya uthibitisho au katika hatua ya idhini ya baadaye.

Hali ya cheti-pekee ni ukaguzi mmoja, unaoungwa mkono na ufunguo ambao unaweza au usilindwe na PIN. PIN hubadilisha kitambulisho hicho kuwa maarifa pamoja na umiliki tu ikiwa ufunguo hauwezi kutumika bila hiyo. Kuacha ufunguo huo bila usimbaji fiche kwenye diski hupunguza sehemu ya pili kuwa ruhusa ya faili.

Watengenezaji wa vifaa hujenga mabomba yao wenyewe, mara nyingi moduli ya PAM au programu-jalizi ya RADIUS nyuma ya konsoli ya wavuti. Tabia ya jamii ni rejea ya jinsi ukaguzi wa mara mbili unavyoonekana, si maelezo ya jinsi kifaa kinachanganya.

Kagua mchanganyiko kwenye lango lako

Soma usanidi kabla ya kuamini muhtasari wa konsoli. Mistari inayoamua sera ni hali ya cheti, scripti ya vitambulisho na mpangilio wa programu-jalizi.

grep -E 'verify-client-cert|auth-user-pass-verify|plugin' /etc/openvpn/server.conf
openssl x509 -in /etc/openvpn/pki/issued/client01.crt -noout -subject -serial
radtest alice 'wrong-password' 127.0.0.1 0 testing123

grep huonyesha ikiwa cheti kinahitajika na scripti ipi inaendesha baada yake, na mpangilio ni muhimu zaidi kuliko majina yanavyodokeza. Dump ya cheti hutoa utambulisho ambao lango litauona, ikiwa ni pamoja na CN na nambari ya mfululizo inayohitajika kwa ramani ya uhusiano. Jaribio la RADIUS ni kisa hasi: nenosiri lisilo sahihi lazima litoa Access-Reject, na sahihi Access-Accept. Ikiwa kitambulisho kilichokataliwa bado kinatoa kipindi, scripti haiko kwenye njia ya uthibitishaji kabisa.

Kisha endesha kisa cha hitilafu kwenye nakala ya maabara: simamisha backend inayohitajika na unganisha na vitambulisho halali. Matokeo yanayotarajiwa ni kataa, na kitu kingine chochote ni sera ya akiba ambayo hakuna aliyeelezea.

Andika hitaji kama kesi hasi

Hitaji linaloweza kutumika hutaja uthibitisho, akaunti zinazoruhusiwa kuziwasilisha na matokeo wakati mthibitishaji hayupo. Pia hueleza uoanishaji unaoruhusiwa kati ya utambulisho wa kifaa na utambulisho wa mtu. Hiyo ni sahihi zaidi kuliko majina ya bidhaa kwenye agizo la ununuzi, na inaweza kujaribiwa.

Ukubali unapaswa kujumuisha kataa nne: akaunti ya ndani isiyofaa, uthibitisho unaohitajika unaokosekana, kipengele cha pili batili na backend inayohitajika isiyofikika. Kila kataa linahitaji mstari wa kumbukumbu unaolitofautisha na mengine, vinginevyo tukio linalofuata huanza kwa kukisia. Rekodi ni sehemu ipi ilifanya uamuzi gani, kwa kuwa lango, seva ya RADIUS na saraka zitasingizana.

Endesha tena kataa nne baada ya mabadiliko yoyote ya programu-jalizi au firmware. Ni nafuu, na sera wanayolinda ni sehemu ambayo mshambuliaji huchunguza kwanza.

Makala zinazohusiana