Kikao cha kwanza kinashinda: kuzuia kuingia kwa OpenVPN kabla ya kufukuzwa
Kukataa kuingia baadaye si sawa na kubadilisha ile ya awali. Uamuzi lazima ufanyike kabla ya kufukuzwa kwa jina moja, na ukaguzi wa nafasi lazima uwe wa atomiki.
Sera inayoruhusu kikao kimoja kwa akaunti inaonekana imekwisha hadi kuingia kwa pili kunapofika. Matokeo mawili yanawezekana: mpya anachukua nafasi ya kikao kinachoendelea, au kikao kinachoendelea kinashikilia nafasi na mpya anakataliwa. Ya pili pekee ndiyo sera ya kikao cha kwanza kinashinda. Chaguo la mteja ambalo watu wengi hutumia huwezesha upatanisho na hivyo hakitoi matokeo haya.
Mikataba miwili imejificha nyuma ya mpangilio mmoja
Upatanisho ukizimwa, muunganisho wa pili unaobeba jina lile la cheti unaweza kuondoa kikao kinachoendelea. Kuwasha upatanisho huruhusu vikao kadhaa kwa wakati mmoja, kinyume cha kikomo. Hakuna hali yoyote iliyo sera ya kukataa, kwa hiyo uamuzi lazima ufanyike mahali pengine kabisa.
Andika mkataba kabla ya kutekeleza chochote: nani anakataliwa, ushahidi gani unatambua kikao kinachoendelea, na nini hutokea kikao kinapokufa bila kukatwa safi. Sera ambayo hakuna aliyeeleza hivyo haiwezi kujaribiwa baadaye.
Kufukuzwa hutokea kabla ya ndoano yako ya muunganisho
Katika njia ya msimbo ya seva 2.6, maandalizi ya mapema kwa mteja mpya huondoa vielelezo vilivyopo vya jina lile wakati upatanisho umezimwa. Uondoaji huo hutokea kabla ya mnyororo wa vidhibiti vya muunganisho kuanza. Kwa hiyo hati ya maandishi inayogundua nakala na kurudisha hitilafu inamkataa mpya baada ya kikao kinachoendelea kuwa kimetupwa tayari - matokeo hasa ambayo sera ilikusudia kuzuia. Mpangilio wa miito ya kurudi katika utekelezaji wa upstream ndio jibu pekee la kuaminika kwa ujenzi wako.
| Stage | Who can still refuse | Effect on the incumbent |
|---|---|---|
| Certificate check | Server trust configuration | None |
| Authentication decision | The authentication controller | None, because establishment has not run |
| Connect handler | A profile script | Already evicted in the same-name case |
| Post-establishment | Status tooling, monitoring | Both sessions already exist or one is gone |
Kuchunguza faili ya hali pia si lango. Majaribio mawili yanayofika pamoja yanaweza yote kuona nafasi tupu kabla ya moja kuthibitisha, na yote yanaendelea.
Hamisha uamuzi kwenye uthibitishaji
Kiolesura cha usimamizi kinaweza kuchukua uamuzi wa uthibitishaji baada ya uthibitisho wa cheti. Katika mpangilio huo kidhibiti si mwangalizi: hupokea kila kielelezo cha mteja kinachounganisha na kujibu kama kielelezo hicho kinaweza kuendelea. Kwa kuwa jibu huja kabla ya kuanzishwa, kukataa kunaliacha kikao kinachoendelea bila kuguswa. Kituo hicho hicho huripoti kukatwa, na hivyo kidhibiti hujua kwamba nafasi ilitolewa kwa halali.
Kila kielelezo kipya lazima kupita lango hilo, ikiwa ni pamoja na kuunganisha tena na njia yoyote inayothibitisha upya bila ombi. Lango ambalo vielelezo vingine havifikii kamwe halilindi chochote, na upungufu huo unabaki usionekana hadi mtu ajaribu njia ya kupita.
Tokeni zinaweza kupita kando ya lango
Mara tu tokeni inapotolewa, seva inaweza kuithibitisha ndani na kuruka uthibitishaji wa nje kwa muunganisho huo. Wito wa usimamizi haufanyiki kamwe, kwa hiyo ukaguzi wa nafasi uliotekelezwa pale pekee hauwoni kielelezo kipya. Tabia hiyo ni faraja kwa watumiaji na tundu kwa sera ya upatanisho. Fanya muunganisho uliothibitishwa kwa tokeni upite ukaguzi wenye mamlaka sawa, au zima njia ya tokeni wakati sera inahitaji uamuzi kwa kila muunganisho.
Usifidie hilo kwa kukubali kila tokeni bila sharti. Tokeni iliyoisha muda au isiyo halali lazima bado ishindwe, na lazima ishindwe kupitia sehemu ile ile ya uamuzi kama kila kitu kingine.
Funga uhifadhi kwa kielelezo, si kwa anwani
Anwani ni utambulisho hafifu: kuunganisha tena kutoka kompyuta ndogo ile ile kunaweza kuja kutoka anwani nyingine, na taarifa zilizonakiliwa zinaweza kuja kutoka anwani ile ile. Funga uhifadhi kwa kielelezo cha mteja ambacho seva inagawa, ili uthibitishaji upya wa kielelezo kilichokwisha kubaliwa utambulike kama mmiliki. Kitambulisho kipya cha kielelezo lazima kipate nafasi yake mwenyewe kupitia uamuzi wa kwanza kushinda, hata kinapowasilisha tokeni ile ile.
Toa uhifadhi unaomilikiwa na jaribio lililoshindwa pekee. Tukio la kukatwa lililochelewa kutoka jaribio la zamani halipaswi kufuta nafasi ya mmiliki mpya, ndiyo sababu utoaji hutaja kielelezo na si akaunti. Baada ya kidhibiti kuanzishwa upya, linganisha vikao vilivyo hai kabla ya kumpokea mtu yeyote, na tumia kanuni ile ile kwenye kila lango linalohudumia akaunti.
Amua kwa mbali jinsi nafasi iliyopitwa na wakati inavyorejeshwa. Msimamizi anahitaji njia iliyoandikwa ya kuisafisha, na njia hiyo haipaswi kufikiwa na mtumiaji anayebofya tu unganisha tena.
Jaribu jozi zinazojalisha: kuingia mara mbili karibu kwa wakati mmoja, kuunganisha tena baada ya kukatwa safi, uthibitishaji upya wa kikao kinachoendelea, mpya aliyekataliwa na kuanzishwa upya kwa kidhibiti. Katika kila kisa kikao kinachoendelea lazima kibaki kinatumika na mpya lazima akataliwe bila madhara kwa akaunti nyingine.